Introdução às metodologias ágeis de desenvolvimento de software

download Introdução às metodologias ágeis de desenvolvimento de software

If you can't read please download the document

Transcript of Introdução às metodologias ágeis de desenvolvimento de software

Jaime [email protected]@gmail.com

Introduo s metodologias geis de desenvolvimento de software

Desperdcio

80% de desperdcio

Como estamos construindo nosso software?

Metodologias prescritivas / rigorosas / tradicionais

Enfatizam o rigor em suas propostas

Valoriam bastante a documentao

Implementadas em grupos grandes

Metodologias pesadas: muitos processos, atividades, documentos

Estratgia de previsibilidade

teis para problemas especficos

http://www.wallstreetfitness.com.br/imgs/Fotos/veneno_lesma_pode_se_tornar_novo_tratamento_padrao_para_dor_cronica.jpg

Modelo Cascata

Tom Clancy - A soma de todos os medos

"As pontes Romanas da antiguidade eram estruturas muito ineficientes. De acordo com os padres modernos, elas usavam muita pedra, e como resultado, muito trabalho para serem construdas. Ao longo dos anos ns aprendemos a construir pontes mais eficientes, usando menos materiais e menos trabalho para realizar a mesma tarefa."

http://www.projectsmart.co.uk/docs/chaos-report.pdf

Vamos mudar alguns paradigmas?

http://tiny.cc/3hqc9n9ep0

Metodologias geis

Incio: metodologias leves para contrastar com as metodologias rigorosas/pesadas.

Agilidade: habilidade tanto para criar quanto para responder s mudanas, de modo a lucrar em um ambiente turbulento de negcios. [Jim Highsmith]

Manifesto gil

Indivduos e interaes mais que ferramentas e processos Software funcionando mais que documentao abrangente

Colaborao com o cliente mais que negociao de contratos

Respondender a mudanas mais que seguir um plano

http://agilemanifesto.org/

Chaos Report

Nos projetos com sucesso, apenas 42% das funcionalidades previstas no incio estavam no produto final

http://www.projectsmart.co.uk/docs/chaos-report.pdf

Os requisitos vo mudar, com certeza

http://ibn1brahim.files.wordpress.com/2008/04/long-road.jpg

Iterativo e incremental

Adaptao s mudanas atravs
do feedback constante

Iterativo e incremental

Desmitificando...

Desmitificando...

http://www.waw.com.br/new/piloto/morreu.jpg

Previso ...

Desmitificando...

http://telinha.files.wordpress.com/2008/11/kbravo.jpg

http://tiny.cc/y9ops

Iterativo e incremental

Melhoria contnua

http://www.balancedscorecard.org/Portals/0/images/pdca.gif

Planejamento de release

Planejamento de release

O cliente escreve as histrias

Histria de usurio

O time estima

O cliente prioriza

Quadro de histrias

Quadro de histrias

Quadro de histrias

Hora de executar

Keep It Simple, Stupid!

Design evolutivo

Reunio diria

Ambiente colaborativo

Cliente avalia

Retrospectiva

e comea tudo de novo!

Quem adota os mtodos geis?

Google

Microsoft

Yahoo

ThoughtWorks

Siemens

Nokia

Philips

Amazon.com

HP

Intel

Xerox

Brasileiras:SEA Tecnologia

OnCast

Globo.com

Abril

UOL

Improve It

Caelum

Teamware

Objective Solutions

LocaWeb

Dinmica

Pedra, papel e tesoura

1 minuto para jogar

Total de 15 minutos

Objetivo: maximizar os ganhos

Prmios

http://www.faberludens.com.br/files/imagepicker/f/fred/1213080454_janken_final.jpg

Reflexo

Colaborao e cooperao maximizam o ganho de times com objetivos compartilhados (em equipes especialistas seguindo o modelo cascata, existe muita competio)

Retrospectivas pagam grandes dividendos

Existem muitas formas de melhorar um processo, deixe sua criatividade o guiar (diferena entre o incio e final do jogo)

Princpios

Garantir a satisfao do consumidor entregando rapida e continuamente softwares funcionando;

At mesmo mudanas tardias de escopo no projeto so bem-vindas;

Entregue software funcionando frequentemente (semanas, ao invs de meses);

Cooperao constante entre pessoas que entendem do 'negcio' e desenvolvedores;

Construa projetos com indivduos motivados, e confie neles para a realizao do trabalho;

O mtodo mais eficiente de adquirir informao a conversa cara-a-cara;

Software funcionando a principal medida de progresso do projeto;

Processos geis promovem o desenvolvimento sustentvel

Design do software deve prezar pela excelncia tcnica;

Simplicidade (a arte de maximizar a quantidade de trabalho no realizado) essencial;

As melhores arquiteturas, requisitos e designs surgem em equipes auto-organizadas;

Em intervalos regulares, a equipe reflete em como se tornar mais efetiva, e ento se ajusta apropriadamente.

Esta palestra uma mistura T Safo

Paulo Igor Godinho + Jaime Schettini

Obrigado!