Существуют два наиболее популярных подхода в разработке: Waterfall и SCRUM. В чем разница и почему их два?
Это отрывок из курса – "База IT для бизнеса за час"
Waterfall — каскадная модель
Это самый простой, популярный и устаревший подход в разработке. Он хорошо подходит для простых проектов и совсем не подходит для сложных. У него есть всего одно достоинство: вы сразу знаете, сколько будет стоить проект. Недостаток этого подхода заключается в том, что проект, скорее всего, потребует значительных доработок в будущем.
Чаще всего компании, используя такой метод, сталкиваются именно с этим недостатком — заказанный проект не работает так, как им нужно. Связано это с тем, что очень тяжело описать необходимые потребности и невозможно учесть все тонкости, даже если вы до тошноты запишете каждый вдох.
Cо стороны разработчика всегда сложно оценить, сколько займет разработка и какие трудности могут возникнуть в процессе. Также в процессе знакомства с результатами может появиться понимание того, что задумка должна была быть другой.
В ней существует следующий порядок:
- Определение требований
- Проектирование
- Конструирование (также «реализация», либо «кодирование»)
- Воплощение
- Тестирование и отладка (также «верификация»)
- Инсталляция
- Поддержка
Такой подход к управлению проектами не устраивал отрасль, и в 2001 году был изобретен гибкий метод разработки SCRUM.
SCRUM
SCRUM — это гибкий метод разработки. Он активно применяется в разработке ПО и других отраслях. Например, мы активно используем его в маркетинге. Глобально этот подход является противоположностью Waterfall. Используя его, вы можете получить более качественный результат. Однако недостаток заключается в том, что стоимость проекта может меняться в процессе работы. Чтобы описать этот метод, мы опишем основные элементы этого подхода.
История пользователя (User Story)
Все потребности клиента записываются через истории. История имеет следующую структуру:
«Будучи пользователем <тип пользователя>, я хочу сделать <действие>, чтобы получить <результат>».
Такая структура удобна тем, что понятна как разработчикам, так и заказчикам. Все истории превращаются в задачи, которые потом разрабатываются командой.
Пример истории
«Будучи пользователем <Менеджер по продажам>, я хочу <выгрузить всех покупателей из магазина>, чтобы получить <excel-файл с их ФИО, телефоном и email>»
Спринт
Спринт — это небольшой отрезок времени, за который должны быть разработаны несколько историй. Он может длиться от 1 до 4 недель. В конце каждого спринта происходит демонстрация результата спринта заказчику. Таким образом заказчик может корректировать полученные результаты и изменять какие-то фрагменты по частям. Весь проект по методике SCRUM разделен на спринты.
Основные ритуалы
Планирования спринта
На этом совещании происходит выбор и оценка историй проекта. Каждую историю оценивают в абстрактной валюте. Обычно это пойнты, но может быть что угодно — собачки, котики или попугайчики. Разработчики голосуют карточками в закрытой форме, на сленге это мероприятие «покер». Полученная оценка записывается к истории. После реализации этой истории можно будет оценить производительность команды или разработчика. Это очень важная информация для будущего спринта, которая позволяет лучше планировать следующие действия.
Демо-день
День, когда заказчику показывается реализованная история, называется демо-днем. В этот момент можно внести корректировки и убедиться, что результат подходит под техническое задание и выполняет поставленные задачи. Если оглашаются какие-то доработки или новые идеи, то они уходят в новый спринт.
Дейли, или Стендап
Это ежедневное совещание, на котором каждый участник рассказывает, какие задачи он выполнил вчера и какие планирует сегодня. Это очень важное мероприятие, которое позволяет решать общие вопросы внутри команды. Также это очень полезно для каждого участника в отдельности, потому что позволяет лучше анализировать свою деятельность и повышать производительность труда.
Ретроспектива
Цель ретроспективного совещания — выработка предложений по совершенствованию процесса. Участники проекта анонимно описывают на карточках проблемы и хорошие стороны работы над проектом. После все карточки открываются и обсуждаются.
Более подробную информацию можно найти тут: