Как часто ваша команда не завершает начатое в текущем спринте? А задумывались ли вы, как это влияет на ваши планы в следующем спринте? А о том, как это влияет на весь план проекта?
О всем этом понятно и доступно рассказывается в концепции “Бережливого производства” (Lean). Полезно, чобы каждый член команды задавал себе упомянутые вопросы, и каждый понимал свою ответсвенность за результат.
Недавно, Джек Милунский (Jack Milunksy – COO at Brightspark) в своем блоге опубликовал статью, которая подчеркивает основные аспекты Бережливого Производства, о которых нужно помнить каждый день.
Введение
Одним из убийц проектов по разработке программного обеспечения является Незавершенное Производство (WIP – Work-In-Progress). Мы узнали от Lean-экспертов и из учений Toyota Production System, что слишком много незавершенной работы – это источник неприятностей. Например, вчера меня попросили обнаружить проблемы в панели задач компании, где работает сестра. Действительно, у одного разработчика было 5 или 6 задач «в прогрессе». Мне хватило секунды, чтобы это заметить.
Производительность
Проблема этой ситуации в том, что продуктивность разработчика, который работает с более чем двумя задачами одновременно, стремительно падает. Кроме того, вы придете к тому, что у вас накопиться много незавершенных задач, которые никогда не закончатся. Это классическая проблема Waterfall-подхода, где задачи могут находиться в полуживом состоянии, при этом оставаясь в рамках запланированных человеко-месяцев. Чем больше задач в игре в какой-либо момент времени, тем больше задач никогда не будет завершено.
Lean
Наиболее интересная цитата на конференции, посвященной Lean, прозвучала от Стерлинга Мортенсена (Sterling Mortensen), и он действительно попал в точку:
“Прекращайте начинать; начинайте заканчивать” – точнее не скажешь.
Я верю, что это идет рука об руку с определением «ЗАВЕРШЕНО», которому все лидеры Agile-мышления не могут не придавать большого значения. По моему мнению, нет более важного аспекта в Agile. Определение «Завершено» определяет в первую очередь именно то, что требуется для ПОЛНОГО завершения задачи. Если вы минимизируете незавершенное производство, и завершите эти работы в соответствии с общепринятым определением «ЗАВЕРШЕНО», вы радикально улучшите общую длительность цикла, т.е. от идеи до получения прибыли. Причина заключается в том, что незавершенные задачи тянутся вечно, никогда не завершаются и продолжают расходовать ресурсы команды.
Незавершенное производство
Другая интересная цитата, которая в некотором роде имеет отношение к теме минимизации незавершенной работы:
“Если вы не знаете, как выполнить историю за итерацию, то и не надо ее брать”
Если следовать этому принципу, то это гарантирует, что у вас нет очереди незавершенных работ, которые должны переноситься из спринта в спринт. Все, что берется в спринт, должно быть завершено в течение спринта. Это требует тщательного планирования, так как если сильно перегрузить работой команду, они знают, что они не смогут все закончить. Это очень похоже на системы ТВС – Точно-В-Срок (JIT – just-in-time) производства, которые сводят к минимуму очереди, и оптимизируют пропускную способность, таким образом, достигается оптимум эффективности команды и уменьшается длительность цикла.
Так что планируйте закончить одну историю до того, как начнете другую, и всегда планируйте завершить историю в течение того спринта, в котором вы ее начали. Это означает, что ваши истории не смогут стать эпопеями!
Одним из убийц проектов по разработке программного обеспечения является Незавершенное Производство (WIP – Work-In-Progress). Мы узнали от Lean-экспертов и из учений Toyota Production System, что слишком много незавершенной работы – это источник неприятностей. Например, вчера меня попросили обнаружить проблемы в панели задач компании, где работает сестра. Действительно, у одного разработчика было 5 или 6 задач «в прогрессе». Мне хватило секунды, чтобы это заметить.
Производительность
Проблема этой ситуации в том, что продуктивность разработчика, который работает с более чем двумя задачами одновременно, стремительно падает. Кроме того, вы придете к тому, что у вас накопиться много незавершенных задач, которые никогда не закончатся. Это классическая проблема Waterfall-подхода, где задачи могут находиться в полуживом состоянии, при этом оставаясь в рамках запланированных человеко-месяцев. Чем больше задач в игре в какой-либо момент времени, тем больше задач никогда не будет завершено.
Lean
Наиболее интересная цитата на конференции, посвященной Lean, прозвучала от Стерлинга Мортенсена (Sterling Mortensen), и он действительно попал в точку:
“Прекращайте начинать; начинайте заканчивать” – точнее не скажешь.
Я верю, что это идет рука об руку с определением «ЗАВЕРШЕНО», которому все лидеры Agile-мышления не могут ни придавать большого значения. По моему мнению, нет более важного аспекта в Agile. Определение «Завершено» определяет в первую очередь именно то, что требуется для ПОЛНОГО завершения задачи. Если вы минимизируете незавершенное производство, и завершите эти работы в соответствии с общепринятым определением «ЗАВЕРШЕНО», вы радикально улучшите общую длительность цикла, т.е. от идеи до получения прибыли. Причина заключается в том, что незавершенные задачи тянутся вечно, никогда не завершаются и продолжают расходовать ресурсы команды.
Незавершенное производство
Другая интересная цитата, которая в некотором роде имеет отношение к теме минимизации незавершенной работы:
“Если вы не знаете, как выполнить историю за итерацию, то и не надо ее брать”
Если следовать этому принципу, то это гарантирует, что у вас нет очереди незавершенных работ, которые должны переноситься из спринта в спринт. Все, что берется в спринт, должно быть завершено в течение спринта. Это требует тщательного планирования, так как если сильно перегрузить работой команду, они знают, что они не смогут все закончить. Это очень похоже на системы ТВС – Точно-В-Срок (JIT – just–in–time) производства, которые сводят к минимуму очереди, и оптимизируют пропускную способность, таким образом, достигается оптимум эффективности команды и уменьшается длительность цикла.
Так что планируйте закончить одну историю до того, как начнете другую, и всегда планируйте завершить историю в течение того спринта, в котором вы ее начали. Это означает, что ваши истории не смогут стать эпопеями!