Любой процесс, связанный с разработкой ПО, делится на этапы, в каждом из которых обозначаются цели этапа, полезные результаты (deliverables), задачи по получению этих результатов, распределение зон ответственности между типовыми ролями участников процесса. Рассмотрим для примера стадии двух известных процессов, отличающихся по структуре:
OpenUP - это экономичный унифицированный процесс, использующий принципы итеративности и инкрементальности в рамках структурированного жизненного цикла. OpenUP использует прагматичную философию гибкой разработки, которая имеет в своей основе коллективный подход к разработке программного обеспечения. Это независимый от инструментов, мало регламентированный процесс, который можно расширить для адаптации к широкому диапазону типов проектов.