Лимиты незавершенной работы
Важность лимитов незавершенной работы
Ограничения WIP (Work In Progress) способствуют повышению производительности команд и уменьшают количество “почти завершённых” задач, побуждая команды сосредотачиваться на меньших объёмах работы. Внедрение ограничений WIP помогает командам развить привычку доводить задачи до конца. Более того, эти ограничения позволяют выявить препятствия и узкие места в процессе. Если есть чёткий индикатор, показывающий проблемные области, команда может сосредоточить усилия на решении задач, препятствующих дальнейшему прогрессу, чтобы устранить их и двигаться вперёд. Это позволяет быстрее доставлять клиентам ценные изменения, что делает ограничения WIP важным элементом в Agile-разработке.
В процессе работы часто возникает желание прервать текущую задачу и переключиться на другую. Однако работа над двумя задачами одновременно требует переключения контекста или передачи работы коллегам. Это приводит к потерям времени и снижению концентрации. Почти всегда лучше завершить одну задачу до конца, чем начать новую и не закончить её. Ограничения WIP помогают избежать таких ситуаций, предотвращая затягивание процессов.
Наконец, ограничения WIP позволяют выявить случаи, когда простой или перегруженность становятся хроническими. Это помогает команде увидеть слабые места в общем процессе, а не только в отдельных его частях.
Если команда никогда раньше не использовала лимиты незавершенной работы, они могут показаться неудобными. Обсудите вопрос лимитов WIP в первых нескольких итерациях. Постарайтесь понять, когда и почему команда достигает лимита незавершенной работы. На начальных этапах не поддавайтесь искушению самовольно изменять эти лимиты. Если лимит постоянно достигается, возможно, он установлен слишком низко или выявлено слабое место в рабочем процессе.
Применение лимитов незавершенной работы в Agile-командах
Теперь, когда вы осознали ценность лимитов WIP, можно переходить к практике.
При настройке нового рабочего процесса обсудите с командой, какое ограничение WIP следует установить для каждого статуса. Прежде чем устанавливать лимиты, понаблюдайте за несколькими спринтами и определите среднее количество задач в каждом статусе. Вот пример Agile-доски с лимитами WIP, используемой обычной командой разработчиков ПО:
- Code Review: В примере для столбца “Проверка кода” установлено ограничение незавершенной работы. Это ограничение превышено, поэтому фон столбца окрашен в красный цвет.
- Done: Поскольку задачи в столбце “Завершено” не требуют дальнейших действий, для него не устанавливаются ограничения WIP.
- To Do: В столбце “К выполнению” находятся пользовательские истории, тщательно проверенные владельцем продукта и командой. Важно, чтобы в этом столбце всегда было достаточно задач для эффективной работы команды.
- In Progress: Здесь находятся задачи, над которыми идет активная работа. Ограничения WIP в этом столбце предотвращают простои и многозадачность. На доске показано, что для столбца “В работе” установлено ограничение в 4 задачи, и в нём сейчас находятся 3 задачи, что позволяет команде взять одну дополнительную задачу.
Плохие примеры, которых стоит избегать:
- Увеличение лимитов незавершенной работы, чтобы команды не достигали их (“потолок долга”).
- Назначение большого количества “фоновых задач”, чтобы скрыть время простоя.
- Члены команды сидят без работы в ожидании новых задач вместо того, чтобы помогать решать текущие проблемы.
- Увеличение числа человеко-часов для решения проблем вместо улучшения методов разработки или командных процессов.
4 цели для Agile-команд, использующих лимиты незавершенной работы
- Разделение работы на задачи равного объема: Важно разбивать требования и пользовательские истории так, чтобы выполнение каждой задачи занимало не более 16 часов. Это помогает команде более точно оценивать сложность работы и избегать узких мест.
- Подбор лимитов WIP в соответствии с навыками команды: Если в команде есть специалисты, их участие может влиять на лимиты WIP. Создайте отдельный статус для работы специалиста и используйте это как возможность повысить навыки других членов команды.
- Сокращение простоя: Если у кого-то из команды появилось свободное время, он может помочь коллегам на других этапах работы. Это повысит общую продуктивность команды и улучшит навыки участников.
- Поддержание здоровой культуры разработки: Лимиты WIP нужны не для того, чтобы заставить разработчиков спешить, а для поддержки устойчивых практик Agile-разработки, обеспечивающих неизменное качество продукта и стабильность кода.
Резюме
Лимиты незавершенной работы (WIP) применяются в Agile-разработке для ограничения максимального количества задач на каждом этапе рабочего процесса. Ограничивая объем незавершенной работы, вы можете выявить слабые места в процессе и предотвратить проблемы до их усложнения.