Чтение онлайн

ЖАНРЫ

Agile. Практическое руководство
Шрифт:

По ходу исполнения проекта команда может отклоняться от изначальных представлений. Команда может управлять отклонениями, так как она осуществляет поставку в более короткие сроки. Не так важна степень изменений и вариаций, как поставка клиентам ценности до окончания проекта.

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

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

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

Завершенность и поставка являются субъективными понятиями. Команде может требоваться обратная связь в отношении прототипа, после чего она может принять решение о поставке минимально приемлемого продукта (minimum viable product, MVP) части заказчиков. Обратная связь с заказчиками помогает команде узнать, что из свойств конечного готового продукта ей необходимо обеспечить в последующих поставках.

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

3.1.4 Характеристики жизненных циклов agile

В среде agile команда ожидает, что в требованиях будут происходить изменения. Итеративные и инкрементные подходы обеспечивают обратную связь, которая позволяет лучше планировать следующую часть проекта. Однако в проектах agile инкрементная поставка выявляет скрытые или неправильно понятые требования. На рис. 3–5 наглядно представлены два возможных способа осуществления инкрементной поставки так, чтобы проект был согласован с потребностями заказчика и при необходимости мог быть адаптирован.

Рис. 3–5. Итерационный и потоковый жизненные циклы agile

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

В потоковом agile команда берет для работы свойства из бэклога в зависимости от своей ресурсной возможности начать работу, а не по основанному на итерациях расписанию. Команда определяет для себя поток работ с помощью столбцов доски задач и управляет незавершенными работами в каждом столбце. Для завершения работы по каждому свойству может требоваться разное время. Команды сохраняют небольшой объем незавершенных работ, чтобы было легче определить проблемы на раннем этапе и сократить объем доработок при возникновении необходимости внести изменения. Поскольку для определения точек планирования и контроля уже не используются итерации, команда и заинтересованные стороны со стороны бизнеса определяют наиболее целесообразное расписание для планирования, анализа продукта и ретроспективного анализа.

К жизненным циклам agile относятся те, в которых соблюдаются принципы Agile-манифеста. В частности, досрочная и непрерывная поставка имеющих ценность продуктов обеспечивает рост удовлетворенности заказчика. Кроме того, поставляемый инкрементно результат, который является функциональным и обладает ценностью, является главным показателем прогресса. В жизненных циклах agile в целях адаптации к условиям высоких темпов изменений и более частой поставки ценности проекта сочетаются итеративные и инкрементные подходы.

3.1.5 Фильтры приемлемости agile

Имеются различные модели оценки для определения вероятной пригодности или пробелов в использовании подходов agile. Эти

модели служат для оценки факторов проекта и организации, связанных с внедрением и пригодностью, и затем дают оценочные баллы, показывающие области согласованности или потенциальных рисков. В приложении Х3 приводится сводная информация о получивших распространение моделях оценки, которые можно использовать в качестве фильтров приемлемости 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 в полном объеме. Однако было бы также неправильно называть его «предиктивным», так как это гибридный подход.

Поделиться с друзьями: