Métodos Ágeis de Desenvolvimento de Software: Uma introdução

Preview:

DESCRIPTION

Introdução aos Métodos Ágeis de Desenvolvimento de Software. Palestra dado no evento da Radix, em 2012.

Citation preview

Métodos ágeis de desenvolvimento

de softwareMauricio Aniche

mauricio.aniche@caelum.com.br@mauricioaniche

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 Anichemauricio.aniche@caelum.com.br

@mauricioaniche

15% de desconto com o código“ANICHE15” em

casadocodigo.com.br

Recommended