Add author snippet
Как использовать Agile и Scrum
В реализации сложных проектов, как правило, участвует большое количество специалистов. Продуктивная работа в этом случае возможна при согласованных действиях всех ее участников. А для этого необходима определенная система управления процессом разработки, или Project Management. Задача менеджера проекта – регулирование, контроль и организация всего, что требуется для достижения цели в заданные сроки и в рамках бюджета. Какой-то одной универсальной системы, которая позволяла бы управлять любыми проектами, не существует. Но есть несколько достаточно эффективных подходов, методологий и стандартов, которые полезно иметь на вооружении руководителям компаний, заинтересованным в правильной организации труда своих сотрудников.
Содержание
Зачем внедрять гибкие технологии
Преимущества методологии
не нужно составлять длинное ТЗ. Достаточно сформировать первоначальный список задач с учетом пожеланий заказчика, в который впоследствии могут вноситься изменения;
возможность запустить проект, даже если закончились бюджетные средства. ПО будет рабочим, но с ограниченным функционалом;
меньше бюрократии. Нет необходимости согласовывать всю документацию. Можно приступать к работе, если руководителем одобрен один вопрос, а остальные задачи разрабатываются.
Начни с бэклога
Внедряй спринты
Распредели роли в команде
Product Owner. Владелец продукта является связующим звеном между разработчиками и пользователями. На эту роль обычно назначают представителя заказчика. Этот человек заинтересован в извлечении максимальной выгоды, представляя интересы как предпринимателя, так и конечного пользователя. Его задача – сформировать общую концепцию продукта с учетом пожеланий заказчиков и других лиц, заинтересованных в создании ПО. Он определяет задачи и расставляет приоритеты.
Scrum Master. Это главный организатор проекта. Он отвечает за выполнение текущих задач и соблюдение интересов команды. Скрам-мастер устраняет препятствия, которые мешают нормальной работе команды. При необходимости он занимается обучением, решает возникающие проблемы, а если что-то не получается, сообщает об этом руководству. Лучше, если Scrum Master будет выбран из числа участников проекта.
Команда разработки. Это специалисты, непосредственно участвующие в создании и тестировании кода. Важно при этом, чтобы:
минимум один из них понимал код, написанный остальными. Представителя команды, который лучше всех разбирается в проекте, назначают куратором;
все владели кодировкой и понимали, как работает ПО;
в процессе работы над проектом не происходило изменений в составе коллектива;
была возможность пригласить дизайнеров или аналитиков по мере необходимости на короткие тикеты;
была предусмотрена возможность работать удаленно.
Контролируй процессы
Лучший способ отслеживания и визуализации прогресса работы – использование диаграммы сгорания задач. На ней изображают две линии, одна из которых – запланированный график работ, другая – реальный. Сопоставляя эти линии, можно понять, требуются ли изменения в бэклоге, или можно работать в прежнем режиме. Для контроля эффективности команды разработчиков используют специальные Scrum-показатели:
Focus Factor – коэффициент, позволяющий увидеть, насколько реальное время работы отличается от запланированного. Т. е. фокус-фактор позволяет оценить степень собранности команды;
Velocity – производительность. Этот параметр помогает прогнозировать количество задач, которое можно будет поручить команде в следующем проекте, учитывая число готовых тикетов в прошлом.
Организуй работу команды
Демонстрируй проект
Изучи инструменты для контроля
Trello – хороший выбор для небольших проектов, который легко внедряется в рабочий процесс без долгой адаптации участников команды. Сервис позволяет быстро оценивать прогресс по нескольким направлениям в режиме реального времени и на одном экране;
Scrumban – удобный для маленьких и средних проектов, с разными досками, вложенными задачами и подзадачами;
Jira с множеством полезных функций, позволяющих легко собирать и упорядочивать все обнаруженные проблемы. Лучше всего подходит для больших и долгосрочных задач.
Как начать использовать Agile и Scrum на проекте
научиться составлять и вести бэклог, вносить в него изменения и выделять наиболее приоритетные задачи;
использовать спринты, которые повышают управляемость проектов, позволяют командам быстрее выпускать ПО заданной функциональности, обеспечивают большую гибкость и адаптированность к изменениям;
сформировать по возможности команду с неизменным составом. Выделить из нее специалиста на роль скрам-мастера;
использовать диаграммы сгорания задач для контроля процесса разработки;
научиться правильно организовывать работу. Ежедневно интересоваться состоянием дел всех участников команды, проводить ретроспективу, планировать время на тикет с запасом. При необходимости – обучать «чайников» (заниматься коучингом и менторингом);
практиковать демонстрацию проекта после каждого спринта;
выбрать наиболее удобный для себя инструмент контроля.