Канбан. Альтернативный путь в 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 раза повлекло за собой более чем тридцатикратное увеличение первичных ошибок. Более долгое время выполнения связано с увеличением количества незавершенных задач. После выявления этого примера я стал использовать незавершенные задания как средство контроля качества и убедился в наличии взаимосвязи между их количеством и исходным качеством кода. Однако на момент написания этой книги не существует научных подтверждений этого эмпирически полученного результата.


Рекомендуем почитать
История России для каждого образованного человека

История России, нашего Отечества, насчитывает более тысячи лет, и это богатая событиями история. Удержать в памяти каждую важную деталь невероятно сложно, но в этом поможет этот иллюстрированный справочник. Он предлагает вниманию читателя множество кратких, но емких статей, объединенных наглядным «каркасом» дат — опорных точек, по которым легко составить представление о той или иной исторической эпохе и ее героях. Речь пойдет не только о великих битвах, героических победах и трагических поражениях, но и о выдающихся открытиях мореплавателей и ученых, гениальных творениях писателей, художников и архитекторов, о замечательных личностях и простых людях.


Список гениальных книг!

Составлено гением. Для ангеловедов, читателей и потомков. Подсчитаны книжные буквы за четверть века, математический подход. Самая финальная версия от 28 декабря 2020 года.«Ты сам всё увидишь. Ибо блажен тот, кто способен видеть. И, разумеется, способен читать» (с). Андрей Ангелов.


Святой Преподобный Сергей Радонежский. Жизнеописание

«Радуйся, Духа Святаго обитель» Преподобного Сергия Радонежского именуют Ангелом Земли Русской. Его молитва собирала, защищала, оберегала Русь; его служение Пресвятой Троице воплощало идеал русского человека – идеал жизни во Христе. Житие преподобного Сергия было любимым чтением в русских семьях, оно читалось на богослужениях, а в Лавру преподобного по-прежнему стекается русский народ во дни праздников, в печали и в радости. Первое жизнеописание преподобного Сергия было составлено учеником святого – Епифанием Премудрым (первая половина XV века)


Библиографический указатель трудов сотрудников Луганской агролесомелиоративной научно-исследовательской станции УкрНИИЛХА

Указатель содержит список печатных трудов, опубликованных сотрудниками Донецкой овражной лесной опытной станции и Луганской агролесомелиоративной научно-исследовательской станции УкрНИИЛХА. В списке приведено 340 наименований книг, монографий, брошюр, статей, тезисов докладов, нормативных материалов, указаний, буклетов, информационных листков. К списку прилагается авторский указатель.


Лауреаты российских литературных премий

В современной России дело с литературными премиями обстоит не очень хорошо. Вернее, они существуют, но не несут требуемого от них определяющего значения. Каждая из них — своё собственное направление, выбирающее литературу по заранее заданным условиям. Поэтому, дабы помочь читателю ориентироваться в мире российских литературных премий, выпущено данное издание. Первоначально взяты для рассмотрения лауреаты следующих премий: Русский Букер, Национальный бестселлер, Ясная поляна, Большая книга и НОС.


The Question. Самые странные вопросы обо всем

– Бывают ли крокодилы добрыми? – Кто на самом деле победил на выборах президента в 1996 году? – Может ли в мозгу закончиться место для памяти? – Почему в пупках возникают катышки? – Каково было учиться в советской школе? Эти и другие вопросы задавали пользователи сервиса The Question, а мы в течение последнего года каждый день искали тех, кто даст ответы. В этой книжке 297 самых странных вопроса. Мы не гарантируем, что вы станете умнее, если прочитаете ответы на них, но, по крайней мере, о потраченном времени вы не пожалеете. Книга может вызывать острые приступы любопытства.