вторник, 6 марта 2012 г.

Работа в процессе спринта

Ранее:
Введение в Scrum
Роли при Scrum разработке
С чего начинается Scrum
Уходим в спринт

Собственно, к этому моменту у неас с вами должен быть список Product Backlog Item-ов разбитых на задачи и команда разработчиков готовая поработать. Продолжим?

Если помните, то в соответствии с принципами построения Scrum-команды, все участники должны быть взаимозаменяемыми. Т.е. каждый может делать работу каждого. Это не значит, что если в одной из задач стоит "Спроектировать базу данных", а разработчик Павел является специалистом по проектированию баз данных, должно быть разыграно в карты кто будет решать эту задачу. Совсем нет. Просто если Разработчик Павел заболеет или будет в коммандировке, другие члены команды должны уметь решить эту задачу. А раз так, то придя в перввый день спринта на работу, сев за компьютер и открыв Sprint Backlog разработчик выбирает от туда задачу с высоким приоритетом, причем по возможности такую, чтобы именно он в команде мог ее решить наиболее эффективно.
Внимательный читатель сейчас может у меня спросить: так у задач же нет приоритетов? Да, в прошлой части я говорил, что у задачи должно быть название и примерное количество часов за которое "средний" разработчик из команды ее решит. Но! Во-первых, это Agile, поэтому если вам нужны приоритеты конкретным задачам, то можите их добавить, а во-вторых, у Backlog Item-ов есть приоритет. А соответственно задачи входящие в более приоритетных Backlog Item более приоритетны.
Еще одним элементом задачи, который важен именно в процессе спринта, это ее статус. Если взять базовые советы по статусам команд, то их будет всего 3: в планах, в работе, готово. Причем, тут появляется еще одна из практик Scrum - доска задач. На ней количество столбцов равно количеству состояний у задач. Все задачи на спринт печатаются на стикерах или небольших листиках (и если доска пробкаовая, к ней могут быть пришпилены). И помещаются в первый столбец этой доски. Т.е. на перовм этапе она будет выглядить вот так:
Как только кто-то начинает работать над задачей, происходит изменение ее статуса и у задачи появляется ответственный:
Как только задача закрывается, она перемещается в последний столбец, а разработчки берет себе следующую:
Просомотр этой доски позволяет очень легко и просто оценить, как идет работа над задачами спринта. И хотя теоретически, этих данных для команды может и хватить, но Scrum не был бы итерационным процессом, если бы даже 1 итерацию (спринт) не разбивал на еще более мелкие итерации - дни. Каждый день команда должна собираться у доски и проводить собрания. Продолжительность этих собраний не должна превышать 15 минут. Все собрания проходят по одному и тому же сценарию: блиц-опрос команды. Как это выглядит? Scrum Master или лидер команды, начиная с себя задает каждому разработчику 3 вопроса:
1. Что сделано с предыдущей встречи?
2. Что планируется закончить к следующей встрече?
3. Какие есть проблемы?
Все! Больше никаких обсуждений, растеканий мыслью по древу. Каждому 3 вопроса, от каждого 3 ответа. За 15 минут, все будут представлять что уже сделано, кто что планирует делать (чтобы случайно не взять таск другого человека, к которому он уже примерился) и какие есть проблемы. Да, чуть не забыл, у ежедневных встреч есть устоявшееся название Standup Meeting. Согласитесь говорящее? Все правильно, эти собрания проводятся стоя. Во первых, это позволяет сконцентрировать внимание всех членов команды, а во вторых призывает не растекаться мыслю по древу, т.к. долго стоять никто не хочет.
Ну и собственно непосредственно в процессе спринта, для оценки применяется еще один замечательный инструмент - Burndown диаграмма.
По оси X у этой диаграммы дни спирнта, по оси Y - незавершенная работа в часах. Т.е. первая точка графика в день начала спринта, это суммарное количество часов на все задачи из Sprint Backlog-а. Каждый день, на этом графике появляется новая точка, которая показывает сколько часов осталось на задачи в Sprint Backlog-е на конец дня. И, собсвтенно, если все хорошо, то график должен иметь вид:
Про графики, если не заленюсь, попробую написать отдельную статью. А пока, это просто мощный инструментарий для оценки.
Да, в завершении, как должна выглядеть доска задач к вечеру последнего дня спринта:
Да, чуть не забыл! Основная идея спринта состоит в том, что задачи в нем могут появляться и после его начала, но только по тем Backlog Item-ама которые были взяты на спринт. В идеале других задач быть не должно.

В следующей статье попробую расказать про ретроспективу спринта.


Комментариев нет:

Отправить комментарий