Чем отличается время цикла от времени выполнения заказа в Agile

Чем отличается время цикла от времени выполнения заказа

Что такое время цикла и время выполнения заказа и почему они важны для вас?

Время цикла и время выполнения заказа являются важными концепциями Kanban и Lean Manufacturing. Однако люди часто используют их в качестве показателей в Agile Software Development. И они могут дать важную информацию о том, как работают ваши команды.

Время цикла и время выполнения заказа – это показатели, которые описывают, как поток работ входит в систему и течет через нее.

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

Как рассчитать время цикла?

Время цикла – это просто количество времени, которое требуется единице работы (опять же, это может быть программная задача, которую нужно выполнить; кофе, который нужно сварить; да что угодно), чтобы перейти из состояния «В работе» в состояние «Завершено». Часики времени цикла начинают «тикать», как только работа переходит из состояния «В очереди» в состояние «В работе», и останавливаются, когда эта работа переходит из состояния «В работе» в состояние «Завершено». Что именно означают эти состояния, будет зависеть от работы и контекста. Если работа перемещается вперед-назад (например, клиент передумал или не принял работу и настаивает, что она должна быть исправлена или переделана), то часы не сбрасываются, они продолжают тикать.

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

Как рассчитать время выполнения заказа?

Время выполнения заказа – это время, которое требуется единице работы для перехода из состояния «В очереди» (т.е. когда некий клиент запросил определенную работу) в состояние «Завершено». Время выполнения заказа [обычно] продолжительнее, чем время цикла. Время выполнения описывает два аспекта системы: время, необходимое для выполнения работы в этой системе (т.е. время цикла), и время, необходимое для ожидания начала обработки в этой системе, которое зависит от частоты, с которой заказы приходят в эту систему.

Что? С временем выполнения заказа что-то не так

Если мое описание вас смущает, представьте кафе с баристой, кассиром и несколькими покупателями. Как только вы разместили заказ на кофе у кассира, эта работа отправляется в очередь, а вы с нетерпением ожидаете свой кофе. Часы времени выполнения заказа начали тикать. Если в системе нет других заказов [все прочие посетители уже получили кофе], бариста может начать готовить ваш кофе прямо сейчас. Как только он приступит, начинают тикать часы времени цикла.

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

Как сократить время выполнения заказа?

Если время выполнения заказа для системы намного превышает время цикла и уже начинает «напрягать», его можно исправить только двумя способами:

1. повысить эффективность системы (научить бариста готовить кофе быстрее, то есть сократить время цикла);
2. увеличить мощность или пропускную способность системы (нанять еще одного бариста).

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

Сокращаем время выполнения заказа, ограничив незавершенное производство

Если вы работает в поте лица, а ваше время выполнения заказа все равно увеличивается, значит, в вашей системе недостаточно мощностей для такого количества заказов. Если вы не можете [или не хотите] улучшать производительность или увеличить свои мощности, вы можете просто прекратить принимать заказы. В частности, вы можете ввести ограничение незавершенного производства (НЗП). НЗП описывает количество элементов работы в определенном состоянии (например, Готов для тестирования). Если на вашей доске Kanban слишком много элементов в таком состоянии, вы можете просто «закрыть дверь» и сказать, что вы больше не переводите работу в это состояние.

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

Что говорят нам показатели времени выполнения и времени цикла?

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

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

Автор: Leon Tranter
Источник