O documento descreve o processo Open Unified Process, que aplica uma abordagem iterativa e incremental ao ciclo de vida do desenvolvimento de software. O processo é baseado em princípios ágeis e foca na colaboração entre membros da equipe. Ele define fases como Iniciação, Elaboração, Construção e Transição, além de utilizar micro-incrementos e iterações para entregar valor de forma contínua.
2. Unified Process
Um framework de processo de desenvolvimento
Princípio iterativo incremental
Nasceu em 1999 com a publicação do livro The
Unified Software Development Process
Ivar Jacobson
Grady Booch
James Rumbaugh
Rational – RUP
IBM – Open UP
4. Open Unified Process
O que é Open UP?
Processo que aplica a abordagem iterativa e incremental
para o ciclo de vida de desenvolvimento de software.
Possui características de metodologia ÁGIL, tendo como
foco a natureza colaborativa no desenvolvimento de
software.
6. Premissas Open UP
Organização do projeto através do conceito de Micro-
incrementos:
Representam as unidades de trabalho que serão produzidas pela
iteração (normalmente medidas em horas ou poucos dias).
Intensa colaboração entre os membros da equipe, já que é
um processo de desenvolvimento incremental e possui equipe
auto-organizável.
Feedbacks extremamente rápidos, proporcionando agilidade
na tomada de decisões
Divisão do projeto em iterações com entregas planejadas e
com tempo pré-definidos.
O clico de vida de um projeto é composto por quatro fases:
Iniciação
Elaboração
Construção
Transição
7. Ciclo de Vida do Projeto
O ciclo de vida do projeto fornece visibilidade e
sincronismo aos envolvidos no projeto.
Principais objetivos:
Iniciação: Definição dos objetivos e escopo do projeto;
Elaboração: Definir a arquitetura a ser utilizada para o
projeto e avaliar se os riscos são aceitáveis;
Construção:Garantir que a aplicação construída está de
acordo com a solicitação do cliente.
Transição:Garantir que a aplicação está pronta para
implantação.
8. Fase de Concepção
Objetivos:
Levantar os riscos potenciais
Preparar o ambiente de suporte do projeto
Definir e preparar os processos e ferramentas a serem
utilizados
Definir e, eventualmente, demonstrar com protótipos ao
menos um candidato de arquitetura
Avaliar alternativas de projeto
Que componentes fazer, comprar ou reusar?
10. Fase de Elaboração
Capturar a maioria dos requisitos
Construir a arquitetura do sistema
Na forma de um executável (arquitetura executável)
Que demonstre a capacidade de esta arquitetura
acomodar o resto do sistema
Produzir protótipos evolucionários ou descartáveis
que eliminam riscos de
Requisitos ou projeto
Reusabilidade de componentes
Viabilidade técnica
12. Fase de Construção
Produzir a versão para beta-testes
A ênfase é na produção de um software operacional
Envolve análise, projeto e implementação dos requisitos
levantados na Elaboração
Pelo menos 80% dos casos de uso foram
levantados(identificados) e entendidos durante a
Elaboração
A Construção finaliza o sistema, atingindo100% das
funcionalidades implementadas
Adicionar “músculos” ao “esqueleto” (arquitetura)
14. Fase de Transição
Validar o sistema em relação às expectativas dos
usuários
Beta testes e operacionalização do software (geralmente,
em paralelo com o sistema legado)
Conversão de dados
Treinamento de usuários
Correção de erros, pequenas melhorias, pequenos
ajustes
16. Ciclo de Vida da Iteração
Reunião do Plano de Iteração – duração de algumas
horas.
Definição das entregas da iteração (micro-incrementos),
arquitetura e riscos – duração de poucos dias.
Entregas contínuas dos micro-incrementos e correção de
erros – duração semanal.
Ao final de cada semana devem ser gerados builds estáveis.
Reunião de Retrospectiva: reunião de avaliação com
toda a equipe – duração de algumas horas.
Abordar as falhas, não os culpados.
Destacar as lições aprendidas.
18. Micro-Incremento
Resultado de algumas horas ou dias de trabalho de
uma pessoa (eventualmente pode-se considerar
uma pequeno grupo de trabalho) para alcançar uma
entrega da iteração.
Ajuda o membro do grupo a dividir seu trabalho em
pequenas unidades, desde que agreguem valor ao
time.
Um micro-incremento deve ter sua evolução media
diariamente, além de atender às necessidades dos
Stakeholders. Portanto, é importante sua
concordância na definição das entregas (Documento
Visão).
19. Micro-Incremento
Definir, desenhar, implementar e testar um Caso de
Uso ou até mesmo um cenário pode levar semanas.
Como proceder?
Divida o trabalho em sub-fluxos menores de forma que
cada um não dure mais que alguns dias.
20. Links interessantes
Jogo do RUP
Open UP na Eclipse Process Framework
Open UP na IBM
RUP em Português
21. O processo de software no RUP
Um conjunto de disciplinas dentro de um ciclo de
vida iterativo e incremental
23. O elementos nos diagramas do RUP
O processo
As disciplinas
O fluxo de trabalho e seus detalhamentos
Os papéis
As atividades executadas pelos papéis
As orientações de trabalho de cada atividade
Os artefatos - entradas e saídas de cada atividade
Pontos de verificação, diretrizes e templates dos
artefatos
24. As FASES no RUP
Fases e milestones (marcos)
O que precisa ser feito em cada fase?
O que precisa ser verificado nas milestones?
Quanto tempo se gasta com cada fase?
Processo: quem, o quê e como?