Правила
Планирование
- User Stories описаны.
- В результате планирования релизов создаётся график релизов.
- Выпускаются частые и небольшие релизы.
- Проект поделен на итерации.
- В начале каждой итерации выполняется планирование итерации.
Управление
- У команды есть выделенное свободное место для работы.
- Установлен поддерживаемый темп работы.
- Каждый день начинается с stand up встречи.
- Project Velocity измеряется регулярно.
- Люди ротируются.
- Когда процесс ломается, он исправляется.
Проектирование
- Простота.
- Выбрана метафора системы.
- При проектировании используются CRC-карты.
- Экспериментальные решения используются для снижения рисков.
- Функционал не добавляется раньше времени.
- Рефакторинг производится при первой возможности.
Написание кода
- Заказчик всегда доступен.
- Код соответствует установленным стандартам.
- Сначала пишутся unit-тесты.
- Production код производится в парах.
- Только одна пара интегрирует код в один момент времени.
- Регулярные интеграции.
- Настроен выделенный сервер для интеграций.
- Внедрено коллективное владение кодом.
Тестирование
- Весь код покрыт unit-тестами.
- Весь код проходит unit-тесты перед выпуском релиза.
- Если найден баг, для него должны быть написаны unit-тесты.
- Приёмочные тесты проводятся часто, результаты публикуются.