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

Jose Eduardo Scumparim

on 11 March 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of XP - (Extreme Programming)

XP - (Extreme Programming)
Ritmo Sustentável (Sustainable Pace)
Obter o mais alto nível de produtividade;

Mitiga a existência de horas extras;

Longas jornadas de trabalho são improdutivas e insustentáveis;

Otimiza a entrega de valor de longo prazo.
Testes de Aceitação (Customer Tests)
Descrito pelo
Cliente
para demonstrar como o trabalho será aceito;

O time elabora os testes automatizados para demonstrar a si mesmo e ao Cliente que o trabalho foi feito, ou seja, que o software está funcionando.
Metáforas ou Comparações (Metaphor)
Cria uma visão compartilhada dentro do projeto;

Procura facilitar a comunicação com o cliente.
Referências
Wikipédia

Livro PMI-ACP

http://www.extremeprogramming.org/

O que é?
Método ágil centrado no desenvolvimento de software;

Foca nas boas práticas de desenvolvimento de software.
Valores
Buscar a redução de:
Complexidade;
Funcionalidades extras;
Desperdício.

"Achar a coisa mais simples que
provavelmente funcione"

"Fazer o que é necessário e o que foi pedido; e não mais que isso"

Origem:
USA, no final da década de 90 por Kent Beck.
Objetivo:
Satisfação do Cliente.
Simplicidade
Ter certeza de que todos do time sabem o que é esperado deles;
Ter ciência no que outras pessoas estão trabalhando;
Menor volume de documentação.

"Todos são parte do time, que se comunica diariamente"

"Trabalha-se junto, desde os requisitos (user stories) até o código"
Comunicação
(componente chave é a daily stand-up meeting)
Valores
Obter sensação de adequação o mais cedo possível;

Efetuar melhorias e ajustes quando ainda há tempo para fazê-los;

"Demonstrar o trabalho cedo e frequentemente, em seguida, ouvir com atenção e fazer as alterações necessárias"
Feedback
Valores
Time Coeso (Whole Team)
Time único;

Cliente
,
Desenvolvedor
, Garantia de Qualidade (
Tester
),
Coach
(Tracker) e eventualmente um Gerente e um Analista de Negócio;

Especialistas generalizadores
Utilização dos colaboradores;
Adaptação ao crescimento demanda;
Mitiga ociosidade e sobrecarga.
Fases pequenas (Small Releases)
No nível da
Iteração
e da
Release
;

Entregar rapidamente e frequentemente
versões funcionais
(valor);

Demonstra
progresso
e aumenta a
visibilidade
pelo cliente.
Respeito
Essencial quando pessoas trabalham em conjunto como um time;

Perceber que cada membro do time trabalha de forma diferente;

Possibilitar que cada membro da equipe se sinta valorizado pelo respeito mútuo.
Padronização de Código (Code Standards)
Endereça o risco de diferentes abordagens de codificação;

Permite entender o código de uma maneira rápida, fácil e simples;

O código parece ter sido feito por um único desenvolvedor;

Estabelece abordagem consistente adotada pelo time.
Propriedade coletiva do Código (Collective Code Ownership)
Várias pessoas trabalham em todo o código;

Aumenta a visibilidade e conhecimento;

Maior chance de descoberta de erros;

Nível mais alto de qualidade;

Menor impacto com turn over (conhecimento compartilhado).
Refatoração (Refactoring)
Melhora o código existente sem alterar seu comportamento ou adicionar novas funcionalidades;

Mantém o design eficiente e aumenta a coesão;

Mudanças e novas funcionalidades são facilmente aplicadas ao código;

Procura reduzir código duplicado e acoplamento.
Jogos de Planejamento (Planning Games)
Iteration Planning

Iteração
Ciclos de desenvolvimento curtos de 2 semanas.

Iteration Plan
Cliente e Desenvolvedor se reúnem.
Integração Contínua (Continuous Integration)
Juntar as partes de código e garantir que compile e fucione em conjunto;

Descobre problemas com antecedência;

Evita que mais código seja construído baseado em um design problemático ou incompatível.
Desenvolvimento Orientado a Testes (Test-Driven Development)
Testes são escritos antes do desenvolvimento;

Encurta o ciclo de feedback de testes.
Design Simples (Simple Design)
Manter o design simples mas adequado às necessidades do projeto;

Tornar a codificação mais rápida;

Estratégia de mitigação de risco (complexidade).
Obrigado!
Possibilitar que o time tenha a confiança necessária para efetuar mudanças importantes;

Necessária para permitir que o seu trabalho seja visto por todos e para informar estimativas e status real de progresso;

"Praticando programação pareada, se compartilha código e se faz simplicação corajosa nele"
Coragem
Valores
Programação Pareada (Pair Programming)
Fornece revisão imediata;

Ineficiente?;

Tratamento de questões mais cedo;

Obtém o benefício de ter o conhecimento de duas pessoas;

Auxilia na disseminação de conhecimento.
Valores
Práticas
Práticas
Práticas
Práticas
Práticas
Práticas
Práticas
Práticas
Práticas
Práticas
Práticas
Práticas
Práticas
Jogos de Planejamento (Planning Games)
Release Planning

Release
Grupo de novas funcionalidades a caminho do ambiente de produção do cliente;
Um ou mais por projeto.

Release Plan
Cliente e Desenvolvedor se reúnem.
Práticas
XP
Ciclo de Vida XP
Full transcript