Что такое методология Kanban в разработке ПО?

«Что такое методология Kanban в разработке ПО?» — вопрос из категории Софт-скиллы, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Kanban — это методология управления работой, направленная на визуализацию потока задач и его непрерывное улучшение. В отличие от Scrum, Kanban не использует фиксированные итерации (спринты) и роли, фокусируясь на постепенных изменениях.

Основные принципы Kanban:

  1. Визуализируй рабочий процесс (Kanban Board): Все задачи отображаются на доске с колонками, соответствующими этапам процесса (например, Backlog, Ready, In Progress, Code Review, Testing, Done).
  2. Ограничь количество незавершенных работ (Limit WIP): Для каждой колонки (или всего процесса) устанавливается жесткий лимит одновременно выполняемых задач. Это выявляет узкие места (блокеры) и предотвращает перегрузку команды.
  3. Управляй потоком: Цель — сделать поток выполнения задач плавным и предсказуемым. Измеряются метрики, такие как Cycle Time (время от начала работы до завершения) и Throughput (количество задач, завершенных за единицу времени).
  4. Сделай правила процесса явными: Четко определите критерии входа задачи в каждую колонку и выхода из нее (Definition of Ready, Definition of Done).
  5. Внедряй обратную связь и улучшайся: Регулярные встречи (например, ежедневный стендап и ретроспектива потока) используются для анализа метрик и совершенствования процесса.

Пример Kanban-доски в цифровом инструменте (Jira, Trello):

Backlog (5) | Ready (2) | Dev (WIP=3) | Review (WIP=2) | Done
-----------|-----------|-------------|----------------|-----
- Task F   | - Task B  | - Task A    | - Task C       | - Task D
- Task G   | - Task E  |             |                | - Task H

Преимущества для разработки: Гибкость в приоритизации, прозрачность, сокращение времени на выполнение задачи и фокус на непрерывной поставке ценности.