Підхід Інкрементальний використовує певну кількість кроків , і розвиток йде від початку до кінця в лінійної траєкторії прогресії.
Поступова розробка здійснюється за кроками від проектування, впровадження, тестування / перевірки, обслуговування. Вони можуть бути розбиті далі на етапи, але більшість поступових моделей дотримуються цієї ж схеми. Водоспад Модель являє собою традиційний поетапний підхід до розвитку.
Ітераційний підхід не має певну кількість кроків, а розвиток здійснюється в циклах.
Ітеративний розвиток менше стосується відстеження прогресу окремих особливостей. Натомість основну увагу приділяють створенню робочого прототипу спочатку та доданню функцій у цикли розробки, де кроки розвитку приросту виконуються для кожного циклу. Модельне спритність - це типовий ітеративний підхід.
Початкова модель спочатку була розроблена для того, щоб відповідати традиційній моделі складальної лінії, що використовується на заводах. На жаль, розробка та розробка програмного забезпечення мають мало спільного з виробництвом фізичних товарів. Код - це план, а не готовий продукт розробки. Хороший вибір дизайну часто «виявляється» в процесі розробки. Блокування розробників у наборі припущень без належного контексту може призвести до поганих конструкцій у кращому випадку або до повного зняття з глузду розробки в гіршому.
Ітеративний підхід зараз стає загальною практикою, оскільки він краще відповідає природному шляху прогресу в розробці програмного забезпечення. Замість того, щоб вкладати багато часу / зусиль, переслідуючи «ідеальний дизайн», виходячи з припущень, ітеративний підхід - це створити щось досить «добре», щоб почати і розвивати його, щоб відповідати потребам користувача.
tl; dr - Якщо ви писали есе за інкрементальною моделлю, ви б спробували написати його ідеально від початку до кінця одного речення. Якби ви написали його під Ітераційною моделлю, ви відкинете швидкий чорновий проект і працюєте над його вдосконаленням через набір етапів перегляду.
Оновлення:
Я змінив своє визначення поняття "Поступовий підхід", щоб підходити до більш практичного прикладу.
Якщо вам коли-небудь доводилося стикатися з укладенням договору з Інкрементальним підходом - це як здійснюється більшість контрактів (особливо для військових). Незважаючи на безліч тонких варіацій типової моделі «Водоспад», більшість із них застосовуються однаково на практиці.
Кроки виконуються наступним чином:
- Укладення контракту
- Попередній огляд проекту
- Огляд критичного дизайну
- Специфікація заморожування
- Розвиток
- Польове / інтеграційне
- Перевірка
- Тестування надійності
PDR та CDR - це те, де специфікація створюється та переглядається. Після того, як специфікація буде завершена, її слід заморозити, щоб запобігти повзанню області. Інтеграція відбувається, якщо програмне забезпечення використовується для розширення вже існуючої системи. Перевірка призначена для перевірки відповідності програми специфікації. Надійність - це тест, який доводить, що додаток буде надійним протягом тривалого періоду, це може бути визначено так само, як угода про рівень обслуговування (SLA), коли система повинна підтримувати певний відсоток часу роботи (колишній тривалість 99% протягом 3 місяців) ).
Ця модель чудово підходить для систем, які легко вказати на папері, але важко виготовити. Програмне забезпечення дуже важко вказати на папері до будь-якої помітної деталізації (наприклад, UML). Більшість "типів бізнесу", які відповідають за управління / укладання контрактів, не усвідомлюють, що - якщо мова йде про розробку програмного забезпечення - сам код є специфікацією. Характеристики паперу часто вимагають стільки ж або більше часу / зусиль для написання, як і сам код, і вони, як правило, виявляються неповними / неповноцінними на практиці.
Поступові підходи намагаються витратити даремно витрачені час / ресурси, розглядаючи сам код як специфікацію. Замість того, щоб виконувати специфікацію паперу через кілька етапів перегляду, сам код проходить через кілька циклів перегляду.