Выбрать главу

— Предсказуемость бюджета и сроков — этапы и требования максимально прозрачны, что дает возможность хорошо спланировать сроки и бюджеты.

— Обширная документация — после выполнения проекта остается очень подробная и обширная документация, что упрощает дальнейшую поддержку или развитие проекта.

Недостатки:

— Негибкость к изменениям — изменения в требованиях после старта работы над проектом могут оказаться дорогостоящими и сложными в реализации.

— Отсутствие обратной связи от пользователя — до завершения проекта нельзя понять, насколько он будет валидирован конечными пользователями, есть риск заметно не удовлетворить их потребности.

— Риск на поздних этапах — модель не предполагает возврата на предыдущие уровни, а значит, ошибки, обнаруженные на стадии тестирования, могут дорого обойтись.

Этапы:

— Сбор и анализ требований. Цель этого этапа — выявить требования пользователей к будущей системе и впоследствии создать её подробное описание.

— Системное проектирование — на этом этапе определяют архитектуру проекта и высокоуровневые компоненты.

— Детальное проектирование — создание подробных спецификаций на основе требований к каждому компоненту системы.

— Кодирование и разработка — реализация программного обеспечения в соответствии со спецификациями.

— Тестирование — проверка программного обеспечения на соответствие спецификациям и поиск ошибок.

— Развертывание — внедрение системы в prod — окружение.

— Поддержка и обслуживание — поддержка работоспособности разработанного приложения и выполнение обновлений.

6.2.2. Spiral Model

Spiral Model — это подход разработки приложений итерациями, который сочетает в себе элементы Waterfall модели и прототипирования с акцентом на управлении рисками. Спиральная модель предназначена для больших сложных проектов с высокими рисками.

Особенности

— Итеративность — проект разделен на итерации (спирали), каждая из которых состоит из определения целей, анализа рисков, разработки и тестирования.

— Управление рисками — особое внимание уделяют анализу рисков на ранних этапах каждой итерации. Это позволяет предотвратить или минимизировать влияние рисков на проект.

— Гибкость — изменения можно вносить на любом этапе разработки.

— Прототипирование — создание схематичных образов будущих компонентов системы, что сокращает неопределенности и позволяет проверить концепции до их реализации.

Преимущества:

— Эффективное управление рисками — проблемы выявляют на ранних этапах, что снижает риски для проекта.

— Гибкость в изменениях — подход позволяет быстрее и эффективнее адаптироваться под потребности заказчиков.

— Подходит для больших и сложных проектов, где трудно определить все требования заранее.

— Инкрементальная доставка — получая конечный продукт по частям, заказчик может на ранних стадиях проекта использовать их и оценить удовлетворенность.

Недостатки:

— Сложность управления — большое количество этапов и итераций затрудняет управление проектом.

— Высокая стоимость — анализ рисков и прототипирование с каждой итерацией увеличивают стоимость проекта.

— Требуется опыт — сложно качественно руководить проектом без опыта в управлении рисками и проектами.

Этапы на каждой итерации:

— Определение целей — происходит сбор требований и определение целей спирали (инкремента).

— Анализ рисков — выполняется идентификация, анализ и разработка стратегий для минимизации рисков в этой итерации.

— Реализация и тестирование — разработка, а затем тестирование прототипа или части продукта на основе анализа рисков и требований.

— Планирование следующей итерации — оценка результатов текущей итерации и планирование следующих шагов для реализации проекта.

6.2.3. V — Model

V — Model — расширение Waterfall модели с акцентом на важности тестирования в каждом этапе разработки. Модель подходит для проектов, в которых требования ясны с самого начала и маловероятно будут меняться. Наиболее полезна в областях с высокими требованиями к надежности и безопасности, например авиационная и автомобильная промышленности, где тестирование на каждом этапе разработки особенно необходимо.

Особенности:

— Симметричность — каждому этапу разработки на левой стороне «V» соответствует этап тестирования на правой стороне. Это делает модель и ее акцент понятными.