Руководство по Agile · Основы Agile
Виды Agile-методологий: Scrum, Kanban, XP, Lean и другие
«Agile» — это семейство методов с общими ценностями, но разной структурой. Одни предписывают роли и церемонии; другие лишь добавляют несколько правил к тому, как вы уже работаете. В этом руководстве сравниваются самые распространённые из них и даётся помощь в выборе.
Главное
- Scrum использует спринты и роли; Kanban — поток и WIP-лимиты; Scrumban сочетает оба подхода.
- XP добавляет инженерные практики; Lean устраняет потери во всей системе.
- Выбирайте исходя из характера вашей работы, а затем осторожно адаптируйте.
Scrum
Работа ведётся циклами фиксированной длины — спринты — продолжительностью не более месяца. Владелец продукта упорядочивает бэклог, разработчики создают инкремент, соответствующий критериям готовности (Definition of Done), а Scrum-мастер помогает команде совершенствоваться. Лучше всего для: разработке продукта выделенной командой. См. Agile и Scrum.
Kanban
Kanban визуализирует работу на доске, ограничивает объём незавершённой работы (WIP) и непрерывно управляет потоком. Фиксированных итераций и предписанных ролей нет, поэтому можно начать с текущего процесса и улучшать его. Команды отслеживают время цикла и пропускную способность. Лучше всего для: поддержке, эксплуатации и любой команде, получающей постоянный поток запросов разного объёма.
Scrumban
Scrumban сочетает ритм планирования и обзоров Scrum с потоком и WIP-лимитами Kanban. Команды часто сохраняют регулярное планирование и ретроспективы, но вытягивают работу непрерывно, а не берут обязательство по фиксированному содержанию спринта. Лучше всего для: командам, переходящим со Scrum на Kanban, или командам, сочетающим плановую работу над функциями с незапланированными запросами.
Экстремальное программирование (XP)
XP сосредоточено на инженерных практиках, которые поддерживают высокое качество ПО при меняющихся требованиях: парное программирование, разработка через тестирование, непрерывная интеграция, небольшие релизы, рефакторинг, коллективное владение кодом и устойчивый темп. Лучше всего для: командам разработки ПО, стремящимся к техническому совершенству; часто сочетается со Scrum.
Lean
Lean пришёл из производства. Его цель — максимизировать ценность для клиента и устранять потери, такие как ожидание, передача работы, переделки и неиспользуемые функции. Бережливая разработка ПО, описанная Мэри и Томом Поппендик, адаптирует эти идеи к интеллектуальному труду. Лучше всего для: улучшение сквозного потока и принятия решений в масштабах организации.
Crystal, DSDM и FDD
- Crystal (Алистер Коберн) — семейство методов, адаптированных к размеру команды и критичности проекта, с акцентом на людях и коммуникации.
- DSDM (Dynamic Systems Development Method — метод разработки динамических систем) фиксирует сроки, стоимость и качество и варьирует содержание с помощью приоритизации MoSCoW: Must, Should, Could, Won't have this time (обязательно, желательно, возможно, не в этот раз). Подходит организациям, которым нужно больше формального руководства.
- FDD (Feature-Driven Development — разработка, управляемая функциями) планирует и создаёт продукт небольшими функциями, ценными для клиента, с короткой фазой моделирования в начале. Подходит более крупным командам разработки ПО.
Как выбрать
| Если ваша работа… | Рассмотрите |
|---|---|
| Представляет собой разработку нового продукта выделенной командой | Scrum |
| Поступает непрерывно и непредсказуемо | Kanban |
| Сочетает плановые функции и срочные запросы | Scrumban |
| Требуется высокое качество ПО при меняющихся требованиях | Практики XP со Scrum или Kanban |
| Требуется управление с фиксированными сроками | DSDM или гибридный подход |
| Охватывает много команд | A фреймворк масштабирования |
Частые вопросы
Какая Agile-методология самая популярная?
Самый распространённый — Scrum, часто в сочетании с практиками Kanban.
Могут ли команды сочетать Agile-методологии?
Да. Многие команды работают по Scrum с инженерными практиками XP и Kanban-досками. Главное, чтобы каждая практика служила ценностям Agile.
Сколько существует Agile-методологий?
Фиксированного числа нет. Самые известные — Scrum, Kanban, Scrumban, экстремальное программирование, Lean, Crystal, DSDM и Feature-Driven Development, а также фреймворки масштабирования, такие как SAFe и LeSS.
В чём разница между Agile-методологиями Scrum и Kanban?
Scrum работает спринтами фиксированной длины с определёнными ролями и событиями; Kanban управляет непрерывным потоком работы с WIP-лимитами, без обязательных ролей и итераций.
Что такое экстремальное программирование (XP) как Agile-методология?
Agile-метод, ориентированный на инженерные практики: парное программирование, разработку через тестирование, непрерывную интеграцию, рефакторинг и небольшие релизы. Часто сочетается со Scrum.
Что такое Lean среди Agile-методологий?
Lean пришёл из производства и стремится максимизировать ценность для клиента, устраняя потери, такие как ожидание, передачи работы и переделки. Бережливая разработка ПО применяет эти идеи к интеллектуальному труду.
Что такое DSDM как Agile-методология?
Dynamic Systems Development Method — метод, созданный британским консорциумом в 1994 году. Он фиксирует сроки и стоимость, позволяет содержанию варьироваться и использует приоритизацию MoSCoW.
Что такое Feature-Driven Development как Agile-методология?
Agile-метод, созданный Джеффом Де Лукой и Питером Коадом в 1997 году, при котором ПО планируется и создаётся небольшими функциями, ценными для клиента.
Какая Agile-методология лучше всего подходит новичкам?
С Kanban проще всего начать, потому что он опирается на ваш текущий процесс. Scrum даёт больше структуры, и некоторым новым командам это помогает.
Какая Agile-методология используется в крупных организациях?
Фреймворки масштабирования, такие как SAFe, LeSS, Scrum@Scale and Disciplined Agile coordinate many teams.
Как выбрать Agile-методологию?
Посмотрите, как поступает работа и как она поставляется. Плановая продуктовая работа выделенной команды подходит для Scrum; непредсказуемые запросы — для Kanban; проблемы с качеством ПО говорят о том, что стоит добавить практики XP.