O PAAD é um processo iterativo e incremental Ágil. Suas iterações são distribuídas - tal qual no Processo Unificado -
em quatro fases, conforme ilustrado na figura a seguir:
Obs.: Figura em Desenvolvimento
para cada fase do UP existe uma fase equivalente no PAAD, diferenciando-se basicamente pela abrangência e pela
nomenclatura de algumas fases. As principais diferenças e semelhanças entre os dois são listadas a seguir:
-
O PAAD é centrado apenas para projetos acadêmicos enquanto o UP também é focado na área comercial
-
A fase de concepção é opcional no PAAD, enquanto no UP é obrigatório.
-
O UP define para a fase de concepção o estudo de viabilidade e parte da análise, enquanto o PAAD não
considera a viabilidade, busca apenas uma visão inicial para se trabalhar o sistema.
-
As fases de elaboração e construção são semelhantes nos dois processos. Na elaboração são
definidas as análises de requisitos, de domínio e de projeto. A fase de construção é onde acontece a implementação
e os testes do sistema que está sendo construído.
-
A fase de transição do RUP é representada pela validação no PAAD. Em ambos essa fase é a de entrega e instalação do
produto gerado no cliente.
As fases são organizadas da seguinte forma:
Concepção
A fase de concepção representa o bloco inicial. Ela envolve a articulação da visão para o sistema e
o estabelecimento de um projeto formal para construir o sistema. Deve ser algo mais do que uma boa idéia rabiscada em
um papel de rascunho. No final desta fase deve-se ter definido o escopo do produto, um vislumbre dos riscos a serem
encontrados e ter demonstrado que o projeto é viável do ponto de vista do negócio da organização. Estes itens serão a
fundação para a próxima fase. Autoriza formalmente um projeto (PMBOK, 2004).
Nessa fase iremos:
-
Iniciar documento de Visão do sistema: Nessa atividade, dá-se
uma visão geral do que será desenvolvido para que seja posto à prova.
-
Iniciar Esboço da arquitetura: Principalmente ao respeito das partes novas, ou mais
difíceis. Queremos apenas estabelecer que podemos definir uma arquitetura para o sistema.
-
Identificar os riscos: Procuramos os primeiros riscos que poderiam fazer falhar
o projeto e tentar achar uma solução para eles. Outros riscos, menos graves, serão identificado e tratado nas fases
a seguir.
-
Criar um protótipo: Queremos mostrar aos usuários como o sistema vai resolver o
problema deles. Por exemplo, podemos criar uma seqüência de telas para mostrar como o sistema vai funcionar, ou
podemos criar um protótipo mesmo.
-
Implementar um caso de risco: Procuramos mostrar aos usuários a implementação de um caso de uso do
sistema, com isso ganha-se satisfação e feedback. Essa implementação se torna importante pois consegue-se validar a
arquitetura do sistema e verificar possíveis problemas.
Segundo KRUCHTEN (2000), o propósito da fase de elaboração é analisar o domínio do problema,
estabelecer uma arquitetura saudável, desenvolver o plano de projeto e eliminar os elementos de alto risco do
projeto.
Para a maioria dos projetos, esta fase corresponde à transição de uma operação móvel, ágil, de pouco
risco, para um alto custo, operação de alto risco que tem inércia significativa.
Embora o processo sempre tenha que acomodar mudanças, as atividades da fase de elaboração asseguram
que a arquitetura, requisitos e planos são bastante estáveis e os riscos suficientemente mitigados, que se pode
determinar o custo de maneira previsível e pode programar a conclusão do desenvolvimento. Conceitualmente, este nível
de fidelidade corresponde ao nível necessário para uma organização comprometer-se a uma fase de construção de preço
fixo.
(Kruchten, Philippe – Introdução ao RUP – Rational Unified Process,
Tradução: Rüdiger, Debora, Ed. Ciência Moderna, Rio de Janeiro, 2003.)
Durante esta fase, serão priorizados os componentes essenciais juntamente com as características da
aplicação que serão desenvolvidas e integradas ao produto que posteriormente serão testadas.
Essas atividades visam alcançar a funcionalidade associada a qualidade tão rápida quanto possível de
ser realizada denotando condições a obtenção de versões úteis (alfa, beta e outros lançamentos de teste).
O foco desta fase é assegurar que o software esteja disponível para seus usuários finais. A Fase de
Validação pode atravessar várias iterações e inclui testar o produto em preparação para release e ajustes pequenos com
base no feedback do usuário. Nesse momento do ciclo de vida, o feedback do usuário deve priorizar o ajuste fino do
produto, a configuração, a instalação e os problemas de usabilidade; todos os problemas estruturais mais graves devem
ter sido trabalhados muito antes no ciclo de vida do projeto.
No fim do ciclo de vida da Fase de Validação, os objetivos devem ter sido atendidos e o projeto deve
estar em uma posição de fechamento. Em alguns casos, o fim do ciclo de vida atual pode coincidir com o início de outro
ciclo de vida no mesmo produto, conduzindo à nova geração ou versão do produto. Para outros projetos, o fim da
Validação pode coincidir com uma liberação total dos artefatos a terceiros que poderão ser responsáveis pela operação,
manutenção e melhorias no sistema liberado.
As atividades realizadas durante uma iteração na Fase de Validação dependem da meta. Por exemplo, ao
corrigir erros, normalmente bastam a implementação e o teste. Se, no entanto, novas características tiverem de ser
adicionadas, a iteração será semelhante a uma da fase de construção, exigindo análise, design, etc.
A Fase de Validação entra quando uma baseline estiver desenvolvida o suficiente para ser implantada
no domínio do usuário final. Isso normalmente requer que algum subconjunto usável do sistema tenha sido concluído com
nível de qualidade aceitável e documentação do usuário, de modo que a transição para o usuário forneça resultados
positivos para todas as partes.
|