Agile Scrum на проекте с удалённой командой разработчиков

IT-копирайтер
Время чтения: 7 минут
Сегодня Scrum является одной из самых востребованных методологий Agile разработки. Её высокая популярность обусловлена относительно простым подходом к организации процесса разработки ПО. Scrum-методология требует чёткого определения производственных и временных ресурсов. Настраивает команду проекта на самоорганизацию. Помогает сдавать работы строго поэтапно.
Проще говоря, Scrum превосходно показывает себя в качестве методологии управления проектами. Однако нередко представители бизнеса избегают использовать этот подход, поскольку ставят под сомнение его совместимость с привлечением удаленных разработчиков.
Успешно выполнить проект по методологии Scrum можно и с удалённой командой разработчиков. Главное, придерживаться определенных принципов работы. Мы посоветовались с нашей Scrum-командой, с которой работали над разработкой веб-приложений и мобильных проектов, и собрали 5 основных рекомендаций. Надеемся, что наши советы помогут вам преуспеть в реализации Scrum проектов с участием аутсорс-специалистов.
Как концепция Scrum воплощается в проектах с удалённой командой разработчиков
Мы уже рассказывали о том, как успешно вести Agile проекты с удалённой командой. Scrum имеет непосредственное отношение к гибкой разработке, поэтому основы удалённой работы Agile актуальны и для него.
Один из наших недавних проектов по созданию мобильного приложения Chefkoch Academy как раз и был реализован в соответствии с концепцией Scrum. В рамках этого проекта наша команда была привлечена к разработке и тестированию с участием Scrum-мастера и Product Owner со стороны компании-заказчика.
Работы проходили в интенсивном режиме, с ежедневными 15-минутными видеоконференциями всей команды проекта. Каждый спринт занимал 2 недели. За это время команда успевала разбить требования на задачи, спланировать работы на данный отрезок времени и выполнить запланированные на спринт задачи.
Основная сложность состояла в том, чтобы строго следовать графику спринтов. С этим помогало справиться ежедневное взаимодействие членов команды с целью выяснения и оперативного преодоления возникающих проблем. Для того чтобы не снижать темп и придерживаться логики Scrum, в процессе реализации данного проекта мы следовали ряду принципов.
Что гарантирует успех Scrum-проекта с удалёнными разработчиками
1. Самоорганизация команды под контролем Scrum-мастера
Командная работа – самое важное в Scrum. На этом держится весь процесс. Команда должна самоорганизовываться и действовать сообща, без посредников. Это позволяет избежать недопонимания и, следовательно, исключить ошибки в реализации спринта.
В целом, организация работ начинается с определения требований. Product Owner формулирует требования и расставляет приоритеты в Product Backlog, а также осуществляет приём выполненных работ. Он является представителем заказчика в проекте, тогда как Scrum-мастер заботится о команде.
Важно осознавать, что роль Scrum-мастера сводится не просто к наблюдателю, а к модератору процесса. То есть Scrum-мастер участвует в ежедневных встречах, озвучивает проблемы и вопросы, создает благоприятную атмосферу для открытого контакта и следит за соблюдением сроков.
При этом он не раздает задачи участникам проекта (поскольку Sprint Backlog команда формирует сообща) и не определяет приоритетность задач как Product Owner. На деле Scrum-мастер является одним из главных консультантов по всем вопросам проекта. Именно он несёт ответственность за весь процесс и конечный результат.
Если ваш Scrum-мастер находится на расстоянии от команды разработки, очень важно, чтобы он постоянно отслеживал прогресс команды.
2. Ограниченное число членов команды
Команда в Scrum должна подбираться так, чтобы обеспечить многофункциональность. Другими словами, команду составляют специалисты с различными навыками работы – разработчики, аналитики, тестировщики, дизайнеры. Вместе с тем, нет заранее определенных функций, способных ограничить вклад каждого участника. Фактически обеспечивается свобода действий.
Однако при удалённой разработке, чтобы команда не распылялась на разнообразные задачи и оставалась организованной, необходимо строго ограничить число членов команды в соответствии с проектом. Исходя из нашего опыта, оптимальное число участников – от 3 до 5 без учёта Scrum-мастера и Product Owner. В это число входят: 1-2 front-end или мобильных разработчика (в зависимости от проекта), 1 back-end разработчик, 1-2 тестировщика. Так все успевают донести свои мысли во время встреч и выслушать других, а сами ежедневные обсуждения лицом к лицу не растягиваются до бесконечности.
3. Тщательное планирование действий
Все участники команды проекта Chefkoch Academy сошлись во мнении, что залог успеха удалённой работы в Scrum – детальное планирование спринта. Постановка задач и определение планируемой к разработке функциональности осуществляются в виде Sprint Backlog. В идеале это делается, когда текущий спринт уже закончен, а новый еще не начался. Но, на практике это не всегда осуществимо и поэтому может выполняться в течение двух первых митингов. В это время особенно важно не упустить из внимания ни одно требование. Всегда уточнять, если что-то непонятно хотя бы одному из членов команды.
Планирование спринта в любой момент может привести к полёту фантазии заказчика, поэтому нужно следить, чтобы пожелания Product Owner не конфликтовали с предыдущими спринтами и общей идеей проекта. По факту, команда во время планирования фиксирует пул задач на спринт, который не меняется во время спринта.
Если вы не имеете чёткого представления о задаче в самом начале спринта, то лучше сразу задать уточняющие вопросы Scrum-мастеру, либо отложить задачу и переадресовать требование на доработку Product Owner.
Важно, чтобы каждый из участников команды понимал, что внесение изменений в Sprint Backlog во многом противоречит самой идее Scrum. Это может привести к неконтролируемому росту числа задач, срыву сроков и, как следствие, смещению приоритетов в разработке.
4. Поддержание регулярной коммуникации
Ещё одна из ключевых составляющих Scrum-проекта, обеспечивающая высокую эффективность удалённой команды, – постоянная коммуникация. Чтобы каждый спринт был сдан вовремя и задачи выполнялись, необходимо обеспечить команду всеми средствами и возможностями для коммуникации. Сюда относятся не только ежедневные видеоконференции, но и регулярный обмен сообщениями между членами команды, позволяющий быстро решать возникающие проблемы, которые могут затормозить процесс разработки ПО. Популярным инструментом для поддержания такой связи является Slack.
5. Сдача спринта день в день — не сдвигать сроки
Когда участники проекта находятся на расстоянии друг от друга, кажется, что можно пренебречь некоторыми моментами. Например, в случае, если не получается провести видеоконференцию, отложить сдачу спринта на день или два. Очень важно не идти на поводу у обстоятельств и сдавать спринт по графику.
Если не получается установить личную коммуникацию, то можно использовать альтернативные средства связи – телефон, электронную почту или даже мессенджеры. Кроме этого, помните, что здесь может выручить Scrum-мастер. Он всегда готов помочь в решении как проблем коммуникации, так и любых других вопросов по проекту.
Главное – вовремя отчитаться по достигнутым результатам и разобраться с проблемными моментами. Именно соблюдение сроков позволяет детально прорабатывать ошибки в случае их возникновения и помогает определить, что предпринять в следующем спринте для исправления проблемной ситуации.
В конечном итоге, успех каждого проекта в Scrum определяет командная работа. Чтобы создать все условия для эффективной работы в команде, даже на расстоянии, необходимо действовать в соответствии с вышеизложенными правилами:
- самоорганизации,
- тщательного планирования,
- регулярных переговоров,
- тайм-менеджмента,
- контроля за числом участников.
Выполнение этих простых требований станет надежной основой для вашего Scrum-проекта с удалённой командой разработчиков. На практике вы убедитесь, что следовать правилам несложно, а в процессе их можно дополнять собственными наблюдениями для достижения наилучшего результата.
Если вам интересна тема управления командой, можете ознакомится с нашей статьей о гибридной методологии.
Комментарии