Um processo de desenvolvimento de software descreve uma abordagem para
organizar as atividades relacionadas com a construo, a implantao e a manuteno de sistemas.
Os processos mais populares hoje so os iterativos, como o PU (Processo Unificado),
em particular o RUP (Processo Unificado da Rational) e as metodologias geis, como o XP (eXtreming Programming) e Scrum.
Mas o que so processos iterativos, afinal?
So processos onde o ciclo de vida do sistema dividido em uma srie de mini
projetos, curtos, preferencialmente de durao fixa (por exemplo, 3 meses), denominados iteraes.
Cada iterao contm um subconjunto das funcionalidades do sistema. Em cada
iterao, temos as atividades de levantamento de requisitos, anlise de requisitos, projeto, implementao, testes e implantao, conforme ilustrado pela imagem a seguir.
O ciclo de vida iterativo baseado em incrementos sucessivos do sistema, pelas
iteraes do processo. A cada iterao um pedao do software incrementado, da o nome processo itertico e incremental.
Claro que entre um incremento e outro, teremos feedbacks e ajustes na iterao
encerrada. A figura anterior ilustra um processo com uso de 3 iteraes, onde em cada uma repete-se o conjunto de etapas, que comea com levantamento de requisitos e termina com implantao das funcionalidades contidas naquela iterao.
Como j mencionado, a UML no define um processo padro. Seus autores
reconhecem que uma linguagem de modelagem e um processo robusto so ambos importantes. Eles ofereceram sua orientao sobre o que constitui um processo adequado em publicaes separadas daquelas exclusivamente dedicadas a UML, porque a padronizao de um processo estava fora do escopo da definio de UML.