О жизненных циклах и управлении ими.
Итак, в предыдущем посте мы разобрались с тем, что понятия "waterfall" как выстроенной системы управления проектом не существует. Как же тогда отличить Agile от всего-вот-этого остального? На помощь приходит концепция жизненных циклов.
Жизненный цикл проекта - это набор фаз, которые проект проходит от начала до закрытия. Ни больше, ни меньше. Количество этих фаз, их названия и характеристики зависят от руководителя проектов, а точнее, того, как будет организована работа в проекте. Как говорил один из моих тренеров, универсальные фазы для любого проекта - это "фаза 1", "фаза 2" и так далее =).
И вот уже внутри этого жизненного цикла проекта, существуют фазы, непосредственно связанные с разработкой нового продукта или услуги. Эти фазы (одна или несколько) формируют жизненный цикл разработки. А моделей такого жизненного цикла 5:
1️⃣Предиктивная модель. Именно ее имеют ввиду, когда говорят о waterfall, да-да. В фазах, подчиненных этой модели, ограничения определяются на ранних этапах, в дальнейшем изменения в базовые планы внимательно отслеживаются и управляются.
Ключевая фраза - "пообещали - сделаем".
Пример проекта или фазы - прототипирование. Когда мы имеем проблему и четкое понимание усилий для ее проработки, нет ничего зазорного спланировать разработку прототипа загодя. Из моей практики, подобные timeboxed фазы являются отличным началом любого большого проекта.
2️⃣Итеративная модель. Несмотря на то, что конечная цель ясна на ранних этапах, точные затраты по времени и деньга могут пересматриваться через определенные промежутки времени. Именно по этой модели работает множество команд, уверенных в собственном Скраме, тогда как они просто работают над годичным проектом месячными итерациями.
Ключевая фраза - Мы не стремимся сделать все идеально с первой попытки.
Пример проекта или фазы - миграция. К примеру, ваша компания мигрирует с одной СRM на другую. Если представить себе, что разные отделы или филиалы переходят на новую систему не в один присест, потому что это очень рискованно, то мы и получим ситуацию, когда содержание проекта известно достаточно заранее, но исполнение проекта разбивается на итерации.
3️⃣Инкрементальная модель. Ключевым отличием от итеративной модели является обязательное наличие инкремента - полностью готового фрагмента функциональности, который встраивается в существующий продукт.
Ключевая фраза - Мы не стремимся сделать все за один раз.
Пример проекта или фазы - обновление продукта. Переход, положим, от версии 1.1 к 1.2 продукта означает создание рабочей "надстройки" над предыдущей версией. Таким образом, мы не просто итерируем во времени, но и создаем рабочую функциональность end-to-end.
4️⃣Адаптивная модель, или Agile подход. Эта модель совмещает в себе ключевые выгоды итеративного и инкрементального подходов. Детали ограничений и обязательств обсуждаются и фиксируются на итерацию или несколько, допуская не только изменения в требованиях, но и гибкость высокоуровневых стратегий и видения финального результата. Ключевые факторы успеха - частые инкрементные поставки и плотное вовлечение заинтересованных лиц.
Ключевая фраза - Мы делаем лучшее из возможного на данный момент.
Пример проекта или фазы - первая версия нового продукта. В ситуации наличия гипотез, которые необходимо проверять как можно скорее, собирая обратную связь и адаптируя планы по развитию продукта на ходу, любая другая модель разработки чревата лишней работой без каких-либо выгод.
5️⃣Гибридная модель. Интересно, что в реальной жизни гораздо чаще встречаются гибридные комбинации первых четырех моделей. Пример такого подхода я приведу в одном из следующих постов более детально.
Надеюсь, эта информация поможет вам планировать ваши проекты более осознанно.
#beardthink #модели
Post #11
1.03K
- 👍 1