— Предсказуемость бюджета и сроков — этапы и требования максимально прозрачны, что дает возможность хорошо спланировать сроки и бюджеты.
— Обширная документация — после выполнения проекта остается очень подробная и обширная документация, что упрощает дальнейшую поддержку или развитие проекта.
Недостатки:
— Негибкость к изменениям — изменения в требованиях после старта работы над проектом могут оказаться дорогостоящими и сложными в реализации.
— Отсутствие обратной связи от пользователя — до завершения проекта нельзя понять, насколько он будет валидирован конечными пользователями, есть риск заметно не удовлетворить их потребности.
— Риск на поздних этапах — модель не предполагает возврата на предыдущие уровни, а значит, ошибки, обнаруженные на стадии тестирования, могут дорого обойтись.
Этапы:
— Сбор и анализ требований. Цель этого этапа — выявить требования пользователей к будущей системе и впоследствии создать её подробное описание.
— Системное проектирование — на этом этапе определяют архитектуру проекта и высокоуровневые компоненты.
— Детальное проектирование — создание подробных спецификаций на основе требований к каждому компоненту системы.
— Кодирование и разработка — реализация программного обеспечения в соответствии со спецификациями.
— Тестирование — проверка программного обеспечения на соответствие спецификациям и поиск ошибок.
— Развертывание — внедрение системы в prod — окружение.
— Поддержка и обслуживание — поддержка работоспособности разработанного приложения и выполнение обновлений.
6.2.2. Spiral Model
Spiral Model — это подход разработки приложений итерациями, который сочетает в себе элементы Waterfall модели и прототипирования с акцентом на управлении рисками. Спиральная модель предназначена для больших сложных проектов с высокими рисками.
Особенности
— Итеративность — проект разделен на итерации (спирали), каждая из которых состоит из определения целей, анализа рисков, разработки и тестирования.
— Управление рисками — особое внимание уделяют анализу рисков на ранних этапах каждой итерации. Это позволяет предотвратить или минимизировать влияние рисков на проект.
— Гибкость — изменения можно вносить на любом этапе разработки.
— Прототипирование — создание схематичных образов будущих компонентов системы, что сокращает неопределенности и позволяет проверить концепции до их реализации.
Преимущества:
— Эффективное управление рисками — проблемы выявляют на ранних этапах, что снижает риски для проекта.
— Гибкость в изменениях — подход позволяет быстрее и эффективнее адаптироваться под потребности заказчиков.
— Подходит для больших и сложных проектов, где трудно определить все требования заранее.
— Инкрементальная доставка — получая конечный продукт по частям, заказчик может на ранних стадиях проекта использовать их и оценить удовлетворенность.
Недостатки:
— Сложность управления — большое количество этапов и итераций затрудняет управление проектом.
— Высокая стоимость — анализ рисков и прототипирование с каждой итерацией увеличивают стоимость проекта.
— Требуется опыт — сложно качественно руководить проектом без опыта в управлении рисками и проектами.
Этапы на каждой итерации:
— Определение целей — происходит сбор требований и определение целей спирали (инкремента).
— Анализ рисков — выполняется идентификация, анализ и разработка стратегий для минимизации рисков в этой итерации.
— Реализация и тестирование — разработка, а затем тестирование прототипа или части продукта на основе анализа рисков и требований.
— Планирование следующей итерации — оценка результатов текущей итерации и планирование следующих шагов для реализации проекта.
6.2.3. V — Model
V — Model — расширение Waterfall модели с акцентом на важности тестирования в каждом этапе разработки. Модель подходит для проектов, в которых требования ясны с самого начала и маловероятно будут меняться. Наиболее полезна в областях с высокими требованиями к надежности и безопасности, например авиационная и автомобильная промышленности, где тестирование на каждом этапе разработки особенно необходимо.
Особенности:
— Симметричность — каждому этапу разработки на левой стороне «V» соответствует этап тестирования на правой стороне. Это делает модель и ее акцент понятными.