Вступление. О чём в этой статье?
В современном мире управление проектами ведётся по различным методологиям, которые позволяют систематизировать и контролировать процесс создания продукта, реализовывать его максимально быстро, в рамках бюджета, контролировать.
И часто можно слышать такие выражения:
Мы работает по Scrum
У нас используется Agile подход
Давайте сделаем Kanban
В данной статье я расскажу о том, что такое Agile / Scrum / Lean / Kanban, как связаны друг с другом, чем отличаются, какие есть плюсы и минусы каждого из подходов.
На просторах интернета можно найти множество подробных описаний этих методологий, из которых бывает сложно понять в чём же разница. А в данном тексте будут обозначен существенные отличия, чтобы вы легко поняли отличия.
Коротко про терминологию и отличия
Для начала давайте определимся с двумя главными тезисами:
- Agile и Lean – это идеологии, которые формулируют основные принципы. Это верхнеуровневая философия.
- Scrum и Kanban – конкретные методологии, объясняющие как именно, какими методами и инструментами управлять разработкой продукта.
Иными словами:
- Scrum – набор практик и инструментов, основанных на идеологии Agile
- Kanban – набор практик и инструментов, основанных на идеологии Lean
Про Agile-подход и Scrum-методологию
В основе идеологии Agile лежат следующие принципы:
- Быстро создать работающее программное обеспечение, получать фидбэк от пользователей и на основании него дорабатывать продукт. Работа ведётся короткими итерациями.
- Работа поделена между командами, каждая из которых ведёт разработку каждой отдельной «фичи» от старта и до релиза.
На базе принципов Agile создан целый ряд подходов и практик, но одним из самых популярных, за счёт своей структурированности, является Scrum
Основные приёмы методологии Scrum:
- Работа по проекту разбивается на несколько задач.
- Работа над задачами планируется на спринты (2 недели) и в работу берутся те задачи, которые должны быть завершены в течение этого спринта. Если задача требует большего срока, то её нужно разделить на подзадачи, которые будут запланированы в спринт.
- Сложность работ оценивается назначением « Story Points » - сравнительный показатель для оценки сложности работы. Стори поинты не привязаны к конкретным «человекочасам», а используется именно сравнение между задачами: «Эту задачу легче/быстрее сделать, чем эту»; «Эта задача такая же по сложности, как та, которую мы сделали в прошлом спринте»
- Назначается Скрам-мастер, который помогает владельцу продукта в приоритезации задач и бэклога.
- Проводятся ежедневные статус-встречи.
Scrum отлично подходит для тех проектов, где требуется быстрое предоставление результатов и нужна возможность корректировки в процессе работы над продуктом.
Про Lean-подход и Kanban-методологию
Изначально данная методология была разработана компанией Тойота для оптимизации производственных процессов. Филосовия Lean-подхода состояла в том, чтобы в процессе производства детали было минимальное количество лишних действий, или «мусора». Каждый участник процесса изготовления деталей делал ровно ту работу, только в том количестве, которое необходимо для следующего этапа, ровно к назначенному времени (не раньше и не позже). Со временем данный подход стал использоваться в менеджменте, а также в разработке программного обеспечения.
Основные идеи Lean:
- Предоставлять ценность быстро
- С минимумом «мусора» - как в производстве, так и в процессах
- Постоянное повышение качества
- Создавать знания
- Постоянно оптимизировать процесс создания продукта
- Уважение к людям
- Отложенное принятие решений
В рамках Lean-подхода было выделено множество методов, наиболее часто используемый из которых - Kanban.
Основные приёмы Kanban:
- Определить переходные этапы проекта.
- Формируется канбан-доска, на которой размещаются все задачи по проекту, в зависимости от этапа, на котором она находится.
- Каждой командой в работу берётся ограниченный список задач, чтобы не возникало большое количество «зависших», но открытых задач.
- Процесс постоянно оптимизируется, происходит поиск улучшений в результате аналитики по процессу
Kanban, благодаря канбан-доске позволяет быстро увидеть всю картину целиком.
Что в итоге выбрать?
Что же лучше, правильнее для выравнивания процесса работы над продуктом?
Как это всегда бывает – истина где-то посередине.
В условиях неопределённости, в процессе тестирования потребностей пользователя – лучше подходит Scrum, когда каждые 2-4 недели, после спринта, на основании аналитики можно менять требования к продукту.
Kanban отлично подходит, когда процесс производства продукт понятен и нужно верхнеуровнево отслеживать выполнение задач по каждому этапу и находить "узкие" места.
Поэтому Scrum чаще используется в разработке IT -продуктов, а Kanban – на производственных предприятиях.
P.S.
Статья написана в рамках обучения в Product University