21. Waterfall
Abordagem clássica e linear
Uma fase de cada vez
Requisitos bem definidos / Big design up front
Cada fase do desenvolvimento é documentada
Características
31. Manifesto ágil
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
32. Manifesto ágil
Indivíduos e interações entre eles mais que processos e ferramentas;
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
33. Manifesto ágil
Indivíduos e interações entre eles mais que processos e ferramentas;
Software em funcionamento mais que documentação abrangente;
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
34. Manifesto ágil
Indivíduos e interações entre eles mais que processos e ferramentas;
Software em funcionamento mais que documentação abrangente;
Colaboração com o cliente mais que negociação de contratos;
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
35. Manifesto ágil
Indivíduos e interações entre eles mais que processos e ferramentas;
Software em funcionamento mais que documentação abrangente;
Colaboração com o cliente mais que negociação de contratos;
Responder a mudanças mais que seguir um plano.
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
36. Manifesto ágil
Indivíduos e interações entre eles mais que processos e ferramentas;
Software em funcionamento mais que documentação abrangente;
Colaboração com o cliente mais que negociação de contratos;
Responder a mudanças mais que seguir um plano.
Agile
Estamos descobrindo maneiras melhores de desenvolver software,
fazendo-o nós mesmos e ajudando outros a fazerem o mesmo.
Através deste trabalho, passamos a valorizar:
Ou seja, mesmo havendo valor nos itens à direita,
valorizamos mais os itens à esquerda
41. Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Princípios
42. Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
Princípios
43. Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
Princípios
44. Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
As melhores arquiteturas, requisitos e projetos emergem de equipes auto-
organizadas
Princípios
45. Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
As melhores arquiteturas, requisitos e projetos emergem de equipes auto-
organizadas
Atenção contínua à excelência técnica, permitindo aumentar a agilidade
Princípios
46. Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
As melhores arquiteturas, requisitos e projetos emergem de equipes auto-
organizadas
Atenção contínua à excelência técnica, permitindo aumentar a agilidade
Comunicação
Princípios
47. Agile
Satisfação do usuário com entregas rápidas e contínuas que gerem valor
Aceitação de mudanças de requisitos, pois aumentam a vantagem
competitiva
Trabalho em equipe
A melhor forma de transmitir informação é cara a cara
As melhores arquiteturas, requisitos e projetos emergem de equipes auto-
organizadas
Atenção contínua à excelência técnica, permitindo aumentar a agilidade
Comunicação
Melhoria contínua
Princípios
52. Diferenças
Waterfall Agile
Envolvimento do
usuário
Apenas no início do
processo
A cada iteração
Atitude perante
mudanças
Não permite A cada iteração
Requisitos Bem definidos
Definidos ao longo do
processo
Risco
Alto custo de
mudança
Não causam grande
impacto
53. Diferenças
Waterfall Agile
Envolvimento do
usuário
Apenas no início do
processo
A cada iteração
Atitude perante
mudanças
Não permite A cada iteração
Requisitos Bem definidos
Definidos ao longo do
processo
Risco
Alto custo de
mudança
Não causam grande
impacto
54. Diferenças
Waterfall Agile
Envolvimento do
usuário
Apenas no início do
processo
A cada iteração
Atitude perante
mudanças
Não permite A cada iteração
Requisitos Bem definidos
Definidos ao longo do
processo
Risco
Alto custo de
mudança
Não causam grande
impacto
56. Waterfall define requisitos detalhados. Com alto custo de
mudança. É utilizado em projetos de baixa incerteza.
Conclusão
57. Waterfall define requisitos detalhados. Com alto custo de
mudança. É utilizado em projetos de baixa incerteza.
Conclusão
Agile define requisitos a cada iteração permitindo
mudanças. Valoriza a comunicação. Utilizado em projetos de
alta incerteza.
59. Nossa experiência diz
Escopo de software não são requisitos detalhados. Escopo são
os problemas que o software pretende resolver!
60. Nossa experiência diz
Escopo de software não são requisitos detalhados. Escopo são
os problemas que o software pretende resolver!
Requisitos mundam!
61. Nossa experiência diz
Escopo de software não são requisitos detalhados. Escopo são
os problemas que o software pretende resolver!
Requisitos mundam!
Papel e diagramas aceitam qualquer coisa!
62. Nossa experiência diz
Escopo de software não são requisitos detalhados. Escopo são
os problemas que o software pretende resolver!
Requisitos mundam!
Papel e diagramas aceitam qualquer coisa!
Software funcionando é o melhor artefato para levantar
requisitos!
65. Nossa experiência diz
Codificação é a atividade que deve ser
valorizada no desenvolvimento de software
Afinal, o código é o elemento mais próximo do
que queremos de fato
66. Nossa experiência diz
Codificação é a atividade que deve ser
valorizada no desenvolvimento de software
Afinal, o código é o elemento mais próximo do
que queremos de fato
Solucionar problemas de negócio!
68. O código deve ter forma
O código documenta o projeto!
69. O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
70. O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
Design Patterns (Padrões)
71. O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
Design Patterns (Padrões)
TDD (test driven development) - Testes, teste e mais testes!
72. O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
Design Patterns (Padrões)
TDD (test driven development) - Testes, teste e mais testes!
Fazer mais com menos código (frameworks e abstrações fortes)
73. O código deve ter forma
O código documenta o projeto!
Orientação a objetos: Alta coesão / Baixo acoplamento
Design Patterns (Padrões)
TDD (test driven development) - Testes, teste e mais testes!
Fazer mais com menos código (frameworks e abstrações fortes)
Isso garante a manutenção do projeto