Отправляясь на очередное рабочее совещание по квартальному agile-планированию, я поняла, что тоже работаю над долгосрочным проектом: строю дом. Создание программного обеспечения и строительство дома во многом похожи: это долгосрочные проекты, в которых нескольким командам необходимо согласовывать действия друг с другом, и к тому же (тут меня поймет любой домовладелец) они никогда не заканчиваются. Всегда может понадобиться внести улучшения, что-нибудь починить или поменять с учетом новых рыночных тенденций. Без плана вы рискуете столкнуться с потенциальными блокерами и вечно отодвигать дату въезда.
У разработки программного продукта есть одно выгодное отличие от строительства — возможность применения agile-методологии. Она позволяет нескольким командам быстро реагировать на изменения. Но как agile‑методология, в основе которой лежат частые и непрерывные поставки, может сосуществовать с долгосрочным планированием проекта? Можно ли создать реалистичный прогноз на длительный период, зная, что единственная постоянная — это изменение?
Как работают долгосрочное планирование и agile‑методология
Независимо от того, на каком этапе agile-пути вы находитесь, используете вы kanban, scrum или только начинаете практиковать agile-подход при любом масштабе, в процессе разработки долгосрочного стратегического видения вам все равно требуется управлять кадрами, объемами работы и сроками. При разработке программного обеспечения сложно создать концепцию развития с помощью изолированных инструментов вроде диаграмм Ганта, электронных таблиц и всевозможных сочетаний инструментов управления портфелем проектов (PPM). Либо, как это было в случае с моим подрядчиком, мешанина из электронных таблиц, писем и текстовых сообщений становится просто непригодной к использованию.
Прежде чем говорить о решениях для динамического прогнозирования, давайте рассмотрим шаги по созданию долгосрочного agile-плана на примере строительства дома.
Шаг 1. Начните с комплексного представления проекта.
Как при строительстве дома, так и при выпуске продукта нужно определить видение и выделить стратегические темы. Представьте, что темы — это основные направления деятельности в рамках организации. На чем вы хотите сосредоточиться в течение следующего квартала, шести месяцев, года? Чему вы хотите посвятить время и ресурсы? Производительность, взаимодействие с пользователем, безопасность, новые конкурентоспособные возможности (кто-нибудь хочет джакузи?) или сразу несколько пунктов из этого перечня?
Мне, конечно же, хотелось бы получить все сразу, но постоянно приходится иметь дело с двумя досадными реалиями: временем и деньгами. Определив свои приоритетные направления, вы сможете направить время и энергию на то, чтобы выполнить несколько вещей действительно хорошо.
Шаг 2. Определите самые важные составляющие.
Например, для обеспечения безопасности необходимо поставить новый фундамент, отвесные стены по периметру, массивные щитовые двери и окна с двойным остеклением.
Шаг 3. Разбейте работу на части.
Что именно необходимо сделать для установки новых надежных окон? Разбейте крупные участки работы на более мелкие, типа эпиков, которые помогут в квартальном agile-планировании. Это даст вам подробное представление обо всех шагах, необходимых для выполнения задуманного.
К примеру, необходимо снять старые окна, купить новые окна, поставить их и оформить откосы. Эти задачи войдут в бэклог.
Он поможет на следующем, самом важном этапе процесса планирования: оценке.
Шаг 4. Проведите оценку.
После того как работа разбита на куски, необходимо приблизительно оценить время выполнения и составить дорожную карту. Дорожная карта — это план работ по развитию продукта или решения с течением времени.Она необходима для понимания, когда и в каком порядке должны происходить крупные события.
Здесь имеет значение опыт работы подрядчика (или менеджеров по продукту и разработке). Просмотрев аналогичные уже выполненные работы, можно получить ясное представление о том, что нужно для завершения каждого эпика.
Поскольку для выполнения оценки требуются знания о прошлых работах в похожих эпиках, еще более важно, чтобы информация хранилась в одном месте. Это упрощает обращение к данным за прошлые периоды и позволяет выполнить более точную оценку. Мой подрядчик полагается на свой опыт, но что произойдет, если он что-то забудет или у другого подрядчика опыт будет другим?
Чуть позже вы передадите конечный вариант дорожной карты команде (разработчикам, установщикам окон и т. д.), и они укажут более точное время выполнения работ.
Шаг 5. Создайте умные релизы.
При использовании agile-методик разработки команды обычно поставляют работающую часть программного обеспечения в конце каждого спринта в виде релиза (или версии). Однако при долгосрочном планировании и составлении дорожной карты необходимо определить примерные точки релизов, чтобы вы могли прикинуть даты релизов в следующем квартале с помощью квартального agile-планирования. Такой точкой может быть «Завершение наружных работ по строительству дома», куда входят работы, связанные с установкой надежных окон, включая рамы, покраску, изоляцию и т. д.
Сгруппируйте рабочие задачи в бэклоге по функционалу, целесообразности или ценности для клиента в целом. И помните, релизы полностью определяются объемом работ, а не точными датами сдачи.
Шаг 6. Создайте дорожную карту.
Теперь у вас есть предварительный бэклог, релизы и команды с определенной производительностью. Традиционный треугольник планирования показывает, что план имеет три переменные: объем работы (что вы хотите сделать), время (сколько времени это займет) и ресурсы (кто может это сделать). У вас есть все необходимое для создания реалистичной дорожной карты. Наконец-то подрядчик сможет сообщить примерную дату фактического заселения!
Профессиональный совет. Чтобы создавать реалистичные дорожные карты для команд, принимать решения на основе имеющихся данных и постоянно информировать заинтересованные стороны о ходе работы в командах, можно воспользоваться таким инструментом, как хронологии в Jira.
Шаг 7. Поделитесь картой с командой и подтвердите ее.
Передайте свежую дорожную карту своей команде, а затем утвердите. Позвольте команде разбить эпики на истории и предоставить свои оценки продолжительности работ. У кровельщиков могут возникнуть конфликты с расписанием, у компании, поставляющей фундамент, может закончиться бетон, а на его заказ уйдет шесть недель. Учитывайте эти внешние факторы при проверке своих предположений, а также при расчете времени выполнения и шагов, необходимых для завершения эпиков. Кроме того, познакомьте со своей дорожной картой основных заинтересованных лиц, особенно если для продвижения вперед на определенных этапах потребуется их одобрение.
Шаг 8. Продолжайте оптимизировать.
Agile-методология, как и владение домом, не предполагает окончания проекта. Непрерывное подкрепление ценности с помощью пошаговых улучшений позволяет внедрять инновации и делать свой дом шикарным. Используйте дорожную карту для наполнения и оптимизации дальнейших дорожных карт. Получая отзывы от клиентов или членов своей семьи, продолжайте регулярно тестировать и постоянно улучшать проект.
Хотите создать дорожную карту, чтобы обозначить цели на перспективу? Такая возможность поддерживается функцией «Планы» в Jira и инструментом Jira Align. Посмотрите, чем они отличаются, и решите, что лучше подходит для вашего бизнеса.