Agile: все «за» и «против» гибкой методологии разработки ИТ-продуктов.

Международная ассоциация профессионалов аутсорсинга (IAOP) опубликовала результаты ежегодного рейтинга "The Global Outsourcing 100" (100 лучших аутсорсинговых компаний мира). В 2011 году четыре белорусские ИТ-компании вошли в данный рейтинг. Как им это удалось? Что явилось причиной такого успеха?

Одна из причин – это использование новых, эффективных технологий в сфере менеджмента. И Agile – одна из них.

В последнее гибкая методология разработки Agile расценивается едва ли не как панацея от всех бед, превращающая любой ИТ-проект в успешный. Многие западные заказчики отдают предпочтение компаниям, работающим по Agile. Оправдано ли это, и что можно назвать плюсами гибкой методологии разработки? 
 
 
В качестве особенностей Agile выступают:
  • разделение рисков,
  • предсказуемость,
  • регулярная обратная связь,
  • легкая и быстрая реакция на изменения
  • самоорганизация.
Говоря о разделении рисков, стоит отметить, что сегодня самые распространенные виды взаимодействия с заказчиком — это fixed-price контракты или контракты time & material. В первом случае все риски по проекту ложатся на подрядчиков со всеми вытекающими из этого последствиями. Согласно второй схеме заказчик оплачивает фактическую работу, что мало работает на конечный результат. 
 
Предсказуемость в гибкой методологии разработки подразумевает отказ от  долгосрочного планирования, а также  отсутствие цифр по срокам и стоимости продукта целиком.  Agile предлагает воспринимать команду как некий черный ящик, имеющий определенный объем входных данных и отведенное количество времени, для предоставления результата. В начале итерации команда оценивает задачу и заранее обязуется предоставить результат.
На конкретном практическом примере это означает:
Объем работ = 1000 единиц, производительность команды =  50 единиц за итерацию, цена итерации (сумма ставок  каждого из ее членов) =  100 у.е.  Отсюда: (1000/50)*100=2000$.  Это означает, что изменение объема работ на 50 пунктов влечет за собой изменение стоимости  конечного продукта на 100 у.е.
 
 Одна из главных проблем обратной связи — отсутствие взаимопонимания между заказчиком и подрядчиком по причине того, что первый не всегда может четко обозначить и сформулировать задачу. Потерять свою актуальность может даже очень точно документированный проект после  полугода  разработки. Желание же перестроить исходную конструкцию может  привести  к длительной переработке продукта. Кроме того, постоянная динамика бизнеса не предоставляет лишнего времени на детальное документирование по причине различности первоисточника анонса, а также изменчивости запросов пользователей.
 
Предложенная система подразумевает, что уже после первой итерации  функциональность будет не полностью завершенной,  и  заказчик сможет  вносить комментарии и поправки практически с самого старта проекта. Спустя две итерации для получения обратной связи с пользователями уже можно будет запускать бета версию продукта. Еще одна особенность – легкая и быстрая реакция на изменения, как функциональных требований, так и приоритетов.
 
Самоорганизация в гибкой методологии разработки позволяет уйти от излишней структуры менеджмента, потому что существует только представитель заказчика, представляющий интересы бизнеса. Кроме того, нет необходимости в  проверке каждого  участника: команда сама распределит  задачи и внутреннюю ответственность внутри, а также определенно будет гарантировать производительность труда и качество продукта . Наконец, самоорганизация здесь выступает в качестве мотивации команды.
 

Почему же не все компании стремятся переходить на Agile?

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

Подведем итоги.

Для того чтобы свести риск к минимуму, необходимо постепенно подготавливать почву для внедрения Аgile, как на уровне разработки так и на уровне руководства. Процесс внедрения Agile подразумевает проведение командообразующих  мероприятий и налаживание коммуникации между специалистами, посредством проведения тренингов и индивидуального и группового коучинга. Этот процесс может занять от 3 до 6 месяцев, но эффект в долгосрочной перспективе окажется стоящим. Затраты на проведение подобных мероприятий окупаются в 6 раз за первый год и имеют долгосрочный эффект при проведении поддерживающих командных сессий.
 
Agile – это технология, принципы которой используют Google, Microsoft и другие лидеры рынка и компании будущего.
Agile – это новые перспективы развития и эффективного управления.
Agile - это самомотивация и ответственность.