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