Agile. Практическое руководство
Шрифт:
К жизненным циклам agile относятся те, в которых соблюдаются принципы Agile-манифеста. В частности, досрочная и непрерывная поставка имеющих ценность продуктов обеспечивает рост удовлетворенности заказчика. Кроме того, поставляемый инкрементно результат, который является функциональным и обладает ценностью, является главным показателем прогресса. В жизненных циклах agile в целях адаптации к условиям высоких темпов изменений и более частой поставки ценности проекта сочетаются итеративные и инкрементные подходы.
3.1.5 Фильтры приемлемости agile
Имеются различные модели оценки для определения вероятной пригодности или пробелов в использовании подходов agile. Эти модели служат для оценки
3.1.6 Характеристики гибридных жизненных циклов
Нет необходимости применять единый подход на протяжении всего проекта. В проектах для достижения конкретных целей часто сочетаются элементы разных жизненных циклов. Сочетание предиктивного, итеративного, инкрементного подходов и подхода agile является гибридным подходом.
На рис. 3–6 представлены базовые, чистые подходы к определенным типам проектов, которые в сочетании образуют гибридную модель. В ранних процессах используется жизненный цикл разработки agile, после которого следует предиктивная фаза развертывания. Этот подход может быть использован в условиях неопределенности, сложности и риска на этапе разработки проекта, который выигрывает от использования подхода agile; затем следует определенная, повторяемая фаза развертывания, условия которой предполагают применение предиктивного способа, возможно, другой командой. Примером такого подхода является разработка нового высокотехнологичного продукта, после которой следует этап его внедрения и обучения тысяч пользователей.
ПРИМЕР ПРОЕКТА С ГИБРИДНЫМ ЖИЗНЕННЫМ ЦИКЛОМ
Фармацевтической компании нужно было пройти длительную процедуру лицензирования в Управлении по санитарному надзору за качеством пищевых продуктов и медикаментов США (FDA), и она связала ее с окончанием процесса разработки, в результате чего полный жизненный цикл ее проекта выглядел, как показано на рис. 3–6. Хотя команды проекта проводили испытания препарата в режиме agile, им необходимо было представить его внешней группе для проведения процедуры лицензирования в FDA. Консультант помог включить этап процедуры лицензирования в FDA в процесс разработки agile с целью формирования более упорядоченного гибридного подхода.
В кратком изложении дело обстоит так: поскольку лицензирование в FDA требуется завершить в конце процесса разработки или повторять в случае любых изменений (причем даже самых незначительных), то эта процедура проводится только в самом конце в рамках отдельной фазы. Интеграция с использованием итеративного процесса оказалась безуспешной. Однако консультант создал несколько полезных кратких руководств относительно начала работы и протоколов испытаний, которые позволили сократить время процедуры лицензирования в FDA.
Рис. 3–6. Разработка agile с последующим предиктивным развертыванием
3.1.7 Комбинация подхода agile и предиктивного подхода
Еще одним вариантом может быть комбинирование подходов agile и предиктивных подходов на всем протяжении жизненного цикла.
Рис. 3–7. Комбинация подхода agile и предиктивного подхода с их одновременным использованием
На рис. 3–7 в одном и том же проекте используется комбинация предиктивного подхода и подхода agile. Допустим, команда осуществляет переход к agile инкрементным путем и использует некоторые подходы, например, короткие итерации, ежедневные летучки и ретроспективный анализ, однако в то же время другие аспекты проекта, такие как предварительная оценка, распределение работ и отслеживание хода работ осуществляются на основе предиктивных подходов.
Одновременное использование предиктивного подхода и подхода agile является распространенным сценарием. С точки зрения толкования называть такой подход «agile» было бы неверно, поскольку совершенно ясно, что он не включает в себя образ мышления, ценности и принципы agile в полном объеме. Однако было бы также неправильно называть его «предиктивным», так как это гибридный подход.
3.1.8 Преимущественно предиктивный подход с компонентами agile
На рис. 3–8 представлены небольшие элементы agile внутри преимущественно предиктивного проекта. В этом случае часть проекта, отличающаяся неопределенностью, сложностью или возможностью расползания содержания, исполняется на основе подхода agile, а управление его остальной частью – с использованием предиктивных подходов. В качестве примера такого подхода можно было бы привести проектную организацию, которая занимается строительством объекта с новым компонентом.
Рис. 3–8. Преимущественно предиктивный подход с компонентами agile
Хотя в основном проект может быть самым обычным и предсказуемым, подобно многим другим проектам по сооружению объектов, которые данная организация выполняла раньше, в данном проекте используется новый кровельный материал. Подрядчик может планировать для начала несколько пробных монтажных работ небольшого объема на земле с целью определить наилучший способ монтажа и заблаговременно выявить проблемы, пока есть время, чтобы найти их решение и усовершенствовать процессы инкрементно путем экспериментирования и адаптации.
3.1.9 Преимущественно подход agile с предиктивным компонентом
На рис. 3–9 представлен преимущественно подход agile с предиктивным компонентом. Этот подход может использоваться, когда определенный элемент не может быть изменен путем переговоров или исполнен с использованием подхода agile. В качестве примеров можно привести интеграцию внешнего компонента, разработанного другим производителем-поставщиком, который не может или не желает сотрудничать на основе совместной работы или инкрементным путем. После поставки компонента требуется разовая интеграция.
Рис. 3–9. Преимущественно подход agile с предиктивным компонентом
3.1.10 Гибридные жизненные циклы как способ обеспечения целевой пригодности
Команда проекта может создать гибридный жизненный цикл с учетом имеющихся в проекте рисков. Например, проект строительства кампуса может предусматривать реконструкцию и возведение нескольких зданий. При инкрементном подходе ресурсы были бы распределены так, чтобы завершение работ по некоторым зданиям произошло раньше, чем по другим, чтобы ускорить окупаемость инвестиций. Вероятно, то, что каждая отдельная поставка для данного конкретного здания выиграет в случае использования предиктивного жизненного цикла, достаточно хорошо известно.