Канбан что это значит

Методология Kanban: введение

Одним из моих профессиональных интересов, как координатора команды тестировщиков, являются методологии разработки программного обеспечения. В настоящее время все большую популярность приобретают так называемые Agile-методологии, в особенности Scrum и Kanban. На «раcпиаренных» терминах играют недобросовестные «тренеры», семинары и сертификации («сертифицированный Scrum-мастер», «сертифицированный Product owner» и т.д.) растут как на дрожжах.

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

В процессе работы я часто сталкивался с непониманием и неверным трактовкам инструментов методологий, применения модной методологии без учета контекста. После прочтения статьи я понял что проблема скорее глобальная, чем локальная. Предлагаю сегодня немного рассмотреть Kanban, его историю, основные принципы, и возможные границы применения.

Если вам не хочется читать — я сделал видео, где на пальцах описываю историю и основные принципы метода Канбан.

История термина

Kanban – японский термин, который начали использовать применительно к производству в 60-х годах 20-го века в компании Toyota. В основу данного принципа положен конвейерный метод производства, а также различные скорости выполнения отдельных технологических операций на производстве. Попробую объяснить на пальцах. При любом производстве есть основное производство («главный конвейер») и дополнительное производство («дополнительные конвейеры»). Темп выпуска конечных изделий задает главный конвейер, в то время как дополнительные конвейеры не могут ускорить темп выпуска изделия, но могут замедлить его, в случае несвоевременного выпуска требуемых деталей.

Читайте также:  Что для вас значит его медицинская профессия

Дополнительно, при производстве может произойти смена приоритетов. К примеру выяснилось что станция, которая производила левые зеркала произвела 20 шт., а станция производившая правые зеркала — 10 шт., в то время как на конвейере находятся 15 автомобилей и необходимо 15 штук зеркал обоих типов. Налицо конфликт метрики — количественно производство не упало (дополнительные конвейеры выпустили 30 изделий в срок), но производство все равно рискует остановится. Kanban призван помочь с этой проблемой.

В упрощенном варианте, Kanban включает в себя два простых правила:

  • производственная станция имеет план производства деталей («backlog»). План отсортирован по приоритету, и может меняться в любое время (к примеру станция производящая слишком много левых зеркал должна иметь возможность переключиться на правые как можно скорее);
  • количество задач, выполняемых на станции одновременно ограничено (т.е. производить не более заданного количества зеркал одновременно). Это ограничение необходимо для управления скоростью производства на станции, а также скоростью реагирования на изменения плана.
Настоящее время

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

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

Отдельно необходимо отметить, что Kanban хорошо работает в стартапах, не имеющих четкого плана, но активно работающих над разработкой. Предлагаю рассмотреть пример использования Kanban в разработке программного обеспечения. Заранее прошу простить за некрасивые иллюстрации. Давайте представим себе команду из одного разработчика, работающего над небольшим проектом. План разработки (backlog) отсортирован в порядке приоритета кусков работы, лимит команды на задачи в процессе — 1 шт.

Для управления процессом руководитель проекта может:

  1. изменить лимит на количество задач в работе;
  2. добавить задачу с более высоким приоритетом (к примеру p0) для того чтоб она была взята как можно скорее;

В процессе работы может так произойти, что работа заблокирована (сломался хостинг, не скачан нужный framework и т.д.). В общем случае, заблокированная работа возвращается в backlog, и выбирается новая задача, с максимальным приоритетом. В зависимости от характера задач и типа команды лимит может быть увеличен или уменьшен. К примеру, наш разработчик может одновременно рисовать форму регистрации и смотреть за процессом развертывания нового сервера. Тем не менее, если время завершения задач будет меньше требуемого, руководитель проекта может уменьшить лимит, или увеличить команду. Таким образом, при грамотном руководстве, Kanban обеспечивает максимально возможную для данной команды скорость работы, максимальную скорость реагирования на изменения и в то же время сократить «расходы» на поддержку методологии. В общем все! Kanban — это не просто, просто. Это очень просто!

К ограничениям Kanban’а при использовании его в продуктовых командах можно отнести:

  • данная методология плохо работает с большими командами (больше 5 человек);
  • в чистом виде, Kanban плохо работает с кросс-функциональными командами. Т.е. в отличие от Scrum, тяжело совместить тестирование и разработку в одной команде. Более удачной мыслью является разбить процесс на «станцию» разработки и «станцию» тестирования с отдельными руководителями и backlog-ами;
  • ввиду своей истории и специфики, Kanban не предназначен для долгосрочного планирования.
Заключение

В заключение, хочу добавить, что сравнение любых методологий по принципу «кто круче» не продуктивно и контр-конструктивно (капитан очевидность). Каждая, более-менее распространенная, методология имеет свои плюсы, минусы и границы применения. Дополнительно, Agile-методологии в принципе накладывают большие требования на сработанность и опыт членов команды.

В случае возникновения интереса к теме продолжу рассмотрение Kanban’a подробнее. В последствии, предлагаю разобрать по полочкам и картинкам Scrum и RUP.

Более подробно, и наглядно можно посмотреть в:

Источник

Методология Kanban: доски, принципы и возможности управления

Управлять командой нелегко. Особенно в digital. Нужно организовать работу так, чтобы и дедлайны соблюдались, и заказчик был доволен.

Вы когда-нибудь собирали вместе группу людей, чтобы создать продукт или запустить проект? В качестве бонусов — жёсткий дедлайн, объемное техзадание и несговорчивый заказчик. Получилось? Всему этому мы учим на курсе «Руководитель digital-проектов».

Волшебной таблетки для решения всех проблем не существует. Но есть методы, которые упрощают работу команды. Один из них ― Kanban.

Пишет про управление в Skillbox. Работала координатором проектов в Русском музее, писала для блога агентства
CRM-маркетинга Out of Cloud.

Что такое Kanban

Kanban ― это метод улучшения процессов разработки и часть agile-философии. В его основе ― «Манифест гибкой разработки программного обеспечения».

Цель Kanban

Только одна ― получать готовый качественный продукт вовремя. Давайте разбираться, как этого добиться.

Kanban начинается с визуализации, чтобы процессы были на виду у команды. Для этого используют специальную доску и набор карточек или стикеров.

Доски Kanban

Доска ― это обязательный элемент для гибкой методологии. Она есть в Scrum, есть и в Kanban. Каждый член команды получает к ней доступ в любое время и видит, на каком этапе находится задача.

Доска подойдёт и реальная, и виртуальная: можно использовать простую пробковую или программы вроде Trello. Kanban-доска подстраивается под любой процесс и применяется в любой области. Например, чтобы составить список дел.

Как устроен Kanban в проектах

У каждого проекта есть план процесса работ. Сначала мы его анализируем и разделяем доску на столбцы, которые отражают этапы. Например, для процесса создания IT-проекта этапы могут быть такими:

Имена столбцов меняются в зависимости от проекта, но важно сохранять их последовательность ― это ключевая ценность Kanban, которую называют потоком.

Kanban-карточки ― это задачи, которые движутся по потоку и перетекают в другие столбцы в зависимости от их состояния. На карточке или стикере пишут название задачи и прикрепляют в начало доски.

C помощью kanban-доски легко вести несколько проектов одновременно, используя карточки разных цветов: один цвет ― один проект.

На доске отражаются все процессы. Команда их анализирует и устраняет слабые места. В Kanban это называется управлением потоком.

Чтобы использовать Kanban, одной доски недостаточно. Команда должна знать принципы, по которым работает.

Команда в Kanban ― единый механизм. Если кто-то не справляется, то страдает общее дело. Работу планируют на доске, поэтому каждый может увидеть свой вклад и ценность для проекта.

В Kanban смешались принципы agile-методологий и lean-мышления. Здесь нет жёстких правил, но есть принципы, на которые можно опираться.

Как помогает визуализация

Визуализация помогает видеть картину целиком и корректировать отдельные её части, понимая, как изменения затронут весь проект. Получить результат точно в срок возможно, если контролировать нагрузку команды. Определите количество задач: сколько команда реально способна решать в установленные сроки. Например, в «Проектировании» одновременно ― не больше двух задач, а на «Тестировании» ― только одна. Всё в зависимости от возможностей команды.

Ситуация: разработчик ещё не закончил с текущей задачей, а ему уже поступила следующая. Он не успевает и тормозит всю работу.

Решение: прекратить передавать задачи в разработку и дать программисту время закончить текущую.

Важно найти баланс: выбрать темп работы, который удобен команде и не вредит срокам проекта. Для этого в Kanban учитывают время выполнения каждой задачи. Так команда понимает, что занимает больше времени, а что ― меньше, и может правильно организовать работу.

Ситуация: на этапе тестирования продукта возникли трудности. Нужно больше времени.

Решение: выяснить, какую часть работы можно сделать быстрее, не потеряв в качестве. Или выделить сотрудника, который свободен и поможет тестировщику.

Чем отличаются
Kanban и Scrum

Kanban часто путают или объединяют с гибкой методологией Scrum. Но это не совсем так.

KANBAN SCRUM
Нет совещаний Есть совещания
Нужна отправная точка Не нужна отправная точка
Могут работать узкопрофильные команды Только кроссфункциональная команда
Последовательные и плавные перемены Кардинальные перемены
В команде нет разделения на роли В команде есть разделение на роли

Представьте, что разработка ведётся по стандартному водопадному подходу. Много времени уходит на утверждение документации, а ошибки всплывают в самый последний момент. Команда понимает, что пора меняться. Scrum сейчас популярен, все говорят о его пользе. Но страшно: придется уйти от привычного процесса разработки, а вдруг не поможет.

В такой ситуации лучше начать с Kanban. Если команда заметит явные улучшения, то после сможет решиться и на Scrum.

Команда уже внедрила Scrum, но хочет продолжать совершенствовать процесс. Тут снова поможет Kanban.

Как внедрить Kanban

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

Заключение

Теперь вы знаете, что есть Kanban, как использовать метод и чем он отличается от Scrum. И уже готовы проверять всё в деле. Теория ― это хорошо, но нужна практика. И лучше практиковаться без опасений, что одно неверное движение может навредить проекту.

В Skillbox есть курс, который прокачает вас в управлении проектами. Вы сможете внедрять в свою работу любые agile-системы и будете уверены в результате.

Источник

Оцените статью