Agile / Waterfall / Kanban / Scrum: назначение инструментов,подходы и принципы работы с ними
Разработка любого продукта подразумевает четкое планирование операций, разработку средств и методов решения рабочих задач. Существует несколько подходов к этому процессу, которые призваны помочь команде повысить качество результата, снизить издержки, расходы и риски. Методологии Agile, Scrum, Waterfall, Kanban сегодня должен иметь в своем арсенале каждый менеджер проекта.
Agile
Agile – что это за методика, получившая в современном продакт-менеджменте особую популярность? Под этим термином подразумевается гибкая методология при разработке продукта. Чаще всего она применяется в IT-технологиях небольшими группами специалистов, занятых однородной творческой работой. Этот метод отличается итерационным характером разработки, непосредственным взаимодействием разработчиков друг с другом и клиентом, гибким подходом к принятию решений. Его следует рассматривать скорее как систему ценностей, а не четких практик. К принципам Agile относятся следующие приоритеты:
- людей и коммуникации между ними над процессами и инструментами;
- работающего продукта над исчерпывающей документацией;
- взаимодействия с клиентом над заранее согласованным ТЗ (контрактом);
- готовности к изменениям над строгим соблюдением плана.
Waterfall
Данная модель используется в продакт-менеджменте с 70-х годов прошлого века. Другое ее название – каскадная или водопадная разработка, в основе которой лежит принцип последовательного и четкого соблюдения заранее разработанного плана. При таком подходе каждый шаг предварительно продуман и зафиксирован, поэтому обычно он применяется в тех проектах, где влияние непредусмотренных факторов минимально или отсутствует вовсе. Типичная схема каскадной разработки выглядит следующим образом: аналитика – проектирование – разработка – тестирование – эксплуатация и поддержка. В общем виде методологию Waterfall можно описать в следующих принципах:
- разработка осуществляется в точном соответствии с заранее составленным ТЗ;
- работа выполняется последовательно, без пропущенных и неоконченных этапов;
- при внесении клиентом новых требований после согласования проекта полностью переделывается ТЗ;
- разработка представляет собой непрерывный и общий процесс без итераций;
- выявление и исправление ошибок осуществляется только на стадии тестирования;
- разработчики не взаимодействуют с клиентом после составления и согласования ТЗ.
Kanban
Эта методология впервые была применена фирмой «Тойота», ее название переводится с японского как «доска объявлений». Она родилась из практики вывешивания мастерами участков перечней выполняемых работ. В основу данной системы положен принцип «точно в срок», заключающийся в организованном выполнении производственных операций в назначенное время. Методология Kanban применяется главным образом в небольших коллективах, она позволяет равномерно распределить обязанности между сотрудниками и сделать процесс разработки максимально прозрачным. Основные принципы такой системы:
- опора на имеющиеся методы разработки и стимулирование дополнительных изменений в них;
- предварительная договоренность о важных изменениях, поощрение небольших и эволюционных перемен в производственных процессах;
- четкое соблюдение и уважение существующих ролей и обязанностей, но с поощрением инициативы каждого разработчика.
Scrum
Основой для этой системы стали принципы, которыми руководствуются военные отряды и команды в регби. Разница между Scrum и Agile заключается в том, что первое – это конкретная методология, а вторая – система базовых ценностей. Процесс разработки при данном подходе разбивается на спринты – короткие периоды, в течение которых разработчики должны создать готовую часть (инкремент) продукта и продемонстрировать его клиенту на специальном совещании, чтобы получить обратную связь. Scrum-технология сводится к следующим принципам:
- заказчик должен получить готовый работающий продукт в максимально короткие сроки;
- разработка строится на активном взаимодействии членов команды, каждый из которых стремится к общей цели;
- заказчик и пользователи являются неотъемлемой частью команды и активно участвуют в работе;
- тестирование осуществляется в конце каждого спринта (итерации) для более гибкой и оперативной коррекции ошибок.
Все перечисленные методологии сегодня продолжают активно использоваться в управлении проектами. Квалифицированный продакт-менеджер должен знать, зачем нужна каждая из них, и четко понимать, чем отличается Scrum от Kanban, где применить гибкую Agile-методику и твердую Waterfall-систему.