Agile воспринимается большинством IT-специалистов как гибкая и богатая вариантами методология. Однако специалисты в изучении и развитии Agile утверждают, что Agile подходит далеко не для всех проектов. По признанию одного из них, Alistair Cockburn`а, самое сложное –определить будет ли Agile-методология эффективна именно для вашего проекта.
Сам Cockburn является одним из инициаторов движения за популяризацию Agile разработки. Он участвовал в написании Манифеста Agile (Manifesto for Agile Software Development) в 2001 году. Он же создал Crystal (семью методологий) методологию, поставив человеческий фактор во главу разработки программного обеспечения. Кроме того, Cockburn стал одним из основателей Интернационального Консорциума по Agile (International Consortium for Agile) в 2009 году.
«В целом, для любого проекта, на котором необходимость в 100% надежности превышает потребность в гибкости, лучше использовать траниционные методологии с жесткими требованиями, определенными до начала разработки и закрепленными за проектом,» — поделился Alistair Cockburn своими мыслями с Computerworld в блиц-интервью, которое давал после выступления перед Институтом IT-специалистов. К слову сказать, на самом вытуплении Alistair неоднокретно отмечал достоинства Agile-разработки перед жестими методологиями.
Говоря о том, как же сделать выбор между Agile и более жесткими подходами, Cockburn ссылается на график, в котором показывает, как соотносится количество людей, которых нужно будет координировать в процессе разработки с «количеством людей, который умрут, если что-то пойдет не так». Agile представляется Cockburn идеальным для проектов, расположенных в левом нижнем углу графика. «Для маленьких проектов, web-проектов, исследовательских проектов Agile работает превосходно и с легкостью даёт фору жестким методологиям», — утверждает Alistair. А вот для больших, социально значимых проектов, (например, связанных с космическими разработками или фармацевтикой), в которые вовлечено большое количество людей, Agile не пригоден. «В таких проектах не важно, может ли разработка быть гибкой, а значимо только то, чтобы программа была написана без ошибок и деффектов. Согласитесь, приоритет фразы «хей, я могу поменять требования» значительно ниже, чем фразы «я не хочу, чтобы кто-то умер», — говорит Cockburn.
По утверждению Cockburn, в некоторых видах разработки, например, в разработке мобильных приложений, гибкие методологии идеально работают в начале, когда идея еще не до конца сформирована и «предстоит свершить множество открытий». Но позже, когда продукт близок к релизу, программа нуждается в стабилизации для проведения исчерпывающего тестирования.
При этом до сегодняшнего дня никто в мире разработки ПО не определял рамки, когда же проект стоит перевести с Agile рельс на рельсы «жесткой разработки». В комментарии Cockburn утверждает, что важно не только знать когда и как использовать Agile, но и когда стоит с ним распрощаться.
Кроме того, Alistair согласился с Rob England (автором блога IT Skeptic), в том, что для «высокого полета Agile» необходим «человек эпохи Возражения» — талантливый сразу в нескольких сферах, инициативный и креативный, открытый для нового, стремящийся к лучшему.
При этом в своем основном докладе перед Институтом IT-специалистов Cockburn был настроен гораздо более оптимистично по отношению к Agile методологии, нежели по отношению к жесткой методологии. По его утверждению, объективно доказано, что гибкие методы более эффективны, чем старые походы.