Что такое scrum-команда
Scrum-команда объединяет людей, которые работают в рамках scrum-методологии разработки. Команда эта самодостаточная: ей не нужны специалисты со стороны, чтобы решать проблемы, помогать или выполнять отдельные части работы. Не входит в scrum-команду и заказчик, а также сопутствующий персонал – менеджеры, специалисты техподдержки и др.
Непременные части scrum-команды – scrum-мастер, product owner (владелец продукта) и команда разработки (development team). Если все три части будут работать слаженно и в рамках методологии, то в результате каждого спринта (отрезка времени, на который ставятся цели) они будут предоставлять рабочую версию продукта. Она является инкрементом предыдущего результата – старой версии с улучшениями, соответствующими цели спринта.
Инкремент, инкрементирование – операция во многих языках программирования, увеличивающая переменную.
Кто входит в состав development team
Команда разработки – это не только непосредственно разработчики. В эту самую многочисленную часть scrum-команды входят тестировщики и DevOps, и UA/UX-дизайнеры, и другие специалисты, которые обеспечивают создание инкремента продукта. Все зависит от того, как организована работа над конкретным проектом.
Команда разработки является ключевой рабочей единицей. Глава Amazon Джефф Безос сформулировал «правило двух пицц» для размера scrum-команды – от 4 до 10 человек, то есть то количество людей, которых можно накормить двумя пиццами. Размер и состав scrum-команды на протяжении спринта не меняется.
Что делает scrum-мастер
Scrum-мастер обеспечивает работу команды в рамках методологии Scrum. Вполне нормально, что в процессе работы команда сталкивается со сложностями, и задача scrum-мастера – помочь справиться с ними.
Самое важное в этой истории: scrum-мастер – не начальник. Это не управленец и не «боевая единица», которая действует с позиции строгости, ограничений и наказаний. Основная задача scrum-мастера – разобраться, что блокирует выполнение задач, устранить эти преграды. Scrum выявляет проблемы и обеспечивает их открытое обсуждение. Такой подход порождает доверие внутри команды, а благоприятная атмосфера позитивно влияет на качество и скорость работы.
Каждое утро scrum-мастер проводит Daily Scrum Meeting – встречу, на которой члены команды разработки рассказывают о прогрессе за предыдущий день, о том, что их блокирует и чем они будут заниматься в течение наступившего дня. Кроме того, scrum-мастер следит за процессом разработки и сменой статусов задач в спринте, организует планирование и ретроспективу (разбор прогресса команды и помощь ей стать лучше).
Итак, scrum-мастер обеспечивает постановку правильной коммуникации в команде, соблюдение процессов в рамках методологии Scrum, помогает сконцентрироваться на правильных целях и улучшить команду. Также scrum-мастер взаимодействует с product owner и может участвовать в создании продуктового бэклога. Он может быть частью команды разработки, но в этом случае должен разделять роли разработчика и scrum-мастера.
Scrum-мастер в команде всегда один. Обычно его выбирает команда.
Какова роль product owner
Владелец продукта – это не заказчик, а скорее связующее звено между ним и scrum-командой. В то же время product owner не является сторонним специалистом: он – полноценный член scrum-команды.
У product owner больше ответственности, чем у членов команды разработки, но и ограничений больше. Он формирует Backlog (бэклог) – список задач, которые нужно выполнить в рамках разработки продукта. Задачи в бэклоге product owner сортирует по их приоритетности.
Product owner должен представлять, как будет выглядеть конечный продукт. Именно product owner обеспечивает понятность и прозрачность продуктового бэклога и требований к продукту, над которыми предстоит работать команде. Задача владельца продукта оптимизировать процесс разработки так, чтобы труд команды имел максимальную ценность. Product owner несет ответственность за понимание бэклога командой разработки и транслирует через продуктовый бэклог свои решения.
Но product owner должен быть постоянно на связи, чтобы scrum-команда через scrum-мастера могла получить от него максимум информации. Владелец продукта общается непосредственно с заказчиком и уточняет информацию у него. Но он волен сам принимать решения и озвучивать их scrum-команде, если уверен в целесообразности действий. Также product owner совместно со scrum-мастером может исключать задачи из спринта, но так, чтобы достигнуть его основной цели.
Product owner не может влиять на ход работ во время спринта. Его единственное право – возможность остановить спринт, но это скорее исключительная ситуация. Все остальные решения принимает scrum-мастер.
Проект считается завершенным, когда в продуктовом бэклоге нет требований. Но product owner в процессе разработки вправе менять бэклог, добавляя или удаляя из него элементы –user story (пользовательские истории).
Product owner не может быть частью команды разработки. Но он несет личную ответственность за ценность требований для рынка и пользователей, а также отвечает за взаимодействие с рынком.