Este documento apresenta os conceitos e valores da metodologia ágil Extreme Programming (XP). O XP tem como objetivo principal reduzir os riscos em projetos de software, focando em indivíduos, interações, colaboração com o cliente e resposta à mudanças. Os valores fundamentais do XP são comunicação, coragem, feedback, respeito e simplicidade.
5. Indivíduos e interações 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
(Trecho retirado do Manifesto Ágil)
6. Por que um workshop de XP?
Esse workshop foi criado com a
proposta de ensinar a métodologia
ágil Extreme Programming de uma
forma pratica e associativa de modo a
que os participantes possam ao
térmido do workshop sair
entendendo o conceito de XP e
sabendo dinamicas para poder aplicá-
lo.
7. O que é XP?
“XP é um jeito leve, eficiente, de baixo-
risco, flexível, preditivo, científico e
divertido de se desenvolver software”
Kent Beck
“XP é uma disciplina, porque existem
coisas que você precisa fazer para dizer
que está fazendo XP.”
Kent Beck
8. XP é uma metodologia para desenvolvimento de
software ágil, com qualidade e que atenda as
necessidades do cliente.
Uma metodologia voltada para projetos cujos
requisitos mudem com frequência e com equipes
de médio e/ou pequeno tamanho de
desenvolvedores e desenvolvimento incremental.
A XP é organizada em torno de um conjunto de
práticas e valores que atuam perfeitamente para
assegurar um alto retorno do investimento
efetuado pelo cliente. A seguir serão
apresentados os valores e em seguida as práticas.
9. Risco: O Problema Básico
Mas qual é o problema que o
xp visa resolver?
De acordo Kent Beck, o problema
básico do desenvolvimento de
software é o risco. Segue alguns
exemplos de risco:
10. Projeto cancelado depois de vários deslizes,
o projeto é cancelado sem ter chegado a fase de
produção.
Deslizes no cronograma o dia de entrega
chega e você tem de dizer ao cliente que o
software não ficará pronto antes de seis meses.
11. Taxa de erros o software é colocado em fase de
produção, mas a taxa de erros é tão alta que ele não
é usado.
O sistema “azeda” o software é colocado em
produção com sucesso, mas, depois de uns dois anos,
o custo de fazer modificações ou taxa de erros cresce
tanto que o sistema deve ser substituído.
12. Modificações nos negócios o software é
colocado em fase de produção, mas o problema do
negócio cuja resolução para o software foi projetado
foi substituído seis meses atrás por outro problema
de negócios mais urgente.
Negócio mal compreendido o software é
colocado em produção, mas não resolve o problema
original.
13. Rotatividade da equipe após dois anos, todos
os bons programadores no projeto começam a odiar
o programa e vão embora.
Falsa riqueza de funções o software tem um
grande número de funções potencialmente
interessantes, as quais foram muito divertidas de
programar, porém nenhuma delas gera dinheiro para o
cliente.
14. Nossa missão
“Se aceitarmos o risco do projeto como o problema a ser
resolvido, onde vamos procurar a solução? O que
precisamos fazer é inventar um estilo de
desenvolvimento de software que trate desses riscos.
Precisamos comunicar esta
disciplina da maneira mais clara
possível para programadores,
gerentes e clientes.”
Kent Beck
15. “Um grande mestre até os
Jedi têm. Mas voz todos os
nossos membros têm.”
Yoda - Livro dos Sith
16. Todo o funcionamento da metodologia
XP se baseia em três regras:
● Valores
● Praticas
● Princípios
Sendo princípios o elo de ligação entre
valores e práticas. Segue-se o princípio
de valores para colocá-lo em prática.
Sendo esse o fundamento da
metodologia XP.
17. Valores do eXtreme Programming
O eXtreme Programming se baseia
em cinco valores para guiar o
desenvolvimento.
● Comunicação
● Coragem
● Feedback
● Respeito
● Simplicidade
18. Comunicação
A comunicação é essencial em
projetos de software, pois é a
principal forma de transmitir e
trocar informações e
conhecimentos.
A comunicação está na maioria
das práticas de XP e incentiva
diretamente outro valor essencial
no XP, o feedback.
20. Coragem
XP não tem uma solução mágica para
eliminar esse risco. Ele existe em um
projeto XP, como existe em qualquer
outro. O que muda é a forma de lidar
com ele. Equipes XP acreditam que
errar é natural e quebrar o que vinha
funcionando pode acontecer
eventualmente. É necessário ter
coragem para lidar com esse risco, o
que em XP se traduz em confiança nos
seus mecanismos de proteção.
22. Feedback
Quanto mais cedo descobrimos um
problema, menos prejuízos ele pode
causar e maiores são as chances de
resolvê-lo de forma barata. Por isso,
projetos XP estabelecem formas de
encurtar ao máximo a defasagem de
tempo entre o momento em que
uma ação é executada e o seu
resultado é observado.
23. ● Retorno do Cliente
● Aprendizado
● Realimentação
24. Respeito
Respeito é um valor que dá sustentação a todos
os demais. Membros de uma equipe só irão se
preocupar em comunicar-se melhor, por
exemplo, se se importarem uns com os outros.
Respeito é o mais básico de todos os valores. Se
ele não existir em um projeto, não há nada que
possa salvá-lo. Saber ouvir, saber compreender
e respeitar o ponto de vista do outro é essencial
para que um projeto de software seja bem
sucedido.
Texto de Vinícius Manhães Teles
26. Simplicidade
O XP utiliza o conceito de
simplicidade em inúmeros
aspectos do projeto para assegurar
que a equipe se concentre em
fazer, primeiro, apenas aquilo que
é claramente necessário e evite
fazer o que poderia vir a ser
necessário, mas ainda não se
provou essencial.