Канбан. Альтернативный путь в Agile - [11]

Шрифт
Интервал

Снижайте количество незавершенных задач и делайте частые релизы

В 2004 году я работал с двумя командами в Motorola. Обе они разрабатывали сетевую часть бэкэнд-приложения для мобильных телефонов. Одна команда работала над сервером для «скачивания по воздуху» (over-the-air, OTA) рингтонов, игр и других приложений и данных. Вторая разрабатывала сервер для управления устройствами «по воздуху» (OTA DM). Обе команды руководствовались методологией Feature Driven Development (FDD). Обе были примерно одного размера – человек восемь разработчиков, один архитектор, до пяти тестировщиков и менеджер проекта. Работая совместно с маркетологами, команды сами проводили анализ и проектирование. Обеим командам помогали отдельные команды проектирования пользовательского взаимодействия (UX) и разработки пользовательской документации (технические писатели).

Незавершенные задания (WIP), время выполнения и ошибки

На рис. 3.1 демонстрируется кумулятивная диаграмма потока для команды, занимавшейся закачкой ОТА. Кумулятивная диаграмма потока – это зонированный график, который отражает объем работы в определенном состоянии. Состояния, показанные на диаграмме, – это бэклог, то есть объем работы, который заведен в учетную систему, но очередь до него еще не дошла. «Начатое» – это когда требования к функционалу обсуждались с разработчиками; «спроектированное» – то есть для функции разработана ML-диаграмма последовательности; «разработанное» – то есть функционал разработан в соответствии с диаграммой последовательности; «завершенное» – то есть все модульные тестирования пройдены, код прошел рецензирование и был принят ведущими разработчиками и передан на тестирование.

.

Рис. 3.1. Кумулятивная диаграмма потока (КДП) команды закачек OTA (осень 2003 – зима 2004 гг.)


Первая линия на диаграмме показывает количество функций в масштабе проекта. Этот объем был разделен владельцами бизнеса на две части. Вторая линия показывает количество начатых функций. Третья линия – число спроектированных, четвертая – разработанных, а пятая – количество завершенных и готовых к тестированию функций.

Вертикальная разница между второй и пятой линиями в любой выбранный день показывает количество незавершенных задач, а горизонтальная дистанция между второй и пятой линиями показывает среднее время выполнения с момента начала работы над функцией до дня ее сдачи. Важно заметить, что горизонтальное расстояние – это среднее, а не конкретное время выполнения для конкретной функции. Кумулятивная диаграмма потока не показывает конкретных функций. Пятьдесят пятая начатая функция может быть тридцатой законченной. Никакой связи между линией на оси у и конкретной функцией из бэклога нет.

Команде сервера закачек ОТА не хватало либо дисциплины, либо мотивации для использования метода FDD. Они не работали совместно, как требует FDD, а выдавали большие порции функций на откуп индивидуальным разработчикам. Обычно на одного разработчика у них в любое время приходилось до десяти функций. А команда по разработке OTA DM следовала методам, изложенным в учебнике. Они хорошо работали в сотрудничестве и разрабатывали модульные тесты для 100 % своих функций. И самое важное – они трудились над небольшим количеством функций одновременно, обычно это было 5–10 функций в работе для всей команды в любой момент.

Целевым ориентиром для функции в FDD является 1,6–2,0 функционального очка кода.

У команды по разработке сервера закачек OTA, находившейся в Сиэтле, среднее время выполнения составляло примерно три месяца на функцию от начала работы до сдачи ее для интеграционного теста команде из Шампейна (рис. 3.1).

У команды по разработке OTA DM среднее время выполнения колебалось от 5 до 10 дней, что показано на рис. 3.2. Разница в исходном качестве, измеряемом в количестве ошибок в системном или интеграционном тесте, превысила 30 раз. Команда по разработке OTA DM продемонстрировала изначальное качество на уровне лидеров индустрии – две или три ошибки на 100 функций, а команда по разработке сервера закачек OTA продемонстрировала средний по индустрии результат – около двух ошибок на функцию.


Рис. 3.2. Кумулятивная диаграмма потока (КДП) команды управления устройствами OTA (зима 2004 года)


Из этих диаграмм можно сделать вывод, что количество незавершенных задач непосредственно связано с временем выполнения. Рис. 3.2 явно демонстрирует, что с сокращением числа незавершенных задач уменьшается и время выполнения. На пике среднее время выполнения составляет 12 дней. Позднее в проекте, когда незавершенных задач становится меньше, среднее время выполнения сокращается до четырех дней.

Существует причинно-следственная связь между количеством незавершенных задач и средним временем выполнения, и эта зависимость линейна. В производстве эти отношения известны как закон Литтла. Пример двух команд из Motorola предполагает наличие корреляции между увеличением времени выполнения и снижением качества. Похоже, что увеличение времени выполнения оборачивается существенно худшим качеством. В нашем случае увеличение среднего времени выполнения в 6,5 раза повлекло за собой более чем тридцатикратное увеличение первичных ошибок. Более долгое время выполнения связано с увеличением количества незавершенных задач. После выявления этого примера я стал использовать незавершенные задания как средство контроля качества и убедился в наличии взаимосвязи между их количеством и исходным качеством кода. Однако на момент написания этой книги не существует научных подтверждений этого эмпирически полученного результата.


Рекомендуем почитать
Мир глазами фантастов

Пособие, адресованное широким кругам молодежи, является своеобразным путеводителем по научно-фантастической литературе. Оно знакомит с наиболее значительными в проблемно-тематическом и идейно-художественном отношении произведениями отечественной и зарубежной научной фантастики, помогает ориентироваться в ее разнообразии, правильно выбирать и оценивать конкретные произведения. Имеется указатель заглавий художественных произведений и сборников.


Махмудов Искандер  - российский предприниматель

Перед Вами статья из особого сборника, в котором есть сведения не только о самых богатых людях современности, но и тех, кто явился «основоположниками» данной категории населения, - исторические личности, основатели крупнейших богатейших компаний и т. д Этот цикл статей посвящен создателям всемирно известных брендов, самыми богатыми людям в своих узких кругах, например - спортсмены, актеры, политики. И, конечно же, в этом списке нашли свое место российские олигархи и бизнесмены.Одни мечтают стать богатым и жить в достатке, другие порицают людей, которые стремятся к личному материальному успеху.


Лаудер Эсти  - владелица косметической компании Estee Lauder Inc

Перед Вами статья из особого сборника, в котором есть сведения не только о самых богатых людях современности, но и тех, кто явился «основоположниками» данной категории населения, - исторические личности, основатели крупнейших богатейших компаний и т. д Этот цикл статей посвящен создателям всемирно известных брендов, самыми богатыми людям в своих узких кругах, например - спортсмены, актеры, политики. И, конечно же, в этом списке нашли свое место российские олигархи и бизнесмены.Одни мечтают стать богатым и жить в достатке, другие порицают людей, которые стремятся к личному материальному успеху.


Гетти Жан-Поль (Пол)  - нефтяной магнат

Перед Вами статья из особого сборника, в котором есть сведения не только о самых богатых людях современности, но и тех, кто явился «основоположниками» данной категории населения, - исторические личности, основатели крупнейших богатейших компаний и т. д Этот цикл статей посвящен создателям всемирно известных брендов, самыми богатыми людям в своих узких кругах, например - спортсмены, актеры, политики. И, конечно же, в этом списке нашли свое место российские олигархи и бизнесмены.Одни мечтают стать богатым и жить в достатке, другие порицают людей, которые стремятся к личному материальному успеху.


Альбрехт Карл и Тео  - основатели сети супермаркетов ALDI

Перед Вами статья из особого сборника, в котором есть сведения не только о самых богатых людях современности, но и тех, кто явился «основоположниками» данной категории населения, - исторические личности, основатели крупнейших богатейших компаний и т. д Этот цикл статей посвящен создателям всемирно известных брендов, самыми богатыми людям в своих узких кругах, например - спортсмены, актеры, политики. И, конечно же, в этом списке нашли свое место российские олигархи и бизнесмены.Одни мечтают стать богатым и жить в достатке, другие порицают людей, которые стремятся к личному материальному успеху.


Мир короля Артура

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.