Исследование показало, что вероятность провала программных проектов, использующих Agile-методики, на 268% выше, чем у тех, кто их не использует.
Хотя исследование, проведенное по заказу консалтинговой компании Engprax, можно рассматривать как тонко завуалированную рекламу методологии Impact Engineering, оно усиливает подозрения в том, что Agile-манифест может оказаться не совсем тем, за что его выдают.
Исследование проводилось с 3 по 7 мая, в нем приняли участие 600 инженеров-программистов (250 в Великобритании и 350 в США). Среди статистических данных выделяется тот факт, что вероятность успеха проектов с четкими требованиями, задокументированными до начала разработки, была на 97% выше. Для сравнения, один из четырех столпов Манифеста Agile — «Работающее программное обеспечение важнее исчерпывающей документации».
Согласно исследованию, составление спецификации до начала разработки может привести к 50% увеличению успеха, а обеспечение точности требований по отношению к реальной проблеме — к 57%.
Вероятность успеха проектов, в которых инженеры чувствовали свободу в обсуждении и решении проблем, была на 87% выше.
Доктор Джунаде Али, автор Impact Engineering, сказал: «Учитывая, что 65% проектов, использующих Agile-практики, не были сданы в срок, настало время поставить под сомнение культовость Agile».
«Наше исследование показало, что главное, когда речь идет о поставке высококачественного программного обеспечения в срок и в рамках бюджета, — это надежный процесс разработки требований и наличие психологической безопасности для обсуждения и решения проблем, когда они возникают, а также принятие мер по предотвращению выгорания разработчиков».
Практики Agile подвергаются критике на протяжении многих лет. Но зачастую проблемы кроются вовсе не в этой методологии разработки. К тому же легко забыть, что у других методологий есть свои недостатки. Например, Водопады, несмотря на простоту понимания и управления, могут быть медленным и дорогостоящим, а изменения в них сложно реализовать.
Однако, хотя у Agile-манифеста и есть свои проблемы, они связаны скорее с его реализацией, чем с самими принципами. «Нам не нужна команда тестирования, потому что мы Agile» — это просто отказ от ответственности в целях экономии.
Подчеркивая необходимость понимания требований до начала разработки, исследование прокладывает путь между приверженцами Agile и сторонниками линейной разработки.