O documento discute processos ágeis para desenvolvimento de software, como o Unified Process (UP) e o Rational Unified Process (RUP). Ele explica os benefícios do desenvolvimento interativo e evolutivo, com entregas frequentes em ciclos curtos, em contraste com o desenvolvimento cascata tradicional. Também apresenta o Manifesto Ágil e seus princípios, enfatizando a importância de indivíduos, software funcionando, colaboração do cliente e resposta à mudança.
4. Unified Process
UP (Unified Process): Processo muito
utilizado para o desenvolvimento
interativo de sistemas orientados a
objeto.
Flexível e aberto, permitindo a
aplicação de outros métodos
interativos como: Scrum, XP, Lean
Development, DSDM, Feature-Driven
Development, Adaptive Software
Development etc.
6. Rational Unified
Process
RUP (Rational Unified Process): É um
refinamento do processo unificado
(UP).
Não seja dogmático dizendo que:
“Meu método é melhor que esse.”
10. Desenvolvimeto
Interativo e Evolutivo
O desenvolvimento é organizado em uma
série de projetos curtos (mini-
projetos) chamados de interações. A
duração recomendada para cada
interação é entre 2 a 6 semanas.
Cada interação possui sua fase de
análise de requisitos, design,
implementação e teste.
15. Benefícios do desenvolvimeto
Interativo e Evolutivo
Minimiza as falhas em um projeto.
Minimiza riscos (técnicos,
requisitos, escopo, usabilidade
etc.).
Progresso visível desde o início de
um projeto.
17. Benefícios do desenvolvimeto
Interativo e Evolutivo
Usuários engajados no projeto.
A equipe não sofre pela “paralisia da
análise”.
Convergência do sistema de encontro
as necessidades do usuário.
19. Desenvolvimeto
Cascata x Interativo
Não tente criar inicialmente
especificações muito abrangentes e
detalhadas sobre um projeto, pois
assim, o raciocínio em cascata
invadiu o projeto e isso não é
saudável.
21. Desenvolvimeto
Cascata
Muito utilizado na década de 60-70.
Altas taxas de falhas.
Menor produtividade.
Na média 45% dos requisitos em
cascata nunca são usados.
Cronogramas e orçamentos iniciais
variam até em 400%.
23. Desenvolvimeto
Cascata
Erros doentios comumente utilizados:
“Vamos detalhar todos os casos de
uso antes de começar a programar”.
“Vamos criar vários modelos UML,
depois começamos a programar”.
24. Mudanças de requisitos
em um projeto
Qual o percentual de mudanças de requisitos
em um projeto?
25. Mudanças de requisitos
em um projeto
Qual o percentual de mudanças de requisitos
em um projeto?
Fonte: Jones, J., 1997.Applied Software Measurement. NY, McGraw-Hill
27. O Manifesto Ágil
Indivíduos e interações vem antes de
processos e ferramentas;
Software funcionando vem antes de
documentação abrangente;
Colaboração do cliente vem antes de
negociação de contrato;
Resposta a modificação vem antes de um
plano em andamento;
29. Os princípios ágeis
1) Nossa prioridade mais alta é satisfazer
o cliente por meio de entrega pronta e
contínua de software de valor;
2) Acolher modificação de requisitos, mesmo
no final do desenvolvimento. Processos
ágeis valorizam a modificação para a
vantagem competitiva do cliente;
3) Entregar software funcionando com
frequência, preferencialmente usando uma
escala de tempo menor;
31. Os princípios ágeis
4) O pessoal do negócio e os
desenvolvedores devem trabalhar juntos
diariamente ao longo do projeto;
5) Construir projetos em volta de
indivíduos motivados. Dê a eles o ambiente
e o apoio que necessitam e confie que eles
vão fazer o serviço;
6) O método mais eficiente e efetivo para
levantar informação para uma equipe de
desenvolvimento é a conversa face a face;
33. Os princípios ágeis
7) Software funcionando é a principal
medida de progresso;
8) Processos ágeis promovem desenvolvimento
sustentável;
9) Patrocinadores, desenvolvedores e
usuários devem manter um ritmo constante;
10) Atenção contínua para a excelência
técnica e para um bom projeto aumenta a
agilidade;
35. Os princípios ágeis
11) Simplicidade - a arte de maximizar a
quantidade de trabalho não realizada - é
essencial;
12) As melhores arquiteturas, requisitos e
projetos surgem de equipes auto-
organizadas;
13) Em intervalos regulares, a equipe
reflete sobre como se tornar mais efetiva,
depois sintoniza e ajusta o seu
comportamento;
37. O que é modelagem ágil?
A finalidade da modelagem (diagramas em
UML,...) é principalmente entender o
problema, e não documentar ou entregar uma
série de diagramas para o desenvolvedor.