Sei sulla pagina 1di 42

Desenvolvimento ágil de software

com Extreme Programming - Xp


Prof. Msc Eduardo Siqueira Martins
Comunicação

Como melhorar a
comunicação!
Requisitos
Uso das funcionalidades
Satisfação do cliente
Descobrindo o XP

Extreme
Levar todas as boas
práticas ao Extremo

Programming
Foca em código
XP - Extremo?

“Se revisar código é bom, nós revisaremos


código o tempo todo (programação em pares)”.

“Se testar é bom, vamos testar o tempo todo,


inclusive os clientes(testes funcionais e de
aceitação)”
Características XP

metodologia ágil (leve) mais utilizada na


atualidade.
Desenvolvida para:
equipes de “pequeno e médio” porte;
requisitos vagos e em constante mudança;
preferida dos programadores.
possui um conjunto de valores e práticas para
nortear o desenvolvimento de software.
Comparação de métodos
Comparação de métodos
Comparação de métodos
Valores XP

Comunicação
Coragem

Feedback

Simplicidade

Respeito
Valores XP

Comunicação
Coragem

Feedback

Simplicidade Desce daí


GRANDÃO...

Respeito
Valores XP

Comunicação
Coragem

Feedback

Simplicidade

Respeito
Valores XP

Comunicação
Coragem

Feedback

Simplicidade

Respeito
Valores XP

Comunicação Calma
!
Coragem

Feedback

Simplicidade

Respeito
As 12 práticas do XP – 1ª ed.
Cliente junto aos Testes
desenvolvedores
Programação em pares
Planejamento
Propriedade coletiva
Fases pequenas
Integração contínua
Semana de 40 horas
Padronização do código
Refatoração
Metáfora
Design simples
Práticas primárias e corolárias
2ª ed.
● Práticas primárias – (13)

independentes, seguras de adotar, proporcionam melhorias imediatas e


podem ser iniciadas em qualquer ordem.

Ambiente Build de dez Programação Trabalho


informativo minutos em par energizado

Ciclo semanal Ciclo trimestral Folga Equipe integral

Histórias Sentar junto Design Integração


incremental contínua
Desenvolvimento
orientado a
testes
Práticas primárias e corolárias
2ª ed.
● Práticas corolárias – (11)

difíceis de adotar sem domínio das primárias

Análise da raiz Base de código Implantação Continuidade da


do problema unificada incremental equipe

Envolvimento Implantação Pague pelo o Redução da


do cliente real diária uso equipe

Código coletivo Código e testes Contrato de


escopo
negociável
Valores, princípios e práticas
Papéis – Programador

desenvolve as estórias do cliente.

recebe sempre feedback do usuário do sistema.

faz estimativas de iterações, custo e prazo.

responsável pela maior premissa do Xp: o código.


Papéis – Coach (treinador)
Em geral, o mais experiente do grupo.

Identifica quem é bom no que.

Lembra a todos as regras do jogo (XP).

Eventualmente faz programação pareada.

Não desenha arquitetura, apenas chama a atenção para


oportunidades de melhorias.

Seu papel diminui à medida em que o time fica mais


maduro.
Papéis – Tracker
(acompanhador)
A “consciência” do time.

Coleta estatísticas sobre o andamento do projeto.

Alguns exemplos:
número de histórias definidas e implementadas.
número de testes funcionais definidos e funcionando.
número de classes, métodos, linhas de código.

Mantém histórico do progresso.

Faz estimativas para o futuro.


Papéis – Cliente

Responsável por escrever “estórias”.

Muitas vezes é um programador ou é representado por


um programador do grupo.

Trabalha no mesmo espaço físico do grupo.

Define as prioridades das “estórias”.


Um dia de XP
Escolhe uma história do cliente.

Procura um par livre e um computador.

Seleciona um “cartão de história”.

Discute modificações recentes no sistema

Discute história do cliente

Entra no ciclo:
Quando não se deve usar XP

Cultura: Quando a empresa possui uma cultura


fortemente tradicional com ênfase em muita
documentação, modelagem, etc.
Tamanho da equipe: Beck considera que a equipe deve
ser pequena (até 20 pessoas).
Espaço físico: O local de trabalho deve servir para
aproximar a equipe e facilitar a comunicação.
Cliente: Em XP o cliente ou alguém que o represente deve
trabalhar junto à equipe.
O Ambiente Xp
Visão geral
Casos bem sucedidos
eXtreme Programming
Algumas empresas que utilizam eXtreme
Programming:
Brasil
Empresa Cidade Site
Objective Solutions São Paulo, SP e Curitiba, PR www.objective.com.br
Improve It Rio de Janeiro, RJ www.improveit.com.br
BrasilTelecom Brasília, DF www.brasiltelecom.com.br
Embrapa Informática Campinas, SP www.cnptia.embrapa.br
Agropecuária
Qualiti Recife, PE www.qualiti.com.br
Secretaria da Fazenda do São Paulo, SP www.fazenda.sp.gov.br
Estado de São Paulo
CETIP Rio de Janeiro, RJ www.cetip.com.br
A&L Software Campinas, SP www.alsoftware.com.br
Argonavis São Paulo, SP www.argonavis.com.br
SoftSite Tecnologia Fortaleza, Ceará www.softsite.com.br
Casos bem sucedidos
eXtreme Programming
Estados Unidos
Empresa Cidade Site
Industrial Logic, Inc. Berkeley, CA www.industriallogic.com
ThoughtWorks, Inc. Chicago www.thoughtworks.com
RoleModel Software, Inc. Holly Springs, NC www.rolemodelsoft.com
Monster Consulting, Inc. Bountiful, Utah www.monsterconsulting.com
Object Mentor, Inc. Vernon Hills, IL www.objectmentor.com
Trilogy Austin, Texas www.trilogy.com
Symantec, Inc. Beaverton, OR www.symantec.com
Motorola, Inc. Arlington Heights, IL www.motorola.com
CC Pace Systems Fairfax, VA www.www.ccpace.com
Kuvera Enterprise Solutions, Inc. Boulder, CO www.kuvera.com
Escrow.com Santa Ana, CA www.escrow.com
Thinkspark Dallas, Texas www.thinkspark.com
IONA Technologies Waltham, MA www.iona.com
Verio, Inc. Orem, UT www.verio.net
Net Objectives, Inc. Issaquah, WA www.netobjectives.com
e-automate Corporation American Fork, UT www.e-automate.com
TRW, Inc. Aurora, Colorado www.trw.com
Sabre Southlake, Texas www.sabre.com
Quest Software Irvine, CA www.quest.com
Fidelity Investiments Cincinnati, OH www.fidelity.com
Jera Design San Francisco, CA www.jera.com
LearningPatterns.com, Inc. New York, NY www.learningpatterns.com
Trivera Technologies Medford Lakes, NJ www.triveratech.com
Twin Bridge Consulting Skokie, IL www.twinbridgeconsulting.com
Poppendieck.LLC Eden Prairie, MN www.poppendieck.com
BoldTech Systems Denver, CO www.boldtech.com
Bespoke Technologies Denver, CO www.bespoketechnologies.com
Virtuas Englewood, CO www.virtuas.com
Casos bem sucedidos
eXtreme Programming
América Latina
Empresa Cidade País Site
RMyA Buenos Aires Argentina www.rmya.com.ar
Primal Forces Buenos Aires Argentina www.132.com.ar
Walicxe Montevideo Uruguai www.walicxe.com

Inglaterra
Empresa Cidade Site
Secure Trading Bangor www.securetrading.com
Workshare Technology Londres www.workshare.com
Connextra Londres www.connextra.com
ThoughtWorks Ltd. Londres www.uk.thoughtworks.com
LogicaCMG Londres www.logicacmg.com
eXoftware Londres www.exoftware.com
Alemanha
Empresa Cidade Site
OFFIS Oldenburg www.offis.de
Siemens AG Munique www.siemens.de
DaimlerChrysler AG Stuttgart www.daimlerchrysler.de/
Daedalos Consulting Witten www.daedalos.de
Córtex Brainware Pullach im Isartal www.cortex-brainware.de
Agile Software & Consulting GmbH Hahnstätten www.agile-gmbh.de
fumiX IT Consulting GmbH Heidelberg www.fumix.de
Casos bem sucedidos
eXtreme Programming
Canadá
Empresa Cidade Site
ClearStream Consulting Inc. Calgary www.clearstream.com
Red Hook Group Red Hook Group Toronto www.redhookgroup.com
Mayford Technologies Almonte www.mayford.ca
Saorsa Development Inc. Nova Scotia www.saorsa.com
Agile Logic Fullerton www.agilelogic.com
Software Productivity Center, Inc. Vancouver www.spc.ca

Europa
Empresa Cidade País Site
Lesire Software Engineering Leuven Bélgica www.lesire.com
Europeloan Bank Bruxelas Bélgica www.europeloan.com
Alcatel R&I Antuérpia Bélgica www.alcatel.be
Marcoussis França www.alcatel.fr
Tryx bvba Mechelen Bélgica www.tryx.com
TietoEnator Consulting Oslo Noruega www.tietoenator.com
Banca IMI S.p.A. Milão Itália www.bancaimi.it
eXoftware Dublin Irlanda www.exoftware.com
Software Improvement Holanda Amsterda www.software-improvers.com/
Group m
Daedalos Zurique Suíça www.daedalos.com
Mandrillo Consulting Johanneshov Suécia www.mandrillo.se
Lysholdt Consulting A/S Solrød Strand Dinamarca www.lysholdt-consulting.com
ISB Barcelona Espanha www.isb.es
Invest Valley.com Saint-Priest França www.invest-valley.com
Ferramentas
Iterate: é uma ferramenta comercial desenvolvida pela empresa Diamond Sky e
foca exclusivamente no controle das user stories e no planning game.
http://www.diamond-sky.com/products/iterate
Ferramentas
XpPlanit: é uma ferramenta comercial on-line para gerenciamento de projetos XP,
também baseada no planejamento de iterações e na medição constante da velocity
(número de funcionalidades entregues comparado ao número de funcionalidades prometidas.), com a
característica de ter um repositório central de projetos que possam ser acessados pelos
membros da equipe pela Web.
http://www.xpplanit.com/
Ferramentas
VersionOne: desenvolvido pela empresa VersionOne, é mais uma ferramenta
comercial de controle de iterações baseada em user stories, que, a exemplo das
anteriores, também gera estatísticas sobre a medição da velocity da equipe.
http://www.versionone.net/
Ferramentas
Select Scope Manager: é uma ferramenta comercial, bastante completa, que
permite o controle de iterações e releases, e tem como diferencial em relação às
ferramentas anteriores a possibilidade de exportar dados para o MS-project.
http://www.selectbs.com/products/scope.htm
Ferramentas
XP Tracker Plugin: O XP Tracker Plugin é um plugin para a interface wiki,
utilizada no desenvolvimento de páginas web colaborativas. Na verdade não é uma
ferramenta, mas sim uma espécie de linguagem de script para a interface citada
acima, que possibilita o controle de stories e a medição da velocity.
http://twiki.org/cgi-bin/view/Plugins/XpTrackerPlugin
O Ambiente Xp

Jogo do Priorização das


Planejamento estórias
O Ambiente Xp
Mural de estórias
O Ambiente Xp

Programação em pares
Concluindo...

Depois de 14 anos de experiência, XP


amadureceu.
Novas práticas e princípios facilitam o
aprendizado.
A comunidade cresceu, venha fazer parte.
Adote os valores, e comece você mesmo com
uma prática que faça sentido na sua organização.
Dúvidas

Contato:
prof.eduardosm@gmail.com

Mais informações:
Agile Alliance: www.agilealliance.org

Agile Modeling: www.agilemodeling.org

XP: www.xispe.com.br; www.xpers.com.br;


www.extremeprogramming.org;
www.xprogramming.com;

Potrebbero piacerti anche