что такое agile scrum и kanban
Сравнение Scrum и Kanban. Какая методика Agile подойдет вам?
Прочитайте о главных аспектах, на которые стоит обращать внимание при выборе между Scrum и Kanban, и узнайте, что делать, если не можете решиться с выбором.
Просмотр тем
Описание. Сравнив Kanban и Scrum, мы рассмотрим две различные стратегии для внедрения системы разработки или управления проектами по методике Agile. Методики Kanban предполагают непрерывность и большую подвижность, а Scrum основывается на коротких структурированных спринтах работы.
Agile — это набор идеалов и принципов, которые служат нам ориентиром. DevOps — это способ автоматизации и интеграции процессов команд разработчиков и операционных команд. Внедряя Agile и DevOps, следуйте методике Kanban или Scrum. Каждая из них предлагает свой вариант управления многосоставной работой.
Указать на различия между методологиями scrum и kanban несложно, но это даст лишь поверхностное представление. Хотя методологии различаются, их принципы в целом одинаковы. Обе помогают улучшить качество продуктов (и сервисов) и избавляют от множества проблем.
Итак, на чем мы остановились?
Agile — это структурированный итеративный подход к управлению проектами и разработке продуктов. В нем учитывается непостоянный характер разработки продуктов. Самоорганизующиеся команды, выбравшие этот подход, получают возможность реагировать на изменения, не отклоняясь от намеченного пути. В наши дни agile не дает особого преимущества перед конкурентами. Сегодня просто невозможно разрабатывать продукт в течение нескольких месяцев или даже лет в условиях полной секретности. А значит, сейчас как никогда важно работать правильно.
Суть Kanban в визуализации работы, ограничении объема незавершенной работы и достижении максимальной эффективности (или скорости). Kanban-команды стремятся максимально сократить время, которое уходит на выполнение проекта (или пользовательской истории) от начала до конца. Для этого они используют доску Kanban и непрерывно совершенствуют свой рабочий процесс.
Задача команд Scrum — поставить работающее ПО за ряд промежутков времени, которые называются спринтами. Они стремятся создавать циклы обучения для быстрого сбора и учета отзывов клиентов. Scrum-команды используют особые роли, создают специальные артефакты и проводят регулярные собрания, чтобы работа шла в нужном русле. Лучше всего методика Scrum описана в руководстве по Scrum.
Scrum
Kanban
Регулярные спринты с фиксированной продолжительностью (например, 2 недели)
В конце каждого спринта
Владелец продукта, scrum-мастер, команда разработчиков
Обязательных ролей нет
Время выполнения, время цикла, объем незавершенной работы (WIP)
Отношение к изменениям
В ходе спринта команды не должны вносить изменения.
Изменение может произойти в любой момент
Scrum — структурированный agile-подход
В рамках Scrum команда берет на себя обязательство поставлять инкремент, обладающий достаточной ценностью, к концу каждого спринта. Scrum по своей сути является эмпирической методологией, которая предполагает, что на основе небольших инкрементов работы вы сможете изучить желания своих клиентов и будете лучше понимать, над чем работать дальше. Scrum состоит из следующих элементов.
График Scrum
В Scrum высокий темп работы достигается путем ее деления на спринты продолжительностью от двух до максимум четырех недель с точными датами начала и окончания. Из-за узких временных рамок сложные задания приходится делить на более мелкие истории, и команда быстрее учится. Сможет ли команда за это время поставить пригодный для использования код? Вот в этом — главный вопрос.
Ключевыми точками в спринте являются собрания по планированию спринта и по обзору итогов спринта, а также ретроспективы. Кроме того, в ходе спринта проходят ежедневные scrum-совещания (стендапы). Эти scrum-собрания не отнимают много сил и проводятся на регулярной основе.
Подходы к релизу
Сейчас при использовании scrum продукт нередко выпускается по ситуации, но долгое время рекомендовалось выпускать продукт в конце каждого спринта. Команды ставят цель для каждого спринта (цель спринта) и на собрании по обзору итогов спринта принимают решение, выпускать результат работы или нет.
Роли в Scrum
В scrum четко обозначены три роли.
Кто руководит командой scrum? По факту никто. Команды scrum проповедуют принцип самоорганизации; в них все участники равны, хоть и исполняют разные обязанности. Команду объединяет общая цель: поставить ценный продукт клиентам.
Ключевые показатели
Скорость — сумма очков оценки сложности, отражающая объем работы, которую выполнили за спринт. Это базовый показатель для команд scrum. От него зависит, какой объем работы команда возьмет на себя в будущих спринтах. Если команда в среднем за спринт может заработать 35 очков оценки сложности (скорость = 35), она не примется за бэклог спринта, содержащий задач на 45 очков.
Отношение к изменениям
Команды очень стремятся не менять объем работ во время спринта. Однако иногда scrum-команды получают отзывы и понимают, что то, над чем они работают, не так ценно для клиента, как казалось раньше. В таких случаях объем спринта следует изменить, ведь нет ничего важнее, чем поставить ценный для клиента продукт. В рамках ретроспективы спринта команды scrum должны обсуждать, как свести число изменений к минимуму в будущем, так как они ставят под угрозу возможность создания готового к поставке инкремента.
Подробнее о методологиях scrum см. в статье Что такое scrum?.
Kanban — непрерывное совершенствование, гибкие процессы
Суть Kanban — в визуализации работы, ограничении объема незавершенной работы (WIP) и быстром перемещении задач от стадии «Выполняется» на стадию «Завершено».
Kanban отлично подходит командам, которым поступает множество запросов, различающихся по важности и объему работы. В отличие от методологии Scrum, в которой требуется строгий контроль за задачами в запланированном объеме, Kanban позволяет адаптироваться к изменениям. Мы рассмотрим пять факторов, чтобы вам легче было принять решение.
Модель Kanban
В основе kanban лежит непрерывная структура рабочего процесса, дающая командам свободу действий и возможность меняться вместе с изменениями приоритетов. Рабочие задачи представлены карточками на доске kanban и перемещаются из одной стадии рабочего процесса (столбца) в другую. Обычно рабочий процесс подразделяется на стадии «Предстоит сделать», «В процессе», «На проверке», «Заблокировано» и «Завершено». Но это не самый интересный способ разбить процесс.
Возможность создавать собственные столбцы в зависимости от того, как работает ваша команда, — лучшая особенность Kanban. Моя команда поставляет контент, поэтому задачи проходят столбцы (упрощенно) «Бэклог», «Приоритеты расставлены», «Схема набросана», «Написание», «Оформление», «Техническая экспертиза» и «Поставлено». С помощью нашей доски мы узнали, что поставляем примерно одну порцию контента в неделю, и поняли, где у нас проблемные места. (Да, это именно «Техническая экспертиза»!)
Подходы к релизу
В kanban обновления выпускаются по мере готовности; регулярный график или заранее определенные сроки отсутствуют как таковые.
Теоретически в рамках kanban не требуется устанавливать точный срок для завершения задания. Если задание выполняется раньше (или позже), результат выпускается по мере необходимости: для выпуска не нужно ждать контрольной точки, например собрания по обзору итогов спринта.
Роли в Kanban
Доска Kanban принадлежит всей команде. Некоторые команды привлекают к участию тренера по agile, но Kanban, в отличие от Scrum, не предусматривает роль «kanban-мастера», который отвечал бы за устранение шероховатостей в процессе работы. Команда несет коллективную ответственность за совместное выполнение заданий на доске и поставку результатов.
Ключевые показатели
Время выполнения и время цикла — важные показатели для команд kanban. Они отражают, сколько в среднем уходит времени на выполнение работы от начала до конца. Сокращение времени цикла говорит об успехе kanban-команды.
Еще одним аналитическим инструментом является сводная диаграмма процесса. Глядя на нее, команды понимают, сколько рабочих задач находится на каждой стадии. С ее помощью можно выявить проблемные места, которые нужно устранить для повышения производительности.
Другое средство борьбы с проблемными местами — лимиты незавершенной работы (WIP). Они позволяют ограничить максимальное количество карточек, которые могут находиться в любом столбце одновременно. Когда лимит WIP достигнут, специальный инструмент, например Jira Software, помечает этот столбец, и команда направляет свое внимание на эти задачи, чтобы передать их на следующие стадии.
Отношение к изменениям
В kanban рабочий процесс можно менять в любой момент. В зависимости от приоритетов новые рабочие задачи можно добавлять в бэклог, а существующие карточки — блокировать или вовсе удалять. В случае изменения производительности команды можно соответствующим образом скорректировать лимит WIP и изменить рабочие задачи. Суть kanban — в гибкости.
Подробнее о методике kanban см. в статье Что такое kanban?.
Сравнение инструментов Scrum и Kanban
Сторонники agile не склонны рассуждать об инструментах. Нередки случаи, когда выбор инструмента определяет выбор методологии, а выбор методологии определяет принципы, которых придерживается команда. Мы же считаем, что процесс принятия решения должен идти в обратном направлении.
Только после того, как вы освоили принципы scrum и пришли к выводу, что scrum полностью отвечает вашим потребностям, следует выбирать оптимальный инструмент scrum. То же можно сказать и про kanban. Конечно, наше мнение предвзято, но мы считаем, что Jira Software, лучший инструмент для разработки ПО, используемый agile-командами, обеспечивает любые потребности.
Jira позволяет создавать проекты специально под scrum и kanban, чтобы вы могли реализовывать принципы каждой методологии. Кроме того, вы всегда можете обратиться за помощью к нашим руководствам по применению scrum с помощью Jira Software и применению kanban с помощью Jira Software.
Kanban или Scrum — не можете выбрать?
Применять Scrum и Kanban — значит следовать всем правилам Agile. Эти методики прошли проверку временем и, откровенно говоря, им сложно что-либо противопоставить. Переиначив известный девиз IBM, можно сказать, что еще никого не уволили за выбор Scrum.
Но решение необязательно должно быть категоричным. Сотни команд используют гибридные модели, разработанные под влиянием и Scrum, и Kanban. В Jira Software мы предусмотрели все необходимое и создали проекты команды.
Проекты команды, как видно из названия, позволяют командам самим выбирать возможности Agile, которые им нужны. Это могут быть элементы Scrum, Kanban или их сочетание. Необязательно брать за основу одну методологию в первый же день работы. В проектах команды можно поэтапно добавлять все более и более мощные возможности по мере понимания того, что подходит команде (а что нет).
Выбирая проект команды Scrum или Kanban, вы не рискуете, ведь шаблоны обоих типов можно дорабатывать с учетом потребностей команды.
Что бы вы ни выбрали, не спешите менять методологию. Пусть какие-нибудь рабочие задачи из бэклога пройдут весь путь до стадии «Завершено», и только потом спросите команду, что удалось, а что нет. Знакомьтесь со Scrum и Kanban, задавайте эти вопросы, и в конечном счете вы познаете радость следования Agile.
Скрам умер. Да здравствует канбан
Я пользовался методом управления проектами Scrum (скрам) с самого начала карьеры. Я изучал скрам в колледже. Тогда он считался лучшим методом управления разработкой программного обеспечения. Когда я начал работать, мне нравилось всё, что имеет отношение к скраму: ежедневные встречи, планирование, ретроспективные совещания, спринты и так далее. В конце концов, я пользовался на практике тем, чему меня учили.
Но через несколько лет я начал кое-что замечать: в последние дни спринта все бросаются доделывать всё то, чем занимались в предыдущие две недели, стремясь избежать переноса задач на будущее. Часто те, кто так поступали, брали на себя ненужный риск.
Почему? Разве какие-то задачи не могут подождать до следующей недели? Так ли важно доделать абсолютно всё до выходных? Нет, не так уж это и важно. А всё это происходит из-за того, что «Переносы задач — это плохо».
Скрам — это уже не совсем «гибкая методология разработки»
Я пришёл к выводу о том, что в скрам слишком большое внимание уделяется процессу работы. Или, как минимум, люди обращают на это слишком много внимания, что выражается в следующем:
Учитывая всё вышесказанное, я могу отметить, что члены моей команды начали чувствовать недовольство от происходящего. Это повлияло на качество того, что мы создавали. Программисты больше заботились о том, чтобы уложиться в срок, чем о том, чтобы достичь нужного уровня качества.
В этот момент мы начали поиск других возможностей организации работы, поиск другого agile-фреймворка, который лучше подошёл бы к используемым нами методам работы.
Тогда мы нашли Kanban (канбан).
Что такое канбан?
Канбан — это метод управления производством, который появился в компании Toyota в 1950-х годах. В то время в Toyota использовали доску с тремя колонками: «Запланировано», «В работе», «Завершено». Данный фреймворк позволял Toyota более эффективно выделять ресурсы в ситуациях, когда где-то на производственной линии возникали узкие места.
Затем, когда стало ясно, что применение канбан способно повысить скорость разработки ПО, канбан перенесли и в сферу технологий.
Сравнение фреймворков скрам и канбан
В последние годы скрам и канбан сражаются за место ведущего agile-фреймворка. Несмотря на то, что скрам занимает первое место, канбан постепенно распространяется всё сильнее. А что если их сравнить?
Если взять за основу скрам и сравнить его с канбан, то получится следующее:
Канбан даёт команде разработчиков достаточно высокий уровень гибкости. Пользовательские истории, в сравнении со скрам, выполняются в более свободной манере. Но свобода — это ответственность. Несмотря на то, что канбан не требует того, что разработчики каждые две недели берут на себя какие-то обязательства, применение этого метода управления разработкой предусматривает собственные средства контроля за работой. Это, например, такие метрики, как время цикла и пропускная способность системы.
Всё дело в метриках
Нельзя оценить эффективность (или неэффективность) работы, не имея специализированных метрик. Рассмотрим метрики, применяемые в скрам и в канбан.
▍Метрики скрам
При применении скрам используются следующие метрики и графики:
«Скорость» не измеряет скорость выпуска готовых подсистем продукта. Эта метрика оценивает лишь количество выполненных этапов работы, имеющих отношение к некоей пользовательской истории. Если на работу над историей уходит больше времени, чем было запланировано, эта метрика оказывается бессмысленной.
«Соотношение обязательств, которые взял на себя разработчик, к объёму выполненных задач» вообще не должно рассматриваться как метрика. Эта «метрика» сопоставляет обязательства с результатами. Не стоит и говорить о том, что это может привести к тому, что люди будут закрывать и повторно открывать задачи только для того, чтобы они были бы «выполнены».
«Диаграмма сгорания задач» — это то, на что лично я никогда не обращал особого внимания. В основном это так из-за того, что подобные диаграммы часто выглядят примерно так, как показано ниже.
Диаграмма сгорания задач
Почему это так? Предположим, вы начинаете с пустой доски, и приступаете к параллельной работе, например, с тремя пользовательскими историями. Работы по этим историям, вероятно, будут вестись с одинаковой скоростью — именно поэтому на диаграмме сгорания задач можно видеть такие мощные нисходящие движения. Более того, если в команде имеется всего один тестировщик, который должен тестировать результаты выполнения работ по всем задачам, то он окажется узким местом команды.
▍Метрики канбан
Я полагаю, что метрики — это самая важная из сильных сторон канбан. В канбан имеется множество различных метрик, которые помогают лучше понять то, что происходит с командой. Например:
Кумулятивная диаграмма потока
Существует плагин для Jira, который позволяет пользоваться всеми этими метриками. Это — ActionableAgile for Jira — Agile Metrics. Он помогает исследовать метрики, имеющие отношение к деятельности команды, используя ту же платформу, что используется для управления работой.
Адаптация канбан
Применение «чистого» канбан не предусматривает выполнение некоторых операций, обязательных при применении скрам. Но этот метод управления проектами достаточно гибок и позволяет, если подобные действия кажутся полезными, добавлять их в рабочий процесс.
Ретроспективные совещания — это один из самых важных видов совещаний. Именно на таких совещаниях члены команды могут поговорить о том, чего удалось достичь, о том, что прошло не совсем удачно, о том, что можно улучшить. Ретроспективное совещание — это спокойное мероприятие, на котором можно рассказать о своих проблемах и поздравить с успехом тех, кто отлично справился со своими задачами.
Несмотря на то, что ретроспективные совещания не являются необходимыми в канбан (в скрам они проводятся в конце каждого спринта), мы сочли их ценными мероприятиями и не стали от них отказываться. На самом деле, мы даже начали проводить их еженедельно, а не каждые две недели, как раньше. Это позволило нам быстрее реагировать на возникновение каких-либо проблем. Мы, кроме того, используем эти совещания для того чтобы анализировать метрики команды и проверять рабочие процессы на наличие проблем и узких мест.
Мы сохранили и ещё один элемент из наших скрам-времён, который необязательно применять при использовании канбан. Речь идёт об оценке времени, необходимого для работы над пользовательской историей. Это делается в ходе уточнения задач, которые входят в историю. В скрам подобные оценки используются для того чтобы лучше понять то, что «поместится» в спринт. Можно подумать, что, так как в канбан нет спринтов, то оценка историй тут не нужна. Но, на самом деле, это не так.
Оценка сроков, необходимых на выполнение пользовательской истории помогает обеспечить то, что все члены команды одинаково видят объём задач, который необходимо решить в ходе работы над историей. Если кто-то даёт истории оценку в 8 баллов, а кто-то — в 3, очевидно то, что нужно продолжить обсуждение этого вопроса. Кто-то может, оценивая сроки, учитывать какие-то проблемы, о которых другие не знают. В чьём-то понимании в объём работ по пользовательской истории должно входить что-то такое, что другие в таком качестве не рассматривают.
Собственно говоря, всё это подталкивает членов команды к дискуссиям.
Когда происходит нечто подобное, становится очевидным то, что не у всех есть чёткое понимание того, какой объём работ нужно выполнить по некоей пользовательской истории.
Ещё один часто встречающийся сценарий выглядит так: вся команда даёт трудоёмкости истории довольно высокую оценку (обычно это — всё, что больше 8 баллов). Это говорит о неуверенности. Это значит, что либо речь идёт о большом объёме работы, либо — о решении очень сложных задач, что вызывает у членов команды неприятные ощущения. В подобном случае лучше всего будет разделить пользовательскую историю на несколько более мелких историй и чётче определить цели работ.
Итоги
Скрам навсегда останется в наших сердцах как первая широко распространившаяся agile-методология. Но по мере того, как компании переходят к схемам непрерывного развёртывания решений, использование спринтов, ограниченных по времени, больше не имеет смысла.
Всегда будут существовать особые проекты, в которых скрам способен отлично себя показать. Правда, учитывая то, что в компаниях всё чаще пользуются agile-методологиями, канбан постепенно выйдет на первое место, сместив с него скрам.
Что больше подходит вам? Скрам или канбан?
Agile/Scrume/Kanban как выравнивать процессы, максимизировать процессы
Материал подготовлен в рамках обучения Product University, январь, 2021
Для начала определим кто такой менеджер?
Менеджер — это человек производящий и управляющий потоками, для оптимизации производственной деятельности и достижения поставленных целей и результатов.
Менеджер должен уметь правильно ставить задачи команде, следить за результатами поставками, он также должен знать основы Agile, Scrume, Kanban. Чтобы иметь представления как работать с командой.
Agile (agile software development, от англ. agile – проворный, шустрый, сообразительный) – это семейство «гибких» подходов к разработке ПО.
А теперь простыми словами, некоторые считают что Agile это методология, но любой опытный Product Manager скажет Вам что Agile это способ мышления он не включает практики, а определяет принципы и ценности это некая философия, которыми руководствуется команда.
Подход к проектам по разработке ПО
• Гибкая методология разработки,
• Постоянное формирование требований на основе целевого видения продукта
• Короткие горизонты планирования (1-2 мес.)
• Реализация внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля
• Каждый участник процесса «конвейерной сборки» вовлекается в процесс переосмысления своих задач и общего дела; каждый может вносить изменения и даже остановить разработку
1. Люди и взаимодействие важнее процессов и инструментов;
2. Работающий продукт важнее исчерпывающей документации;
3. Сотрудничество с заказчиком важнее согласования условий контракта;
4. Готовность к изменениям важнее следования первоначальному плану.
Таким образом, не отрицая важности того, что справа, всё-таки больше ценится то, что слева.
Особенность реализации проектов
• Фиксированы срок и стоимость проекта.
• Лучший контроль качества – контроль результата каждой итерации
Scrum (в переводе с англ: схватка, потасовка, толпа) — методология управления проектами, применяется при необходимости гибкой разработки; методология делает акцент на качественном контроле процесса разработки
Scrum – самая популярная из гибких методологий разработки
Позволяет решать задачи
• с минимальными затратами.
РЕЗУЛЬТАТ КАЖДЫЕ 2 НЕДЕЛИ!
В Scrum задачи принято оценивать в Story points или в часах. Без оценки не получится сформировать спринт: ведь нам нужно знать, успеем ли мы сделать задачи за 2 недели. Через 2 недели мы получаем ценную статистику — сколько часов или Story points команда смогла сделать за спринт.
Velocity — это производительность команды за один спринт. Этот параметр позволяет Scrum менеджеру предсказать, где команда будет через 2 недели.
Перед началом спринта команда сама формирует список задач на итерацию, далее запускается спринт.
ОЧЕНЬ ВАЖНА РОЛЬ ВЛАДЕЛЬЦА ПРОДУКТА, который постоянно участвует в проекте, понимает, что должно быть достигнуто, оценивает все риски и выгоды.
По методологии Scrum, оптимальной является группа из 5-9 ЧЕЛОВЕК.
Как максимизировать и выравнивать процессы?
На самом деле здесь уже все продумано, и придумать велосипед не нужно!
Используется всего четыре артефакта:
Sprint Backlog – это обязательство команды: что они должны выполнить за ближайшие 2 недели. Каждое требование разделено на задачи, которые представлены на доске.
Это краткое описание того, ради чего выполняется данный спринт, цель на спринт помогает команде принимать обоснованные решения.
Этот артефакт необходим для того, чтобы команда проекта могла самостоятельно принимать решение в случае появления альтернативных путей решения задачи. Чтобы решения команды были осознанными, Product Owner определяет цель спринта.
Sprint Burndown Chart
Есть несколько процессов, которые принято называть ритуалами. Каждый ритуал выполняется неукоснительно и в строгом соответствии с подходом. На практике такие процессы стараются немного адаптировать, но ключевые принципы не изменяют.
Ритуалы в скрам это:
Sprint Planning Meeting (встреча по планированию спринта)
Daily Meeting (ежедневная встреча команды).
Scrum Master следит за ходом встречи, побуждает участников высказываться полностью и слушать говорящего.
Sprint Review – сдача спринта Product Owner
По завершению каждого спринта команда обязана провести демонстрацию полученного результат.
Ценность Scrum для обычного заказчика во многом состоит в том, что результат работ (плохой или отличный, не важно) будет продемонстрирован в любом случае. Это знает и команда и Product Owner и другие заинтересованные лица. Если команда не проводит демонстрацию (иное название Sprint Review), то это дискредитирует все преимущества гибких процессов.
Ритуал, который направлен на обмен опытом внутри команды. Встреча проводится после Sprint Review. На встрече присутствует вся команда и Scrum Master. На встрече может присутствовать Produt Owner, если считает нужным.
Методика проведения встречи варьируется в зависимости от проекта, его команды и просто традиций в коллективе. Тем не менее, должны быть озвучены ответы на следующие вопросы:
Kanban, это система управления бережливыми производством (перевод с японского: «сигнал»/«карточка»), которая использует информационные карточки для передачи заказа на всех этапах изготовления. Простыми словами, мы отслеживаем весь путь продукта, от идеи до выхода “на полку магазина”.
Kanban — это метод для разработки продуктов, который помогает наладить текущие процессы и не перегрузить команду. Незавершенные задачи не простаивают и потоком движутся по цепочке создания продукта или его поддержки.
Kanban используют для реализации проектов.
Kanban дает больше гибкости, если под гибкостью понимать частоту смены приоритетов. Если вчера разработчик залил выполненную задачу, а сегодня получили данные с «передовой» и узнали, что вот эта штука не работает так, как было задумано, то дают новые требования. Дополненные новые задачи поднимаются вверх и программист берет эту задачу «сверху», выполняет ее и, к вечеру все работает как надо. Все счастливы и эффективны как никогда.
В Канбан «скорость работы команды» отсутствует и считается только среднее время на полную реализацию задачи
Бэклог — задачи, которые надо выполнить
Задачи, которые в данный момент разрабатываются
Задачи, которые выполнены, но еще не переданные тестировщикам
Задачи, готовы к передаче отделу тестирования
Задачи, которые проходят проверку проект-менеджером (ПМ)
Основной инструмент отображения статуса по задачам. Главный принцип: мы видим на каком этапе производственного процесса находится та или иная задача. Плюс, отслеживается время на всех участках, то есть всегда можно обнаружить “узкие места” в системе и поработать с ними.
Количество столбцов вы определяете сами исходя из особенностей своего проекта. Важно, чтобы это были основные этапы, которые проходит ваш продукт. Пример выше, это плюс-минус основные этапы, которые проходит интернет продукт.