Канбан. Альтернативный путь в 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 раза повлекло за собой более чем тридцатикратное увеличение первичных ошибок. Более долгое время выполнения связано с увеличением количества незавершенных задач. После выявления этого примера я стал использовать незавершенные задания как средство контроля качества и убедился в наличии взаимосвязи между их количеством и исходным качеством кода. Однако на момент написания этой книги не существует научных подтверждений этого эмпирически полученного результата.
Главный редактор «Радио Спорт» Николай Яременко определил два главных маршрута для болельщика на жаркое и богатое событиями лето 2012 года: футбольные баталии континентального первенства на стадионах в Польше и на Украине и основное для летних видов спорта сражение четырехлетия – Олимпиада в Лондоне.В каких городах, на каких стадионах пройдут соревнованиях? На какие результаты стоит рассчитывать? Кто в фаворитах? Где будут жить спортсмены? Как попасть в эпицентр футбольных страстей и олимпийских событий простому болельщику? Исчерпывающие ответы – в книге известного спортивного журналиста.
Во второй книге серии «Народная безопасность» рассказывается как бороться с напастью, имя которой – расточительность.Десять глав книги расскажут, как избежать лишних трат в различных сферах человеческой жизни.Читатель найдет советы, которые помогут сэкономить электроэнергию и бензин, не разориться на походе к стоматологу, платить меньше налогов, покупать недорого авиабилеты и многое другое.
Всем нам приходится время от времени сдавать медицинские анализы. Реальность такова, что, приходя в поликлинику, мы чаще всего встречаем терапевта, который торопливо пишет и ничего не объясняет, а между тем каждый имеет право знать, для чего он сдает анализ и о чем может сообщить результат. Немаловажно знать и как правильно подготовиться к сдаче анализа: неправильная подготовка может серьезно повлиять на результат.В этой книге собраны полные и современные сведения практически обо всех медицинских анализах: общеклинических, биохимических, гормональных, иммунологических и многих других.
Справочник поможет читателю разобраться в медицинской терминологии, узнать о причинах и симптомах различных болезней и возможных способах их лечения. Удобное расположение справочного материала позволит быстро сориентироваться в огромном море болезней, оперативно найти все необходимые сведения для оказания незамедлительного лечения или доврачебной помощи.
Перед вами современный путеводитель по лекарственным средствам. Справочник содержит информацию о наиболее важных и популярных отечественных и зарубежных лекарственных средствах, как самых современных, так и проверенных временем. Приведены названия препаратов и их синонимы, состав и описания, включая показания и противопоказания к применению, дозировки. Здесь вы найдете ответы на важнейшие вопросы:— что именно назначил врач?— излечивая один орган, не вредим ли мы другому?— как выбрать среди аналогичных препаратов лучший?Рассматриваемые средства входят в «Перечень жизненно необходимых и важнейших лекарственных препаратов».
В предлагаемом справочнике представлены полные и современные сведения практически о всех медицинских анализах: общеклинических, биохимических, гормональных, иммунологических и многих других.Особое внимание уделено описанию причин изменения нормальных показателей, влиянию на эти изменения заболеваний, лекарств и даже ошибок при заборе анализа.Справочник отличается логичной и ясной для использования логической структурой, развитой системой алфавитных указателей, удобным поиском данных. Книга рекомендуется как для людей без медицинского образования, так и для врачей и других медицинских работников.