Книга Scrum. Революционный метод управления проектами - Джефф Сазерленд
Шрифт:
Интервал:
Закладка:
Как управляющий по выпуску новой продукции я хочу иметь возможность отслеживать покупки наших клиентов, чтобы быть в курсе, какие книги им можно предлагать.
Вот профессионально сделанные пожелания пользователя, характер которых группа должна принять во внимание. Составив истории, вы можете начать обсуждать пути их воплощения. Они достаточно конкретны, чтобы быть выполнимыми, но не предписывают, каким образом следует действовать. Помните, группа решает самостоятельно, каким образом будет сделана работа, а цель, которой предполагается достичь, определяется ценностью самого проекта. Пакет пожеланий одного пользователя часто называют эпопеей или просто эпиком. В эпопее собрано все, что в целом несет в себе идею продукта – в нашем случае книжного интернет-магазина. Эпопея слишком велика, чтобы ее можно было воплощать сразу целиком, но она включает в себя множество фрагментов – мелких пользовательских историй, работающих на одну общую идею.
Тим Стол – один из тех парней, о которых обычно говорят: прошел огонь, воду и медные трубы. Сейчас он хороший специалист, работающий с разными командами, чтобы те умели выполнять свое дело быстро. Тим служил медиком в спецназе, прошел Ирак и Афганистан, работал по контракту на ЦРУ, был офицером полиции и занимался там опасными преступниками, – теперь он скрам-тренер. Как Тим сам говорит, он всегда и был скрам-тренером, даже когда руководил операциями спецназа.
«В спецназе, – рассказывает он, – мы не называем это историей. Мы говорим: “план действий”. Но суть та же». Вот одна из немногих историй из практики спецназа, которые Тим может рассказывать открыто, – медицинская миссия в Лаосе. «У нас было два своих “эпика”. Первый эпик – по курсу медицинской подготовки, поскольку мы обучали отряды самообороны навыкам тактической медицины. Второй – по операциям по разминированию неразорвавшихся боеприпасов на освобожденных территориях».
Будучи врачом, Тим отвечал за курс медицинской подготовки. Он говорит, что перед началом своей миссии ему пришлось крепко подумать, что нужно делать, как разбить истории на фрагменты и выстроить их в логической последовательности. Он начал с идей, которые хорошо вписывались в систему Scrum. «Я был военврачом и служил в спецназе, поэтому мне полагалось обучать людей азам анатомии и физиологии, чтобы они могли понимать устройство человеческого тела и как функционирует наш организм», – Тим, когда стал составлять истории, понял, что начинать надо именно с этого, ведь его ученикам придется в будущем уметь оказывать любую первую помощь. «Для начала я рассказал им про кости человеческого скелета, про суставы, сухожилия, связки». Только после того как был заложен фундамент, то есть рассказаны базовые истории, Тим перешел к принципам вправления костей при переломах и суставов при вывихах, освобождению дыхательных путей и остановке кровотечений. Записав все истории, он сразу смог увидеть, что ему нужно для выполнения учебных задач. Нужен был скелет. Нужен был наглядный материал на английском и лаосском. Потом Тим разбил весь процесс обучения на короткие циклы, то есть спринты: «Два дня на перелет в Лаос. Неделя на подготовку. Затем два шестинедельных учебных цикла. Нам нужно было обучить с нуля до уровня младшего специалиста по оказанию первой помощи. И мы сделали это».
Когда вы пишете истории или составляете список заданий, важно задать себе два вопроса. Готова ли история? Как я пойму, что задача выполнена?
Возьмем в качестве примера историю Тима.
…Мне полагалось обучать людей азам анатомии и физиологии, чтобы они могли понимать устройство человеческого тела и как функционирует наш организм.
Есть мнемоническое правило, которое я всегда использую, когда нужно определить, готова ли история. Придумал его вдумчивый исследователь и серьезный программист Билл Уэйк. Билл говорит, что любая история, чтобы считаться готовой, должна соответствовать определенным критериям. Он назвал их критериями INVEST (Independent. Negotiable. Valuable. Estimable. Small. Testable).
• Завершенность, выполнимость, независимость (Independent). История должна быть: абсолютно завершенной; осуществимой на практике; независимой от разных обстоятельств.
• Открытость (Negotiable). История до своего завершения должна быть открыта для общего обсуждения; любой участник группы должен иметь возможность внести в нее свои поправки.
• Ценность (Valuable). История должна приносить реальную пользу и увеличивать ценность проекта для заказчиков, пользователей и любых заинтересованных лиц.
• Оценочность (Estimable). История должна быть удобна для оценки объема работы.
• Лаконичность (Small). История должна быть краткой, компактно изложенной и конкретной, чтобы можно было просто и быстро планировать работы. Если история получилась слишком расплывчатой, перепишите ее, а лучше разбейте на мелкие функциональные фрагменты.
• Тестируемость (Testable). История должна пройти проверку на практике, чтобы считаться завершенной. Составьте заранее список критериев, которым должна соответствовать законченная история.
История Тима независима. Он мог выполнять свою операцию по обучению сил самообороны, не задумываясь о таких вещах, как, например, расход топлива вертолета, который доставлял его в лагерь. Его история открыта. Учитывая полевую практику, он мог добавлять ее или, напротив, сокращать в зависимости от того, как быстро усваивались знания его учениками. Его история имеет ценность. Она принесла реальную пользу, поскольку ученики узнали о строении человеческого тела, научились применять свои знания практически. Его история лаконичная. В ней кратко и емко изложены основы анатомии и физиологии. Сложной операции обучаемый не проведет, но первую помощь оказать сможет. Его история тестируема. Тим легко мог проверить по определенным критериям, как усвоен материал.
Любая пользовательская история, которую мы внедряем в практику, должна отвечать двум условиям: «готовность» – то есть соответствует ли она критериям INVEST; «выполненность» – то есть соответствует ли она тем критериям, по которым мы можем судить, что задача выполнена. При работе над реальными проектами мы видим, что если история действительно готова, команда удваивает скорость ее реализации. Когда в конце спринта история выполнена, команда в два раза увеличивает темпы работ в начале следующего спринта. Это один из ловких приемов Scrum, дающий возможность в два раза быстрее выполнить двойной объем работы.
В методологии Scrum планирование происходит в начале каждого нового спринта; собственно, оно так и называется – «планирование спринта». Все собираются вместе, просматривают список пользовательских историй, которые уже стоят в очереди на выполнение; выясняют, какое количество задач может взять на себя каждый участник группы; тщательно взвешивают, смогут ли они за этот спринт довести до полной готовности отобранные задания; смогут ли продемонстрировать заказчику сделанные единицы работ и показать ему готовые функции продукта; смогут ли сами себе в конце спринта сказать, что они со всем справились.