Escolar Documentos
Profissional Documentos
Cultura Documentos
Extreme Programming
Apresentador
Luis Cludio
Introduo
Introduo
Introduo
Projetos cujos requisitos so vagos e
mudam com frequncia.
Desenvolvimento de sistemas orientados
a objetos.
Equipes pequenas, preferencialmente
at 12 desenvolvedores.
Desenvolvimento incremental (ou
iterativo), onde o sistema comea a ser
implementado logo no incio do projeto e
vai ganhando novas funcionalidades ao
longo do tempo.
Valores
Feedback
Respeito
Comunicao
Coragem
Simplicidade
Valores
Feedback
Quando o cliente aprende com o sistema que utiliza e reavalia as suas
necessidades, gerando feedback para a equipe de desenvolvimento.
Valores
Comunicao
O XP busca aproximar todos
os envolvidos do projeto.
Permite que o cliente compartilhe
o seu aprendizado com a equipe.
Promover a comunicao face-a-face ou da forma mais rica que for vivel.
A comunicao entre o cliente e a equipe permite que todos os detalhes do
projeto sejam tratados com a ateno e a agilidade que merecem.
Valores
Feedback
Comunicao
Valores
Simplicidade
Temos que implementar apenas aquilo que suficiente para atender a cada
necessidade do cliente.
Ao codificar, deve-se preocupar apenas com os problemas de hoje.
Deve-se deixar os problemas do futuro para o futuro.
As generalizaes devem ser feitas quando elas vierem na forma de uma
necessidade especfica e no como uma especulao.
Valores
Respeito
Respeito um valor que d sustentao a todos os
demais.
Membros de uma equipe s iro se preocupar em
comunicar-se melhor, por exemplo, se se
importarem uns com os outros.
Respeito o mais bsico de todos os valores.
Valores
Coragem
A equipe precisa ser corajosa e acreditar
que, utilizando as prticas e valores do XP,
ser capaz de fazer o software evoluir com
segurana e agilidade.
Em muitos casos, a equipe alterar
algo que vinha funcionando corretamente,
o que leva ao risco de gerar falhas
no sistema.
TELES, Vincius M. Extreme Programming.
Novatec Editora, 2006
Princpios
Princpios
Auto semelhana
Princpios
Benefcio mtuo
Benefcio mtuo um dos princpios mais
importantes do XP e, ao mesmo tempo, um
dos mais difceis de serem adotados.
Projetos de software so complexos e
normalmente sofrem presses de tempo e
outras que podem levar a equipe a adotar
prticas benficas para uns, mas prejudiciais
a outros. preciso ateno. O bom
funcionamento de uma equipe algo frgil.
Princpios
Diversidade
Economia
Software um investimento.
Desenvolver uma atividade que
consome dinheiro e tempo. Investe-se
em software com a expectativa de que
gere retornos para os negcios.
XP reconhece essa premissa e
suas prticas so organizadas para
antecipar receitas e adiar despesas.
Princpios
Falha
Experimentar diferentes hipteses e falhar
em algumas delas prov novos
conhecimentos. Pode parecer desperdcio,
mas quando se trata de aprendizado,
frequentemente a forma mais rpida e rica
de aprender simplesmente tentar algo
novo, mesmo que mais tarde tenhamos que
voltar atrs e explorar outras alternativas.
Em XP, buscamos feedback concreto.
Princpios
Fluidez
Software conhecimento inserido no
meio digital.
Sendo assim, fludo.
Princpios
Humanismo
Pessoas desenvolvem software.
Metodologias e ferramentas apenas as ajudam
a realizar o trabalho.
Portanto, importante compreender a
natureza humana para que possamos
potencializar o que ela tem de melhor e
suprimir o que tem de pior.
Em particular, devemos compreender os
programadores para que possamos nos aliar a
favor e no contra seus instintos.
Princpios
Melhoria
Princpios
Oportunidade
Um acontecimento no projeto pode ser uma
crise ou uma oportunidade dependendo
apenas de como a equipe reage.
Quando enxergamos problemas como
oportunidades de aprendizado e mudana,
podemos adotar atitudes mais proveitosas para
todos os envolvidos.
Princpios
Passos de beb
Princpios
Qualidade
Equipes XP trabalham para criar software de
alta qualidade.
O objetivo altssima qualidade para o
software e nada menos que isso.
Por que?
Porque mais satisfatrio e econmico fazer
software dessa forma.
Princpios
Redundncia
Os problemas difceis e crticos em
desenvolvimento de software devem ser
resolvidos de vrias formas diferentes.
Mesmo que uma soluo falhe completamente,
as outras solues iro prevenir um desastre.
O custo da redundncia mais que pago pela
economia de no ter um desastre.
Princpios
Reflexo
Desenvolvimento de software tem uma longa tradio de
pessoas que se mantm to ocupadas pensando sobre
desenvolvimento de software que elas no tm sequer
tempo para desenvolver software.
Reflexo vem depois da ao.
Aprendizado ao refletida.
Para maximizar o feedback, reflexes em equipes XP so
misturadas com ao.
Princpios
Responsabilidade aceita
Prticas
Prticas
Primrias
Ambiente Informativo
Ciclo Semanal
Ciclo Trimestral
Desenvolvimento Orientado a Testes
Design Incremental
Prticas
Primrias
Folga
Sentar-se Junto
Histrias
Trabalho Energizado
Integrao Contnua
Programao em Par
Prticas
Corolrias
Anlise da Raiz do Problema
Cdigo Coletivo
Prticas
Corolrias
Cdigo e Testes
Continuidade da Equipe
Prticas
Corolrias
Envolvimento do Cliente Real
Implantao Diria
Prticas
Corolrias
Implantao Incremental
Reunio em p
Stand up meeting
uma breve reunio realizada diariamente,
normalmente de manh, pela equipe de
desenvolvimento com o objetivo de compartilhar
informaes sobre o projeto e priorizar suas
atividades.
Refatorao
Metfora
Documentao
Documentao
Por que documentar?
Permitir que rapidamente um desenvolvedor possa criar ou manter um
cdigo.
Quando documentar?
Prximo da implementao (antes ou depois), para que o negcio no mude
enquanto se documenta.
Dentro da mesma iterao.
Equipe
Equipe
Gerente de Projeto
Equipe
Coach
Equipe
Analista de Teste
Equipe
Redator Tcnico
Equipe
Desenvolvedor
a pessoa que analisa, projeta e codifica.
Quando no usar XP
Sistemas de premiao individuais
Quando no usar XP
Quando no se tem apoio das pessoas que decidem
Como implantar
Como implantar
Uma prtica de cada vez
Enfatize o problema mais importante
Dificuldades culturais
Deixar algum mexer no seu cdigo
Trabalhar em pares
XP - Extreme Programming
Obrigado!