You are on page 1of 50

METODOLOGIAS ÁGEIS DE

DESENVOLVIMENTO COM XP

Luiz Henrique Rauber Rodrigues


luizrauber.blogspot.com
   
PLANO APRESENTAÇÃO
 NÚMEROS
 DOCUMENTAR/ PLANEJAR
 OBSERVAÇÃO
 METODOLOGIAS ÁGEIS
 MANIFESTO ÁGIL
 EXTREME PROGRAMMING
 VALORES
 PRINCÍPIOS
 PAPÉIS
 PRÁTICAS
 CONCLUSÕES/ DICAS
 DÚVIDAS/ CRÍTICAS/ SUGESTÕES/ COMENTÁRIOS

 
 REFERÊNCIAS  
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
NÚMEROS

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
DOCUMENTAR/ PLANEJAR
”A documentação não tem apenas função individual, mas
social” Daniervelin Renata, Palestra Latinoware 13h 22/10

”Por que modelar processos?


... Pode ser difícil no início, mas, durante este trabalho, os
participantes aumentam o entendimento do negócio" Débora
Reis, Palestra Latinoware 13h 23/10

Simplificadamente:
Software, que se chinga, funciona sobre o hardware, que se
chuta, baseado na documentação, que impressa pode servir
pro fogo do churrasco.

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
 Muito Papel
 Perde-se Tempo
 Atraso de Software
 Custo Elevado

 Pouco Papel
 Ganha-se Tempo
 Difícil Modifição/ Atualização
 Custo Elevado

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
DOCUMENTAR/ PLANEJAR

fonte: Bohem
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
DOCUMENTAR/ PLANEJAR

Complexidade>

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
OBSERVAÇÃO

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
Software não é físico.

Não Eng. Civil

SIM Adm. Empresas

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
+ Personalizados

­ Prateleira

Cliente sabe o que quer e sabe que dá pra fazer

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
Software deve ser adaptável,
deve ser de fácil implementação,
deve ser de fácil implantação,
deve ser livre de erros,
deve ser seguro,
deve ser de fácil expansão,
deve ter boa usabilidade.

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
Software deve ser que nem Linux ;)

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
ops: Não documentar antes de programar porque
o software deve ser mutável, mas deve-se
planejar antes de programar. Documentar não é
planejar?

Sim é, mas use Metologias Ágeis!

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
METODOLOGIAS ÁGEIS

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
METODOLOGIAS ÁGEIS

XP/ Scrum/ DSDM

Foco em Projetos Pequenos

Google/ Yahoo/ Microsoft

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
MANIFESTO ÁGIL
“Estamos descobrindo maneiras melhores de desenvolver software
fazendo-o nós mesmos e ajudando outros a fazê-lo. Através
desse trabalho, passamos a valorizar:
 Indivíduos e interação 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.
Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais
os itens à esquerda.” (agilemanifesto.org)

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
ADAPTA-SE!

Adaptar um Planejamento ao seu Software.

ex.: Sistema Web pequeno


(Site+Forms+BD) fica bem com Diagrama Casos
de Uso + Sequência Principais + Componentes ...

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 ”A arte de maximizar a quantidade de software
que você não irá fazer.” Vinícius Teles
 Ideal equipes pequenas (<10-15 pessoas)
 Foco em Comunicação Efetiva
Cliente x Programador
 Diminuição Custos Mudanças
 Baseia-se no Manifesto Ágil

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Valores
Coragem
 Aceitar que o cliente pode querer mudar o
que está pronto
 Confiar práticas XP
 Mudar, adaptar, refazer parte do software
se assim o cliente quiser

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Valores
Comunicação
 Priorizar entre o Cliente e Equipe
 Equipe x Equipe, uso 1 sala
 Pessoalmente> Videoconferência>
Telefonema> e-mail

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Valores
Feedback
 Fez confirma com o cliente
 Cliente deve dizer um sim/não, nunca
talvez
 Quantes antes achar o erro melhor

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Valores
Respeito
 Aceitar deficiências
 Saber ouvir
 Compreender
 Se importar um com o outro

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Valores
Simplicidade
 Não fazer mais que a necessidade
 Evitar ”firulas”
 Ver com cliente real necessidade de
certas exigências

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Princípios
Autosemelhança
 Deu Ok, passa adiante!
Benefício Mútuo
 Bom pra um, bom pra todos
Diversidade
 Visões diferentes, intuito em comum

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Princípios
Economia
 Fazer o que da retorno primeiro
 Reutilização/ Novas Funcionalidades
Falha
 Experimentar na busca erro
 Feedback concreto

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Princípios
Flow/ Fluidez
 Ir e vir sem problemas
 Diminuir a curva custos
Humanismo
 É gente que faz
Melhoria
 Fazer melhor, na próxima interação
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Princípios
Oportunidade
 Bug? Conhecimento pra todos
Passos de Bebê
 Menos é mais
Qualidade
 Mais é menos

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Princípios
Redundância
 Antes 2x do que 3-4x
 Evitar erro = evitar desmotivação
Reflexão
 Ver o bom, e o ruim
Responsabilidade
 Deixa pra mim
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Papéis

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Cliente Presente
 Cliente x Programador
 Sucesso e Fracasso é culpa do Cliente
 Software fica pronto + rápido >
 Custo Menor >
 Diminuição de Recursos não usados no
SW <
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Planejamento Interativo
 Entrega Parcelada (Releases)
 Release a cada X tempo
 Melhor Adaptabilidade
 Aprimoramento (+Isso, -Aquilo, Muda Lá)
 Motiva a Todos
 Receita Antecipada
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Ciclo Semanal
 Quadro Histórias
 Planning Poker
 Cliente + Equipe = Desafio Semana
 Planejar atividades da Semana
 Acertos/ Erros semana anterior

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Design Incremental
 Software por partes
 Primeiro o básico depois acessórios
 Só fazer prioridades
 O que pode ser útil no futuro, será feito no
futuro

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Ambiente Informativo
 Informações sobre/ andamento
 Quadros/ Murais
 Avisos – Post it

 Cartões visíveis

Quem sabe usar também Hudson?


   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Stand Up Meeting - Reunião do Cafézinho
 Prioridades do Dia
 Olhadela quadro tarefas
 Assumir atividade

Informal: Humor/ Críticas/ Problemas/ -Timidez

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Teste 10 Minutos - Build
 Teste Automatizado/ Manual
- Tempo Parado

 + Execuções teste

 - Erros acumulados

 + Fácil achar erro

TDD – 16h Bloco 3, Sala 4


   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Integração Contínua
 Unificar as partes
 Fez, Ok? Manda Repositório
 CVS/ Subversion

Qua tal Hudson denovo?

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Retrospectiva interação
 Não era isso que eu queria
 Agora Sim/ Não
 Isso deu Certo/ Errado

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Trabalho Energizado
 Não trabalhar muito, mas trabalhar bem
 Mover na direção certa
 Evitar horas-extras
 Evitar déficit de atenção

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Programação em Par
 2 Cérebros é melhor que 1
 Inspeção código
 Disseminação conhecimento
 + Qualidade Software
 Revisão/ Correção

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING
 Práticas
Programação em Par
 Redução Bugs
 Pressão
 Dicas/ Sugestões
 Entrega Rápida

Dojo? Rally? Avião?


   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
EXTREME PROGRAMMING

fonte:extremeprogramming.org
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
CONCLUSÕES/ DICAS
 Software deve ser adaptável
 Priorizar o básico, depois firulas
 Não ficar preso a regras/ documentação
 Fazer documentação junto desenvolvimento
 Planejar Semana/ Mês/ Software
 Não enrolar senão vai-se o tempo
 Comunicação nunca é pouca

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
CONCLUSÕES/ DICAS
 Não reinventem a roda
 Procurem desafios para aprender
 É possível melhorar sempre

 Façam networking/ troquem conhecimento


 Chamada palestras até 28/10 para Evento
TcheLinux Porto Alegre/RS em 14/11
(Entrada 2kg Alimento)
   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
DÚVIDAS ?

CRÍTICAS?

SUGESTÕES?

COMENTÁRIOS?

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
Referências
 www.google.com  Kent Beck
 www.guma-rs.org  Kelly Waters
 www.extremeprogramming.org  James Shore
 http://improveit.com.br/xp  Vinicius Teles
 www.agilealliance.com  Brian Behlendorf
 www.agile-software-development.com  Manoel Pimentel Medeiros
 http://computerworld.uol.com.br  Jonathan Kohl
 www.baguete.com.br  Scott Ambler
 http://c2.com  Vitor Hugo Germano
 www.visaoagil.com  Alexandre Magno Figueiredo
 www.seatecnologia.com.br  Alexandre Gomes

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber
OBRIGADO
PELA
OPORTUNIDADE

luizrauber.blogspot.com

   
Metodologias Ágeis de Desenvolvimento com XP - Luiz Rauber

You might also like