Upload
mauricio-aniche
View
515
Download
1
Embed Size (px)
DESCRIPTION
Introdução aos Métodos Ágeis de Desenvolvimento de Software. Palestra dado no evento da Radix, em 2012.
Citation preview
Uma enqueterápida!
Qual a única certeza
que nós temos sobre o processo
de desenvolvimento
de software?
O software vai mudar!
Quem é quejá viu isso?
Cliente:Tô feliz, vou receber
software!
Ah, legal essa especificação
de 500 páginas que você me
mandou!Vocês
realmente são sérios!
Pode cortarmeus pulsos,prometo que
nãovou mudar
nada!
puxa, esse
monte de bonequinho é meu sistema? Já posso
ver então?
corre que tá
atrasado!
teste? pula, dá trabalho!
não existe!ferrou!
Levantamento de Requisitos
Tentamos prever o futuro (Gantt Chart??)
Cliente pede tudo!
Assina com o sangue
Não sabe bem o que precisa!
Design
Arquiteto astronauta
Um monte de bonequinho...
Big Design Up-Front
Implementação
Sempre atrasado
Gambiarra
Estimativas sempre erradas
Code Monkey
Qual o melhor goleiro do mundo?
Ah, não há incerteza nenhuma nessa pergunta!
topete? meu
deus...
EstimativasQual a área do Brasil?
Qual a vazão de Foz do Iguacú?Quanto tempo você gasta pra fazer um
ERP?
Por que estimativas viram compromissos?
Na prática: Um engana o outro! (Roubo ou lucro?)
Teste
Não precisa, software raramente dá pau! ;)
Na minha máquina funciona!
O cliente não testa?
EUA gastam ~60 bilhões de dólares com erros de software (NIST, 2002)
Operação
Nada funciona em produção
Não atende as necessidades do cliente (pois elas já mudaram...)
Fábrica de software (WTF?)
Produzem a mesma coisa, ganhos na escala
Eu quero é adaptabilidade!
O amor
O analista odeia o programador
O programador odeia o arquiteto
O arquiteto pensa que é Deus
O tester odeia o programador
Mas eles se unem sim: pra odiar o cliente!
Cliente do mal
Mas o culpado é o meu cliente!
Ele nunca sabe o que quer!
Não é não, nós que somos incompetentes mesmo!
A coisa tá feia...
Na prática...
Algumas coisas nunca deveriam ter aparecido...
Winston Royce não merecia isso!
Manifesto Ágil
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
COMUNICAÇÃO
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
COMUNICAÇÃO
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
COMUNICAÇÃO
SER ENXUTO
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
COMUNICAÇÃO
SER ENXUTO
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
COMUNICAÇÃO
SER ENXUTO
CLIENTE NO TÁXI
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
COMUNICAÇÃO
SER ENXUTO
CLIENTE NO TÁXI
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
COMUNICAÇÃO
SER ENXUTO
CLIENTE NO TÁXI
ADAPTABILIDADE
Our highest priority is to satisfy the customerthrough early and continuous delivery
of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for
the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
Business people and developers must work together daily throughout the project.
Build projects around motivated individuals. Give them the environment and support they need,
and trust them to get the job done.
The most efficient and effective method of conveying information to and within a development
team is face-to-face conversation.
Working software is the primary measure of progress.
Agile processes promote sustainable development. The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
Continuous attention to technical excellence and good design enhances agility.
Excelência técnica:- Testes Automatizados
- TDD- Integração contínua
- Programação Pareada- Refatoração
- Propriedade Coletiva do Código
Simplicity--the art of maximizing the amount of work not done--is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
At regular intervals, the team reflects on how to become more effective, then tunes and adjusts
its behavior accordingly.
OBRIGADO!
Mauricio [email protected]
@mauricioaniche
15% de desconto com o código“ANICHE15” em
casadocodigo.com.br