Разработка программного обеспечения – одно из самых передовых направлений человеческой деятельности. Неудивительно, что именно в этой среде находят применение самые свежие и оригинальные способы управления проектами. Книга бывшего боевого пилота, затем ставшего программистом, одного из создателей «Манифеста Agile» и принципов гибкого управления проектами Джеффа Сазерленда (написанная им совместно с сыном, Джей Джеем Сазерлендом, имя которого почему-то пропало из русского издания книги и упоминается только в разделе благодарностей) дает представление о современных методологиях, которые могут оказаться полезными и в работе, далекой от компьютерной индустрии.
Идеи оригинальных методов разработки программ начали появляться еще в конце 50-х годов, но настоящий прорыв наступил в 90-х, когда многим стало очевидно, что существующие тяжеловесные и излишне регламентированные подходы не позволяют качественно и быстро обеспечивать потребности заказчиков. В 2001 году эти методы были объединены в единую концепцию, получившую название «Гибкие методологии разработки» (в специальной литературе часто встречается также синонимичный термин «Agile-методологии»).
Манифест
В феврале 2001 года в курортном местечке Сноуберд в штате Юта в ходе встречи группы ИТ-специалистов был разработан программный документ, известный как «Манифест Agile» или «Манифест гибких методов разработки ПО». Манифест сводится к четырем утверждениям:
• личности и взаимодействие между ними важнее процессов и инструментария;
• работающий продукт важнее исчерпывающей документации по нему;
• сотрудничество с заказчиком важнее согласования деталей контракта;
• реакция на изменения важнее следования плану.
Этот манифест основан на 12 принципах, которые вполне универсальны.
1. Высшим приоритетом является удовлетворение заказчика путем своевременной и непрерывной поставки продукта, имеющего самостоятельную ценность.
2. Даже на поздних стадиях разработки приветствуется изменение требований к продукту, чтобы обеспечить заказчику конкурентное преимущество.
3. Выпускать работоспособную стадию продукта следует часто, каждые несколько недель, максимум – каждые несколько месяцев.
4. В течение всей работы над проектом представители бизнес-подразделений и разработчики должны постоянно сотрудничать.
5. Проекты следует выстраивать вокруг мотивированных личностей. Дайте им поддержку и условия, в которых они нуждаются, и доверьте делать их работу.
6. Наиболее практичным и эффективным методом обмена информацией как с командой, так и внутри команды является личная беседа лицом к лицу.
7. Главным показателем прогресса является работоспособный продукт.
8. Гибкие процессы способствуют устойчивому развитию. Все участники проекта, включая заказчика, должны быть способны постоянно поддерживать такой темп.
9. Непрерывное внимание к техническому совершенству и качеству проектирования увеличивает гибкость.
10. Чрезвычайно важна простота – искусство увеличивать долю работы, которую не придется делать.
11. Лучшие требования, решения и идеи возникают в самоорганизующихся командах.
12. Через регулярные интервалы команда должна анализировать возможности повышения своей эффективности и соответственно корректировать свой подход к работе.
Фактически речь идет о том, что разработку проектов следует разделить на этапы, результатом каждого из которых будет работоспособный продукт, который на каждой стадии постепенно расширяется, дополняется или совершенствуется. Иначе говоря, это развитие идеи MVP – минимально работоспособного продукта.
Основное отличие в том, что в случае «гибкого управления» минимально работоспособный продукт служит не для определения перспективности разработок, а для повышения эффективности взаимодействия с заказчиком. Он облегчает понимание истинного потенциала продукта, предоставляя возможность тестирования на самых ранних стадиях разработки, и позволяет своевременно вносить изменения в проект.
Одним из авторов манифеста и был программист Джефф Сазерленд. Разработанный им метод «гибкого управления проектами», известный как Scrum, сейчас завоевывает все большую популярность среди самых разных отраслей бизнеса.
Спортивный подход
Спортивный термин Scrum, обозначающий положение, при котором тесно стоящие регбисты, толкаясь, пытаются завладеть мячом, для описания разработки продуктов впервые применили Хиротака Такеучи и Икуджиро Нонака в своей статье в Harward Business Review в 1986 году.