Непрерывная интеграция
Практика непрерывной интеграции заключается в использовании специального
программного обеспечения, которое получает свежую версию исходного кода проекта, и
производит сборку. В случае наличие проблем выводится и рассылается соответствующее
сообщение. Отмечу, что в сборку проекта обязательно входит запуск автоматических
тестов. Побочным продуктом являются разного рода отчеты о проекте, которые
позволяют проводить анализ внутреннего качества проекта.
Разработка через тестирование и разработка с тестами
Сначала обсудим более традиционную практику – разработку с тестами. При таком
подходе программист пишет код, а затем автоматизированные тесты для него для
проверки корректности.
Рефакторинг
Рефакторинг – это изменения исходного кода без изменения функциональности для
улучшения внутреннего качества (простота кода, гибкость архитектуры и так далее). Для
проведения рефакторинга желательно знать «запахи кода» и непосредственно приемы
рефакторинга.
- Найти “плохо пахнущий” код – •Слишком длинный метод
- Покрыть его тестами – Убедиться, что метод покрыт тестами
- Улучшить код – Применить рефакторинг “Extract Method”
- Запустить тесты – Проверить, что не внесено ошибок
Парное программирование
При парном программирование код пишется двумя разработчиками за одним
компьютером, причем один из разработчиков играет роль «пилота», а второй роль «штурмана»
Формальные инспекции кода
Формальные инспекции кода не относятся к экстремальному программированию, эту
практику занимает парное программирование. Но по статистике эта практика позволяет
находить наибольшее число дефектов.
Простота архитектуры и метафора системы
Поскольку мы работаем итеративно, нам важно иметь максимально простую архитектуру,
в которую будет возможно быстро и дешево внести изменения.
Коллективное владение кодом и стандарт кодирования
Коллективное владение кодом обеспечивает кроссфункциональность самих участников
команды и позволяет реализовывать это важное свойство Scrum. Важным
преимуществом такого подхода является быстрое распространение знаний между
участниками команды.
40-часовая рабочая неделя
Последней практикой, которую мы опишем, будет фиксированная 40-часовая рабочая
неделя. Это гарантия для команды от перегрузок, одного из вида потерь в бережливом
производстве. Надо очень четко понимать, что количество отработанных часов не равно
количеству сделанного функционала, как и в любой интеллектуальной и инженерной
деятельности.