Бывают проекты, которым она подходит, — такие, в которых все требования известны заранее и не могут измениться по ходу работы и где нет риска ошибиться. Методики Agile, такие как Scrum, Kanban, и Extreme Programming (XP), представляют собой системы для реализации этих принципов. Аджайл подойдет, когда заказчик хочет влиять на процесс разработки и сразу видеть результаты. Заказчик регулярно отслеживает результаты на разных этапах работы. Благодаря этому можно создать клиентоориентированный продукт.
Все беды и недостатки каскадной методологии вытекают из того, что этапы разработки идут последовательно. Начну с того, за что подход критикуют и применяют ограничено. Waterfall, или каскадная, «водопадная» модель разработки ПО — это одна из методологий, которую применяют при управлении проектами.
Преимущества и недостатки Waterfall
Любое изменение необходимо обязательно согласовывать с Заказчиком. А не достаточный уровень проработки требований несёт за собой увеличение бюджета и сроков проекта, которые довольно сложно оценить. Уокер Ройс придумал циклы водопада 50 лет назад, и с тех пор они не меняются. Кроме того, этапы создания проекта всегда идут в одинаковой последовательности и пропускать какой-то из них нельзя. Выход Agile на первый план связан со сместившимся акцентом на пожелания заказчика при создании программного обеспечения.
Ее нужно постоянно держать в актуальном состоянии, из-за чего работа над проектом превращается в сплошную бюрократию. Пока не согласовать детали со всеми участниками процесса, не формализовать это в виде документа, проект не сдвинется с мертвой точки. Продукт готов, начинается проверка его работоспособности. Обычно на этом этапе начинаются проблемы — вылазят косяки. Если вылазят критические ошибки в коде, функционал нужно исправлять. На это уходит много времени, иногда этап проверки длится неделями.
Не избежала методология и недостатков, которые органично «дополняют» её достоинства:
Использовать данную методология для разработки бизнес-приложений крайне не желательно. Waterfall — это модель для разработки продуктов, которая позволяет решать задачи по принципу последовательного плана без возврата на предыдущие этапы. Графически ее можно представить в виде непрерывного потока или водопада.
Если не вдаваться в подробности, во главу угла в Agile ставится качество продукта и удовлетворенность заказчика, а также скорость реализации проекта. Расскажу подробно, как устроены этапы работы в каскадной модели разработки, на примере компьютерной игры. На самом деле такой подход применяется не только при разработке программного обеспечения, но и при проектировании в любой другой сфере, от медицины до строительства. Первые упоминания о методологии относятся к 1970 году, а автором подхода считают американского программиста Уинстона Ройса.
Когда лучше всего использовать методологию Waterfall
Раскрывая суть методологии Waterfall, мы описали разработку простого корпоративного мессенджера. Представим теперь, что компания создает мессенджер для широкого круга пользователей и продвигает его в магазине приложений. В этом случае список https://deveducation.com/ требований будет постоянно обновляться в соответствии с запросами пользователей и тенденциями рынка. Возможно, перед менеджерами подразделений будет стоять вопрос, какая из методологий более предпочтительна при разработке IT продуктов.
В жизни срок обнаружения ненадлежащего качества работ гораздо больше. Разработчики, которые практикуют методологию Agile, вывели четыре основополагающих принципа гибкого подхода. Это не готовый рецепт, как разрабатывать продукт, а, скорее, ценности, которым надо следовать при гибкой организации процессов. Вернемся к примеру с ремонтной бригадой «Уют», который мы рассмотрели в начале статьи. Если они будут ремонтировать квартиру по методологии Agile, сначала полностью отделают одну комнату и покажут результат заказчику.
Это один из самых важных этапов, поскольку в дальнейшем нельзя отступать от плана. В Agile все направлено на то, чтобы проект мог изменяться по ходу разработки, если этого требует заказчик или внешние обстоятельства. Подразумевается, что заказчик и исполнитель работают вместе на протяжении всего процесса как одна команда. В таком случае можно внести изменения еще до финиша. Думаю, ключевое отличие Waterfall от гибких методологий и методик в том, что, как ни крути, итерация здесь всего одна. И никакая возможности вернуться на этап назад, чтобы что-то поправить, этого не изменит.
Эта модель подразумевает строго последовательное и однократное выполнение каждой фазы проекта. Переход от одной фазы к другой возможен только после успешного завершения предыдущего этапа. Каждый этап подразумевает waterfall это детальное планирование и полную корректность результата этапа. Waterfall — это модель управления бизнес-процессами. Она предполагает, что все стадии проекта должны быть выполнены последовательно.