Похоже, но не agile

Вспоминал недавно один из своих первых проектов:
- Маленькая команда - два человека
- Локальные заказчики доступные практически в любое время
- Последняя стабильная версия всегда у них под рукой
- Регулярные демонстрации достижений последней недели или двух
- Открытое обсуждение новых фич, быстрая смена курса

Звучит довольно по-аджальному.
В прочем такого ощущения не возникает при воспоминаниях об этом проекте.

Попробую понять в чем же дело:

1. Несмотря на то, что объем работы и функциональность не были зафиксированы в каких-либо спецификациях (кроме как в одностраничном документе-видении проекта), и процесс был построен так, что новые пожелания заказчика могли быть учтены практически в любой фазе проекта, контракт с командой разработчиков был типа "фиксированное время, фиксированные бюджет".

Что выходит? Выходит, что вся открытость процесса определения и выяснения требований шла наперерез интересам команды. Последние пару месяцев проекта команда вообще не получала зарплаты, так как в бюджете были прописаны только первые 10 месяцев работы, лишь по принятию проекта команде полагался гонорар (она его получила, надо заметить).

2. Несмотря на короткие циклы разработки (от недели до двух) в проекте не было четкой стратегии и планов ближайшего релиза. Все двигалось в бесконечном маятнике от демонстрации к демонстрации.

Выходит, что проект руководился не на основании приоритезированного списке требований, где приоритеты зависят от оценок объема работы, данных командой. Проект же двигался короткими перебежками без согласованных целей и критериев готовности.

3. В течение 10 месяцев разработки проект часто демонстрировался спонсорам проекта для обсуждения состояние проекта, качества, выяснение и открытия скрытых требований. За это время проект ни разу не был показан потенциальным пользователям.

Таким образом все решения по функциональности, интерфейсу, производительности принимались на основании предположений. При том, что эта компания не была чисто development-ориентированной и не имела опыта ведения подобных проектов. Более того ближайшие конкуренты на то время тоже вели подобные разработки, так что доступа к их продуктам для анализа схожих решений не было никакого.

Получается, что все предположения о нуждах пользователей не имели под собой четкого грунта и могли быть также правдивы как и ошибочны.
-----------

То, что в первом приближении может очень походить на agile на самом деле может быть просто хаосом и способом траты денег, не имеющих четких целей и демотивирующих проектную команду.

Последний год-полтора использование термина agile стало мощной рекрутинговой стратегией. Объявления о поиске программистов так и хлещут agile терминологией. Будьте бдительны - пойдите на интервью, поговорите с непосредственным лидом проекта, зайдите в проектную комнату (если таковая вообще имеется!), поговорите с будущими коллегами, расспросите про заказчиков, про процесс разработки, узнайте, когда последний раз продукт показывался пользователям и есть ли в проекте какая-то информация об этом, попросите показать вам план релиза, над которым работает команда в настоящий момент. Проведите как минимум полчаса в проектной обстановке, следите за атмосферой, проблемами и вопросами, которые обсуждают члены команды - имеют ли они общие цели, знают ли они над чем следует работать в настоящий момент.

Не торопитесь делать скоропостижные выводы.