Ответ
Спиральная модель — это гибкая итеративно-инкрементальная модель жизненного цикла ПО, в которой процесс разработки представлен в виде спирали. Каждый виток (итерация) соответствует полному циклу, фокусирующемуся на анализе и снижении ключевых рисков проекта.
Автор: Барри Боэм (1986).
Четыре квадранта каждого витка спирали:
- Планирование (Planning): Определение целей, ограничений и альтернатив для данной итерации.
- Анализ рисков (Risk Analysis): Идентификация потенциальных рисков (технических, управленческих, бизнес) и выбор стратегий их минимизации (прототипирование, симуляция, отказ от функции).
- Разработка и тестирование (Engineering & Testing): Создание и валидация рабочего продукта (прототипа, инкремента функциональности) для данной итерации.
- Оценка и планирование следующей итерации (Evaluation & Planning): Анализ результатов с заказчиком, принятие решения о продолжении, корректировка планов.
Графическое представление процесса:
┌─────────────────┐
│ ПЛАНИРОВАНИЕ │ (Цели, ограничения)
└────────┬────────┘
│
┌──────────────┐ ┌────────▼────────┐ ┌──────────────┐
│ ОЦЕНКА & │ │ АНАЛИЗ РИСКОВ │ │ РАЗРАБОТКА │
│ ПЛАНИРОВАНИЕ│◄───┤ (Идентификация, │◄───┤ & ТЕСТЫ │
│ СЛЕД. ЦИКЛА│ │ прототипы) │ │ (Инкремент) │
└──────────────┘ └─────────────────┘ └──────────────┘
Преимущества:
- Риск-ориентированность: Крупные риски исследуются и снижаются на ранних этапах.
- Гибкость: Легко адаптировать к изменениям требований после каждой итерации.
- Постепенное уточнение: Подходит для проектов с нечеткими или сложными требованиями.
Недостатки:
- Сложность управления: Требует высокой компетенции в оценке рисков.
- Высокая стоимость: Множество итераций и прототипов могут быть дорогими.
- Не подходит для маленьких проектов: Избыточна для задач с понятными требованиями и низкими рисками.
Применение: Крупные, дорогие, инновационные проекты с высоким уровнем неопределенности (оборонные, аэрокосмические, медицинские системы).