![Page 1: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/1.jpg)
Введение в инженерные практики XP
Anton Katkov
![Page 2: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/2.jpg)
ЗНАКОМСТВО
![Page 3: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/3.jpg)
Знакомство
• Антон Катков• Дмитрий Паньшин• Евгений Хамухин• Александр Бындю
![Page 4: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/4.jpg)
![Page 5: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/5.jpg)
Вопрос
• Какие практики вы используете у себя?
![Page 6: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/6.jpg)
План
• Code Review & Pair Programming• Unit tests• Refactoring• Build Automation• Continuous Integration• Test Driven Development
![Page 7: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/7.jpg)
ОСНОВНЫЕ ПОНЯТИЯ
![Page 8: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/8.jpg)
Вопрос
• Какие метрики качества кода вы используете?
подсказка: большую часть времени код читается (порядка 80% и больше)
![Page 9: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/9.jpg)
Основная метрика для кода
![Page 10: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/10.jpg)
Запахи кода (Code smells)
• Code Duplication• Long method• Large class• Comments• …
Список запахов кода
![Page 11: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/11.jpg)
Ценности XP
• Simplicity• Communication• Feedback• Respect• Courage
![Page 12: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/12.jpg)
Чистый код, который работает
• «Clean code, that works»
![Page 13: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/13.jpg)
Правило бойскаута
• «Оставь место стоянки чище, чем оно было до твоего прихода»
![Page 14: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/14.jpg)
XP – идеальный процесс?
• Идеальный процесс VS процесс сходящийся к идеальному
![Page 15: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/15.jpg)
А ЗАЧЕМ НУЖНО XP?
![Page 16: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/16.jpg)
Вопрос
• Так зачем нужно eXtreame Programming?
![Page 17: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/17.jpg)
Существующие проблемы
• Изменяющиеся требования• Ограниченность сроков• Недовольство работой в команде
разработчиков• Стоимость исправления ошибок
![Page 18: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/18.jpg)
Стоимость изменений и ошибок
• Сколько будет стоить нахождение и исправление ошибки– Совершенную минуту назад?– Совершенную вчера?– Совершенную на прошлой неделе?– Совершенную в прошлом месяце?– Совершенную в прошлом году?
![Page 19: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/19.jpg)
Стоимость изменений для XP
![Page 20: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/20.jpg)
Наша цель на инженерном треке
• Дать твёрдый фундамент для дальнейшего развития навыков.
![Page 21: AgileCamp'11 Новосибирск - введение в инженерные практики](https://reader036.vdocuments.pub/reader036/viewer/2022081505/554f5ad2b4c905c8088b460a/html5/thumbnails/21.jpg)
НАША ИСТОРИЯ