Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

XP eXtreme Programming

No description
by

Rodrigo de Toledo

on 25 February 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of XP eXtreme Programming

Vantagens:
Esclarecer pequenas dúvidas de concepção
Motivação mútua (+ foco, - interrupções)
Padronização
codificação, design, testes, comportamentos…
Nivela por cima
Aprendizado (inclusive de detalhes), cross-training
Aprimoramento de quem ensina
Maior compreensão coletiva da solução ((cross-functional))
Redução de bugs (um é debugger do outro) (escalas ≠)
Atenção:
trocar pares, variando (experiente-inexperiente; exp-exp; inexp-inexp)
cuidado com a invasão de espaço (cultural: bubble space)
talvez não faça sentido para trabalhos braçais
Dicas:
Ping-pong programming (test and code)
No Scrum, acontece naturalmente, mas deve ser induzido
Remote Pair Programming
XP
eXtreme
Programming
5 Valores
14 Princípios
24 Práticas
VALORES
Comunicação
Feedback
Simplicidade
Coragem
Respeito
VALORES
Comunicação:
Compreensão do projeto
Reaproveitamento de soluções
Noção de time
Simplicidade:
Valor de maior esforço intelectual
“Qual a coisa mais simples que poderia funcionar?”
Respeito:
Aos indivíduos
(profissional e pessoalmente)
Aos objetivos do projeto/empresa
Coragem:
Coragem para jogar fora soluções ruins
Coragem para quebrar paradigmas
Encorajar o time
(Atenção, coragem sozinha pode ser bem perigoso)
Feedback:
Essencial a um processo iterativo sujeito a mudanças
Atenção, o feedback não pode ser maior que a capacidade de processá-lo
Princípios
Melhoria contínua
Diversidade
Fluxo Contínuo
Falhar
não ter medo de errar se isso trouxer aprendizado
às vezes é a única maneira de acertar...
Qualidade
não pode ser uma variável
Auto-semelhança
Baby steps
Aceitar a Responsabilidade
Práticas
Segundo Kent Beck:
objetivam a melhora
motivam a busca pela perfeição

Divididas em dois grupos:
Primárias
Derivadas (corolárias)
Sentar juntos
Time completo
Quase sempre os problemas são de comunicação
Espaço de trabalho
informativo
(como Scrum)
Trabalho
energizado
O que é mais produtivo, 40h ou 80h semanais?
Primárias
Corolárias
Comprometimento
Diferente, aceitando a incerteza
Estimativa honesta (nem + nem -)
User story
Diferente de requisito tradicional
Estimativa de esforço pelo time
Ciclo semanal
para sexta-feira
Deployable version
Ciclo quinzenal
Código compartilhado
Base única de código
Integração contínua
Ten-minute Build
TDD
(Test Driven Development)
(Test First Programming)
Vantagens:
Garante teste
Código testado desde sua criação
Ajuda a evitar teste viciado
Design melhor (Clean Code)
Proporciona coesão e confiança (inclusive para refactoring)
Quando houver erro, reduz-se o tempo de achar onde foi
Ritmo:
test, code, refactor, test, code, refactor...
Código de teste:
1:2 linhas de código para linhas de teste
Percentual de cobertura de teste. Ex: >60% em Java
Design Incremental
Diário
A estratégia mais ecônomica é:
Grandes decisões no início
Decisões pequenas progressivamente
Adaptação
Pair Programming
Continuidade do time
Redução do time
Envolvimento do cliente

Deployment incremental (e diário)
Análise de causa raiz
Codificação e teste (doc)
Continuous Delivery
Bug > Teste > Correção > Entender motivo > Ação
Five Whys (5 porquês)
Quase sempre o problema é de pessoal
Q
Econômico
Ponto ótimo da documentação
Errar para mais ou menos
Documentação útil
Wiki
Melhoria contínua da documentação
Local Remote
Pair Programming
Full transcript