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 Гибридные жизненные циклы как способ обеспечения целевой пригодности
Команда проекта может создать гибридный жизненный цикл с учетом имеющихся в проекте рисков. Например, проект строительства кампуса может предусматривать реконструкцию и возведение нескольких зданий. При инкрементном подходе ресурсы были бы распределены так, чтобы завершение работ по некоторым зданиям произошло раньше, чем по другим, чтобы ускорить окупаемость инвестиций. Вероятно, то, что каждая отдельная поставка для данного конкретного здания выиграет в случае использования предиктивного жизненного цикла, достаточно хорошо известно.
Цель управления проектом состоит в создании бизнес-ценности наилучшим возможным способом при данных конкретных обстоятельствах. Не имеет значения, является ли этот способ agile или предиктивным. Вопрос, на который нужно ответить, состоит в следующем: «Как мы можем добиться наибольшего успеха?»
Требуется ли обратная связь в процессе создания командой ценности? Если «да», задачу поможет решить инкрементный подход. Есть ли необходимость в управлении рисками в ходе исследования идей? Если «да», задачу лучше решать с помощью итерационного подхода или подхода agile.
В случаях, когда организация не может поставить промежуточную ценность, она, вероятно, не сможет использовать подходы agile. И в этом нет ничего плохого: цель состоит не в том, чтобы использовать подходы agile сами по себе. Главное – выбрать жизненный цикл или комбинацию жизненных циклов, которые подходят для проекта, учитывают риски и культуру.
Суть подхода agile состоит в обеспечении частых поставок с учетом пожеланий заказчика. Такая поставка обеспечивает команде обратную связь. Команда использует обратную связь при разработке и пересмотре планов следующей части работы.
Государственное ведомство занималось проектом разработки приложения кредитного страхования. Задача этого многолетнего проекта состояла в замене устаревающей системы страхования новой, имеющей более эффективный пользовательский интерфейс и элементы системной интеграции. Основная часть проекта осуществлялась с использованием подхода agile на основе непрерывного поступления предложений и замечаний от бизнеса.
Расчеты ставок страховой премии были представлены Организацией экономического сотрудничества и развития (ОЭСР) в спецификации объемом 200 страниц. Было дано совершенно четкое разъяснение шагов, практически исключающее возможность ошибочного понимания (или подтверждения промежуточного результата
бизнесом), программирование которых произвела отдельная команда, работавшая над шагами расчета самостоятельно. Две команды совместно работали над необходимыми для расчета входными переменными и тем, как потреблять и выводить на дисплей выходные значения, но в остальном занимавшаяся расчетами команда работала преимущественно в предиктивном порядке.После завершения части работы, которую выполняла занимавшаяся расчетами команда, выходные данные расчета ставок премии были показаны на экранах и в отчетах. Затем бизнес-пользователи по каналам обратной связи сообщили свое мнение о внешнем виде и использовании этой информации. Обе команды работали параллельно, но у них практически не возникало необходимости во взаимодействии. То, что они физически находились рядом друг с другом, делало задачу отслеживания хода разработки проще, но, по большому счету, это были два отдельных подпроекта.
3.1.11 Гибридные жизненные циклы как переходная стратегия
Многие команды не в состоянии за один день переключиться на способы ведения работы на принципах agile. Людям, которые привыкли к предиктивной среде и успешно в ней работали раньше, методы agile кажутся чем-то совершенно иным. Чем больше организация и чем больше в ней подвижных частей, тем больше требуется времени для перехода. По этой причине имеет смысл планировать постепенный переход.
Постепенный переход связан с добавлением итеративных по характеру методов для улучшения обмена знаниями и согласованности между командами и заинтересованными сторонами. В дальнейшем можно подумать о включении инкрементных по характеру методов с целью ускорения поставки ценности и окупаемости инвестиций для спонсоров. Такое сочетание различных подходов считается гибридным подходом.
Испытайте эти новые методы на менее рискованном проекте с уровнем неопределенности от среднего до низкого. Потом, когда организация получит хороший результат при использовании гибридного подхода, попробуйте применить его в более сложных проектах, которые требуют включения большего числа этих методов. Это способ провести постепенный переход с использованием гибридной методики с учетом обстановки в организации и конкретных рисков, а также готовности команды принять и практически использовать эти изменения.
3.2 Сочетание подходов agile
Agile-команды редко ограничивают свою практику использованием только одного подхода agile. Контекст каждого проекта имеет свои особенности, например, различия в сочетании навыков и практического опыта членов команды, разный состав компонентов разрабатываемого продукта, а также ограничения, связанные с возрастом, масштабом, важностью, сложностью и нормативно-правовым регулированием в той среде, где ведется работа.
Фреймворки agile не адаптируются специально для данной команды. Команде может потребоваться адаптировать практики, чтобы обеспечить поставку ценности на регулярной основе. Команды часто применяют на практике собственную особую комбинацию методов agile, даже когда используют какой-то конкретный фреймворк в качестве отправной точки.
КОМБИНИРОВАНИЕ ПОДХОДОВ
В качестве примера адаптации фреймворков agile можно привести одну из наиболее распространенных комбинаций, которая включает согласованное использование скрам-фреймворка, метода «канбан» и элементов метода экстремального программирования (ХР). Скрам дает представление об использовании бэклога продукта, владельце продукта, скрам-мастере и кроссфункциональной команде разработки, включая планирование спринта, ежедневный скрам, анализ спринта и ретроспективные сессии спринта. Доска «канбан» помогает команде еще больше повысить свою результативность благодаря визуализации потока работы, обеспечивая хорошую наглядность препятствий и позволяя управлять потоком с помощью регулирования работы в рамках процесса. Кроме того, практики проектирования на основе ХР, такие как использование карточек историй (story cards), непрерывная интеграция, рефакторинг, автоматизированное тестирование и разработка на основе тестов еще больше повышают результативность работы agile-команды. Подводя итог, можно сказать, что комбинирование практик из этих разнообразных источников дает синергетический результат с более высокими показателями исполнения, чем у каждого компонента в отдельности.