- PVSM.RU - https://www.pvsm.ru -

Вигерс, ты не прав! Ещё раз об итеративной и инкрементальной разработке

Наверное, всякий, кто когда-либо пытался осознать специфику различных подходов к разработке программного обеспечения, задавался вопросами: в чём отличие между итеративной и инкрементальной разработкой? Agile – итеративный? RUP – инкрементальный?

Под катом очередное рассуждение на эту тему и заочный спор с Карлом Вигерсом.

В 3-м издании книги Карла Вигерcа «Разработка требований к программному обеспечению» есть иллюстрация, демонстрирующая распределение усилий по работе с требованиями на протяжении проектов с разным жизненным циклом разработки (SDLC).
Вигерс, ты не прав! Ещё раз об итеративной и инкрементальной разработке - 1
Итак, картинка разделяет Agile и итеративные подходы. Корректно ли это?

Для начала определимся с терминами.

  • Итеративность – повторение операций в целях переработки результатов предыдущего этапа.
  • Инкрементирование – приращение результатов предыдущего этапа.

Википедия подсказывает [1]:

«Гибкая методология разработки (англ. Agile software development, agile-методы) — серия подходов к разработке программного обеспечения, ориентированных на использование итеративной разработки…»

Значит, если в рамках спринта в гибком Scrum’е или итерации в RUP Вы перерабатываете результаты предыдущего этапа и одновременно реализуете новые части продукта, Ваша разработка и итеративна, и инкрементальна.

Ниже изображение, поясняющее разницу между итеративной и инкрементальной разработкой на примере создания портрета Карла Вигерса.
Вигерс, ты не прав! Ещё раз об итеративной и инкрементальной разработке - 2
Вывод
Разделять гибкие и итеративные подходы некорректно. Вигерс, ты не прав!

Автор: IvanGolubev

Источник [2]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/agile/86869

Ссылки в тексте:

[1] подсказывает: https://ru.wikipedia.org/wiki/%D0%93%D0%B8%D0%B1%D0%BA%D0%B0%D1%8F_%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8

[2] Источник: http://megamozg.ru/post/11666/