К книге
Антихрупкость в ITРаздел I. Управление IT-продуктами. Глава 4. Пять самых важных составляющих процесса выпуска успешных продуктов. Общий взгляд на процесс
19%
Раздел I. Управление IT-продуктами. Глава 4. Пять самых важных составляющих процесса выпуска успешных продуктов. Общий взгляд на процесс
29

Разработка ПО – это процесс создания знания. В начале работы неопределённость очень высока. Заказчик витает в облаках со своей идеей, разработчики неглубоко знают предметную область.

Мы много экспериментировали с разными методологиями – от жёстких до гибких, от Agile до Lean – и пришли вот к процессу, описанному на рис. 12.

Рис. 12. Схема работы со всеми инструментами и обратной связью

Вся работа должна быть визуализирована: от процесса и целей до мелких пожеланий и требований. Мы исходим из простого принципа: «You cannot improve what you cannot see».

Первое знакомство с проектом всегда начинаем с целей. Спрашиваем: «Как вы поймёте, что достигли успеха?», «Что для вас является успешным продуктом?», «По каким критериям вы оцените его успешность?» и так далее, пока цели не материализуются. Приоритезируем цели и строим пути их достижения.

Следующий шаг понимания будущей системы – Customer Journey Mapping (CJM), но не в классическом варианте, а в том, как его описал мой коллега Андрей Шапиро в статье «Схематизация опыта с CJM и Service Blueprint. Практика гибридной нотации»[21]. С помощью схем мы видим все пути входа, выхода, точки соприкосновения с нашей системой, артефакты, барьеры и взаимосвязи.

1. Дальше прорабатываем User Story Mapping (USM). После описания сценариев приоритезируем их и выбираем самые важные для ближайшего релиза. Никогда не пытаемся охватить всё разом: слона надо есть по частям.

2. Выбираем список User Story для ближайшего релиза, делим истории на итерации[22] и начинаем разработку. В каждую итерацию обязательно входят: планирование на неделю, ежедневные стендапы, демо результатов работы в конце недели. Другие практики из Agile и Lean используются в зависимости от потребностей проекта. Например, ретроспектива[23] может быть раз в месяц или каждую итерацию.

3. В любой момент заказчик и/или команда могут остановиться и вернуться к пересмотру Impact Map или обновлению User Story Map. Или вообще сделать Pivot[24], так как текущая гипотеза оказалась ошибочной. В общем, всё является гибким, обсуждаемым и изменяемым на пользу бизнес-целей.

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

5. После релиза крайне важно вернуться к Impact Map и понять, достигли мы целей или нет.

6. Дальше весь цикл повторяется заново.

Если выделить ключевые точки, то у нас получается:

1. Impact Map для понимания целей и гипотез.

2. Customer Journey Map – чтобы увидеть систему целиком со всеми взаимосвязями.

3. User Story Map – чтобы понять конкретные сценарии, которые помогут достичь бизнес-целей.

4. Разработка с циклами обратной связи, которая затрагивает написание кода, тестирование, IT-архитектуру и другие части создания ПО.

5. Анализ результата, возврат с Impact Map с пересмотром гипотез и целей.

Предыдущая главаГлава 29 из 149Следующая глава