Спіральна модель поєднує ідею ітераційного розвитку з систематичними, контрольованими аспектами моделі водоспаду. Ця спіральна модель є комбінацією ітераційної моделі процесу розробки та моделі послідовного лінійного розвитку, тобто моделі водоспаду з дуже великим акцентом на аналізі ризиків. Це дозволяє поступово випускати продукт або поступово вдосконалювати через кожну ітерацію протягом функціонування “спіралі”.
Спіральна модель – дизайн
Спіральна модель має чотири фази. Проєкт програмного забезпечення неодноразово проходить через ці фази в ітераціях, які називаються “Спіралі”.
Ідентифікація
Цей етап починається зі збору бізнес-вимог у базовій спіралі. У подальших спіралях у міру дозрівання продукту на цьому етапі визначають системні вимоги, вимоги до підсистем і вимоги до модулів. Цей етап також включає розуміння системних вимог шляхом постійного спілкування між замовником і системним аналітиком. У кінці спіралі продукт розгортається на визначеному ринку.
Проєктування
Фаза проєктування починається з концептуального дизайну базової спіралі та включає архітектурний дизайн, логічний дизайн модулів, фізичний дизайн продукту та остаточний дизайн у наступній спіралі.
Розробка
Фаза розробки стосується виробництва фактичного програмного продукту під час кожної спіралі. У базовій спіралі, коли продукт тільки продумується, а дизайн розробляється, на цій стадії відбувається комунікація з клієнтом з метою отримання відгуків. Потім у наступній спіралі з більшою ясністю вимог і деталей дизайну створюється робоча модель програмного забезпечення під назвою збірка з номером версії. Ці збірки надсилаються клієнту для відгуку.
Оцінка та аналіз ризиків
Аналіз ризиків включає виявлення, оцінку та моніторинг технічної можливості виконати завдання та ризиків управління, таких як відхилення від графіка та перевищення витрат. Після тестування збірки наприкінці першої ітерації клієнт оцінює програмне забезпечення та надає відгук.
На основі оцінки замовника процес розробки програмного забезпечення переходить до наступної ітерації, а потім дотримується лінійного підходу для реалізації зворотного зв’язку, запропонованого замовником. Процес ітерацій по спіралі триває протягом усього життєвого циклу процесу розробки програмного забезпечення.
Застосування спіральної моделі
Спіральна модель широко використовалася в індустрії розробки програмного забезпечення, оскільки вона синхронізована з природним процесом розробки будь-якого продукту і забезпечує мінімізацію ризиків для клієнта, а також для фірм-розробників. Використання спіральної моделі можливе за наявності наступних умов:
- Коли є бюджетні обмеження.
- Для проєктів середнього та високого ризику.
- Довгострокове зобов’язання щодо проєкту через можливі зміни економічних пріоритетів, оскільки вимоги змінюються з часом.
- Клієнт не впевнений у своїх вимогах.
- Вимоги складні й потребують оцінки, щоб отримати ясність.
- Нова лінійка продуктів, яку слід випускати поетапно, щоб отримати достатньо відгуків клієнтів.
- Очікуються значні зміни в продукті протягом циклу розробки.
Спіральна модель – переваги
Перевага спіральної моделі життєвого циклу полягає в тому, що вона дозволяє додавати елементи продукту, коли вони стають доступними або відомими. Це гарантує відсутність конфлікту з попередніми вимогами та дизайном.
Цей метод узгоджується з підходами, які мають кілька збірок і випусків програмного забезпечення, що дозволяє здійснювати впорядкований перехід до діяльності з обслуговування. Іншим позитивним аспектом цього методу є те, що спіральна модель змушує користувача залучатися до розробки системи на ранній стадії.
Переваги спіральної моделі SDLC такі:
- Адаптованість до вимог, які змінюються.
- Дозволяє широко використовувати прототипи.
- Вимоги можна сформулювати більш точно.
- Клієнти бачать систему раніше.
- Розробку можна розділити на менші частини, а ризиковані частини можна розробити раніше, що допомагає краще керувати ризиками.
Спіральна модель – недоліки
Для створення продуктів за допомогою спіральної моделі потрібен дуже суворий менеджмент, і існує ризик “закрутити спіраль” у нескінченному циклі. Отже, дисципліна змін і ступінь прийняття запитів на зміни є дуже важливими для успішної розробки та впровадження продукту.
Недоліки спіральної моделі SDLC:
- Управління більш складне.
- Кінець проєкту може бути не відомий раніше.
- Не підходить для невеликих проєктів або проектів із низьким ризиком і може бути дорогим для невеликих проектів.
- Процес складний
- Спіраль може тривати нескінченно.
- Велика кількість проміжних етапів вимагає надмірної документації.