реклама
разместить

Гибкий водопад: гибрид Agile и Waterfall в проектном управлении. Часть 2

Руководитель корпоративных практик ALP Group Александр Казеннов отвечает на вопросы по устройству описанной ранее гибридной системы управления проектами и объясняет, почему эффективный менеджер не делает ни из одной методологии культа.

Источник: <a href="https://api.vc.ru/v2.8/redirect?to=https%3A%2F%2Fwww.freepik.com%2Fauthor%2Ffreepik&postId=827002" rel="nofollow noreferrer noopener" target="_blank">Freepik</a>
Источник: Freepik

Предыстория: полгода назад я рассказал на VC про устройство гибридной цифровой системы Agile+Waterfall — мы придумали и разработали ее уже много лет назад для упрощения проектного управления в своей компании. Один из комментариев под материалом содержал в себе целый список уточняющих вопросов:

«Тезисно согласен. Но тема имплементации Agile слабо раскрыта, только в последнем абзаце становится хоть немного понятно.

Гибкие методологии позволяют выпускать быстрые инкременты продукта, при этом не заморачиваясь с документацией (в том числе и с детальным ТЗ). В ситуации интегратора мне совершенно непонятно, как это происходит. Гигантская система и с плохой документацией? Быстрые релизы, когда куча взаимосвязей и распределение "в масштабах всей страны"?

Как ведется работа с заказчиками? То, что они требования формируют и прорабатывают уже на ходу — это рассказано в последнем абзаце. Но не ломает ли это "водопад"? Как они понимают, что надо изменить, если они не получили предыдущего релиза? Или они не имеют шанса на HADI/переделку? Как их держать "в узде"?

Как происходит синхронизация между командами/узлами, когда доработка требуется во многих местах? Одна команда выдаст результат через два спринта, другая сможет взять в спринт только через 5 следующих спринтов. Демо клиент увидит через 6 месяцев?

Нужна еще одна статья)»

Владимир Кича

Владимир прав — развернутый ответ достоин отдельной статьи. А я наконец-то добрался до этой задачи в бэклоге! :)

1. Система без документации?

Начнем с риска появления «гигантской системы с плохой документацией». При создании большой (да и не только большой) корпоративной системы документация в любом случае очень важна — как для службы эксплуатации и службы поддержки, так и для службы разработки. Все мы люди, нам нужен обмен информацией, и документация — один из лучших и выверенных годами способов эту информацию по системе предоставлять. Поэтому подготовка такой документации — и я сейчас говорю о полном спектре (инструкции администраторов, инструкции пользователей, паспорта систем, FAQs по работе с нештатными ситуациями и т. д.) — становится просто частью бэклога.

Дальше, в зависимости от темпа и предпочтений команды, документация разрабатывается либо инкрементально в пределах двухнедельных спринтов, либо актуализируется, например, раз в квартал или по завершении работы над каким-то крупным блоком, который был запланирован в рамках нашего каскадного плана. Часто выбор сценария зависит от изменчивости разрабатываемого блока в рамках наших инкрементов: если мы понимаем, что в пределах спринтов мы не планируем менять одни и те же функции, тогда имеет смысл дописывать документацию про этот блок прямо по ходу спринта, чтобы потом к нему не возвращаться; если же мы понимаем, что работаем в данный момент над какой-то экспериментальной функцией, то тогда логично будет описать ее в документации только по окончании разработки.

2. Быстрые релизы в масштабах всей страны?

Здесь стоит прояснить такой момент: никто не говорит о том, что в рамках описываемого гибридного подхода релизы будут выпускаться прямо на продуктив, итерационно и быстро. Обычно работа строится следующим образом: для проверки теории выпускаются какие-то технические релизы, а вот уже для продуктива выпускается выверенный продукт, и всё это делается как раз таки в рамках спринтов. Серьезные релизы, которые пойдут в продуктив, быстрыми назвать довольно сложно — в лучшем случае, они выпускаются раз в месяц.

3. Не ломают ли новые требования «водопад»?

Если слепо следовать гибким методологиям, то «водопад» и впрямь рискует сломаться — требования разрастаются, и весь наш флагманский план-график рушится как карточный домик. Чтобы этого не происходило, на стороне и команды исполнителя, и команды заказчика заводится функциональная роль, которая следит за тем, чтобы удерживать проект в его границах и в его больших сроках. Чаще всего, такие функции возлагают либо на руководителей проектов, либо на владельцев систем, либо на тех же методологов, которые знакомы с изначальными целями проекта. Так или иначе, такие люди хорошо погружены как в предметную область, которую они автоматизируют, так и в какие-то регламентные вещи внутри заказчика и исполнителя, что позволяет им четко понимать, к какому эффекту бабочки может привести то или иное новое требование.

О каком эффекте бабочки идет речь? Нередко бывает, что заказчик может прийти с запросом на добавление определенного признака в нужном ему документе. Формально, на его добавление уйдет минут 15. Вот только затем нужно будет подготовить для службы безопасности аналитическую записку в формате ЧТЗ. Потом может оказаться, что новый признак влияет на смежные системы, и тогда придется согласовывать его с ними, а затем выполнять параллельную или последовательную разработку, затем ее тестировать, затем опять дожидаться, пока безопасники проверят код и разрешат выпустить соответствующие релизы. Словом, одна маленькая доработка может породить кучу взаимодействий, которые необходимо выполнить для того, чтобы доработка вышла на продуктив.

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

4. Имеет ли заказчик шанс на итерационную переделку и эксперименты?

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

5. Как происходит синхронизация между командами, когда доработка требуется во многих местах?

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

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

В идеале, по мере накопления такого опыта взаимодействия вводятся четкие правила о том, каким образом мы меняем данные и метаданные для межсистемного взаимодействия, потому что во многих случаях доработки можно вносить, просто это требуется сделать таким образом, чтобы не «положить» все обмены и межсистемные взаимодействия и не ухудшить качество данных для смежных систем. Если определить набор правил, то дорабатывать свою систему можно спокойно, не дожидаясь от смежных систем вердикта и не ставя важную для бизнеса разработку на паузу, из-за которой потом придется «в пожаре» допиливать свою систему в последний момент (на рынке корпоративных разработок такое происходит довольно часто).

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

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

Не гибрид, а здравый смысл

Отвечая на присланные вопросы, я задумался над тем, что мне не очень нравится всё время четко разграничивать Agile- и Waterfall-подходы и маркировать каждое управленческое решение как принадлежащее к инструментам той или иной методологии. Любой проект — и я сейчас даже не говорю конкретно о разработке — вообще всё, что мы делаем в жизни, мы делаем ради достижения какого-то результата, ради создания ценности. Этот результат может быть достигнут через какие-то шаги, последовательность действий — и вот у нас уже естественным образом возникает «водопад». А дальше в этой последовательности действий могут быть зоны неопределенности — элемент НИОКРа, который всегда решается через гибкие методологии, потому что это удобно. Тогда нам всего лишь нужно заложить риск НИОКРа в наш главный план-график, и действовать по нему. Ну а параллельно с этим, нам всем в принципе как команде полезно поддерживать обратную связь, чтобы четко понимать, что мы движемся к цели правильно, удобно и рационально — и тогда мы снова возвращаемся к инструментам оперативной взаимосвязи из гибких методологий.

В конце концов, для себя я пришел к пониманию, что в реальности не существует (или, по крайней мере, не должно существовать) разделения на Waterfall и Agile — это всё проектное управление, просто на разных стадиях проекта. Стадия инициации — это Waterfall. Стадия работы над проектом — это Agile с оглядкой на Waterfall. Нужно ли всё время проговаривать, на какую методологию мы опираемся в конкретный момент времени, — на мой взгляд, нет.

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

1010
реклама
разместить
2 комментария

Водопад проверенная техника, главное иногда её на паузу поставить, превратить в ручеёк

1

Отличная метафора :)

Зато всего $7 в месяц: китаянка ночует в уборной на работе, чтобы накопить на машину или собственное жильё

Свой «быт» показывает в Douyin — китайской версии TikTok.

Зато всего $7 в месяц: китаянка ночует в уборной на работе, чтобы накопить на машину или собственное жильё
2929
2626
22
11
Молодец! Целеустремлённая, у неё все получится
Чистый убыток «Почты России» вырос по итогам 2024 года в 2,9 раза — до 20,6 млрд рублей

Выручка составила 219 млрд рублей — на 3,3% больше год к году.

Источник фото: «Известия»
1515
33
В мире: бизнесы рапортуют о росте прибыли, чтобы привлечь инвестиции. В России: бизнесы рапортуют о росте убытков, чтобы привлечь субсидии и прямые трансферты из бюджета.
Прокуратура попросила приговорить бывшего замглавы Минцифры Максима Паршина к 13 годам колонии строгого режима по обвинению в коррупции

И назначить штраф в 315 млн рублей.

Максим Паршин в зале суда, 2024 год. Фото «РИА Новости» 
1414
88
Вор на воре сидит и вором погоняет!
Четыре года я была посредником на Садоводе, вышла на прибыль в 200 000 руб в месяц и бросила это дело

Мой рабочий день начинался в 4 утра, а на дорогу от дома до рынка и обратно тратила почти 6 часов — история о том, как я была посредником на Садоводе и почему это адский и неблагодарный труд...

Четыре года я была посредником на Садоводе, вышла на прибыль в 200 000 руб в месяц и бросила это дело
На берегу моря с ноутбуком: Правда о жизни цифрового кочевника, которую тебе не расскажут

Вы видели этих счастливых людей в Instagram. Загорелые, с ноутбуком на коленях, на фоне побережья Бали или террасы с видом на Альпы. Подпись гласит: "Понедельник в офисе 🌴 #remotework #digitalnomad". И у вас, сидящего в опостылевшем офисе или квартире в спальном районе, подкатывает ком зависти к горлу...

На берегу моря с ноутбуком: Правда о жизни цифрового кочевника, которую тебе не расскажут
66
Как я сел в "тюрьму", а после выхода стал юристом и заработал 4.000.000 рублей

После выхода из тюрьмы я бы никогда не подумал, что захочу помогать гражданам отстаивать свои права. Благо я узнал про каналы, которые дали мне возможность зарабатывать 500к+/месяц.

Как я сел в "тюрьму", а после выхода стал юристом и заработал 4.000.000 рублей
1212
H&M создаст ИИ-двойников 30 своих моделей

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

Модель Матильда Гварлиани (слева) и её цифровой двойник. Источник: презентация H&amp;M
77
44
Зачем договариваться с живыми моделями, когда можно сгенерировать несуществующих и забить на юридичское оформление?
реклама
разместить
Глава OpenAI: аудитория ChatGPT «увеличилась на 1 млн пользователей за последний час»

Уникальные это пользователи или в том числе владельцы нескольких аккаунтов — Сэм Альтман не уточнил.

Молодой Стив Джобс в стиле Ghibli
33
Как я набрал миллион подписчиков на Ютубе. История одного преподавателя

Привет. Вы меня никогда раньше не видели. Как и один миллион человек, которые регулярно смотрят видео на Простой экономике – канале, который я начал вести пять лет назад. Эти пять лет я жил две жизни.

Как я набрал миллион подписчиков на Ютубе. История одного преподавателя
7070
11
11