Escolar Documentos
Profissional Documentos
Cultura Documentos
Metodologia gil
Estamos descobrindo maneiras melhores de
Partes do XP
desenvolver software fazendo-o ns mesmos e
ajudando outros a faz-lo. Atravs desse trabalho,
passamos a valorizar: 1. Values (valores): estabelecem a forma do
Indivduos e interaes mais que processos e desenvolvimento XP
ferramentas; Principles (princpios): guiam o
Software em funcionamento mais que documentao desenvolvimento do software
abrangente;
Colaborao com o cliente mais que negociao de Activities (atividades): devem ser executadas
contratos; por todo o ciclo de vida XP
Responder a mudanas mais que seguir um plano. Practices (prticas): so utilizadas pelas equipes
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham,
XP para desenvolver sistemas
Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern,
Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave
Thomas
1
Simplicity (simplicidade) Feedback (retroalimentao)
Vrias prticas de XP garantem um rpido
XP incentiva ao extremo prticas que feedback sobre vrias etapas/partes do processo
reduzam a complexidade do sistema Feedback sobre qualidade do cdigo (testes de unidade,
A soluo adotada deve ser sempre a mais programao em pares, posse coletiva)
Feedback sobre estado do desenvolvimento (estrias do
simples que alcance os objetivos esperados usurio-final, integrao contnua, jogo do
Use as tecnologias, algoritmos e tcnicas mais planejamento)
simples que permitiro atender aos requisitos Permite maior agilidade
do usurio-final Erros detectados e corrigidos imediatamente
Design, processo e cdigo podem ser Requisitos e prazos reavaliados mais cedo
simplificados a qualquer momento Permite estimativas mais precisas
2
Incremental Change (mudanas Embrace Change (aceitar
incrementais) mudanas)
O modelo no ser perfeito na primeira Mudanas ocorrero no projeto de acordo
tentativa, ele ir mudar de acordo com o com o crescimento do entendimento do
desenvolvimento do projeto mesmo
Os problemas devem ser solucionados com Aceite as mudanas e tenha coragem para
um conjunto de pequenas modificaes reconstruir
3
Coding (codificar) Designing (projetar)
Escrever cdigo que refinado atravs de O design no esttico nem designado a um
prticas como: cargo (pessoa), ele dinmico e de
Refactory - refatorao responsabilidade de toda equipe
Pair programming programao em pares XP aceita a evoluo natural do sistema, o
Code review reviso de cdigo que implica em mudanas constantes
4. Prticas XP Prticas XP
Whole Team Equipe Refactoring Refinamento do projeto
Plannig Game Jogo do planejamento Continuos Integration Integrao contnua
Customer Tests Testes de aceitao
Collective Ownership Posse coletiva
Small releases Verses pequenas
Coding Standards Padres de codificao
Simple Design Projeto simples
Pair programming Programao em pares
Metaphor Metfora
Test-driven Development Desenvolvimento Sustainable Place Ritmo saudvel
orientado a testes (TDD)
4
Teste de aceitao Verses Pequenas (Small Releases)
(Customer Tests) Disponibiliza, a cada iterao, software 100%
funcional
Testes de aceitao so elaborados pelo cliente Benefcios do desenvolvimento disponveis
imediatamente
So testes automticos
Menor risco (se o projeto no terminar, parte existe e
Quando rodarem com sucesso, funcionalidade foi funciona)
implementada Cliente pode medir com preciso quanto j foi feito
Devem ser rodados novamente em cada iterao Feedback do cliente permitir que problemas sejam
Oferecem feedback: pode-se saber, a qualquer detectados cedo e facilita a comunicao entre o cliente
momento, quanto do sistema j foi implementado e e os desenvolvedores
quanto falta. Lanamento pode ser destinado a
usurio-cliente (que pode test-lo, avali-lo, oferecer
feedback)
usurio-final (sempre que possvel)
5
Integrao contnua
Posse coletiva (Collective
Projetos XP mantm o sistema integrado o tempo Ownership)
todo
Em um projeto XP qualquer dupla de
Integrao de todo o sistema pode ocorrer vrias vezes
ao dia (pelo menos uma vez ao dia) programadores pode melhorar o sistema a
Todos os testes (unidade e integrao) devem ser qualquer momento.
executados Todo o cdigo em XP pertence a um nico dono: a
Benefcios equipe
Expe o estado atual do desenvolvimento (viabiliza Todo o cdigo recebe a ateno de todos os
lanamentos pequenos e freqentes) participantes resultando em maior comunicao
Estimula design simples, tarefas curtas, agilidade Maior qualidade (menos duplicao, maior coeso)
Oferece feedback sobre todo o sistema Menos riscos e menos dependncia de indivduos
Permite encontrar problemas de design rapidamente Todos compartilham a responsabilidade pelas
alteraes
Padres de codificao
(Coding Standards) Metfora ( Metaphor)
O cdigo escrito em projetos XP segue um padro de
codificao, definido pela equipe Pode ser uma analogia com algum outro
Padro para nomes de mtodos, classes, variveis sistema (computacional, natural, abstrato)
Organizao do cdigo (chaves, etc.) que facilite a comunicao entre os
Cdigo com estrutura familiar facilita e estimula membros da equipe e cliente
Posse coletiva
Comunicao mais eficiente Facilita a escolha dos nomes de mtodos,
Simplicidade classes, campos de dados, etc.
Programao em pares Serve de base para estabelecimento de padres
Refinamento do design de codificao
6
Quando no usar XP Concluses
Extreme Programming (XP) uma metodologia de
Equipes grandes e espalhadas geograficamente desenvolvimento de software baseada nos valores
Comunicao um valor fundamental de XP simplicidade, comunicao, feedback e coragem.
No fcil garantir o nvel de comunicao requerido Para implementar XP no preciso usar diagramas ou
em projetos XP em grandes equipes processos formais. preciso fazer uma equipe se unir em
torno de algumas prticas simples, obter feedback
Situaes onde o feedback demorado suficiente e ajustar as prticas para a sua situao
Testes muito difceis, arriscados e que levam tempo particular.
Programadores espalhados em ambientes fsicos XP pode ser implementada aos poucos, porm a maior
distantes e sem comunicao eficiente parte das prticas essencial.
Nem todos os projetos so bons candidatos a usar uma
metodologia gil como XP. XP mais adequado a
equipes pequenas ou mdias.
Referncias
Beck, K. Extreme Programming Explained:
Embrace Change, 2000. Addison-Wesley.
Manifesto for Agile Software Development,
Agile Alliance, 2001, webpage: Manifesto-for-
Agile-Software-Dev