SlideShare une entreprise Scribd logo
1  sur  50
XP
Extreme Programming
Apresentador
Luis Cláudio
Introdução
Extreme Programming (XP) é uma metodologia
de desenvolvimento de software, nascida nos
Estados Unidos ao final da década de 90.
Vem fazendo sucesso em diversos países, por
ajudar a criar sistemas de melhor qualidade,
que são produzidos em menos tempo e de
forma mais econômica que o habitual.
Introdução
Tais objetivos são alcançados através
de um pequeno conjunto de valores,
princípios e práticas, que diferem
substancialmente da forma
tradicional de se desenvolver
software.
Introdução
Projetos cujos requisitos são vagos e
mudam com frequência.
Desenvolvimento de sistemas orientados
a objetos.
Equipes pequenas, preferencialmente
até 12 desenvolvedores.
Desenvolvimento incremental (ou
iterativo), onde o sistema começa a ser
implementado logo no início do projeto e
vai ganhando novas funcionalidades ao
longo do tempo.
Valores
Feedback
Comunicação
Simplicidade
Respeito
Coragem
Valores
Feedback
Quando o cliente aprende com o sistema que utiliza e reavalia as suas
necessidades, gerando feedback para a equipe de desenvolvimento.
É o mecanismo fundamental que permite que o cliente conduza o
desenvolvimento diariamente.
 Garante que a equipe direcione as
suas atenções para aquilo
que irá gerar mais valor.
Valores
Comunicação
O XP busca aproximar todos
os envolvidos do projeto.
Permite que o cliente compartilhe
o seu aprendizado com a equipe.
Promover a comunicação face-a-face ou da forma mais rica que for viável.
A comunicação entre o cliente e a equipe permite que todos os detalhes do
projeto sejam tratados com a atenção e a agilidade que merecem.
Valores
Feedback
Comunicação
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 generalizações devem ser feitas quando elas vierem na forma de uma
necessidade específica e não como uma especulação.
Valores
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.
Valores
Coragem
“A equipe precisa ser corajosa e acreditar
que, utilizando as práticas e valores do XP,
será capaz de fazer o software evoluir com
segurança e agilidade.”
“Em muitos casos, a equipe alterará
algo que vinha funcionando corretamente,
o que leva ao risco de gerar falhas
no sistema.”
TELES, Vinícius M. Extreme Programming.
Novatec Editora, 2006
Princípios
Princípios existem para
servir de ponte entre
valores e práticas.
Princípios servem como
guias que se aplicam a um
domínio específico.
Princípios
O principio da auto semelhança sugere
que, quando equipes XP encontrarem
soluções que funcionem em um
contexto, também procurem adotá-las
em outros, mesmo que em escalas
diferentes.
Auto semelhança
Princípios
Benefício mútuo é um dos princípios mais
importantes do XP e, ao mesmo tempo, um
dos mais difíceis de serem adotados.
Projetos de software são complexos e
normalmente sofrem pressões de tempo e
outras que podem levar a equipe a adotar
práticas benéficas para uns, mas prejudiciais
a outros. É preciso atenção. O bom
funcionamento de uma equipe é algo frágil.
Benefício mútuo
Princípios
Práticas como Equipe Integral sugerem
que a equipe envolva, além dos
desenvolvedores, arquitetos, designers de
interação, executivos entre outros. Opiniões
diferentes ajudam a complementar as
soluções e torná-las mais ricas.
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 negócios.
XP reconhece essa premissa e
suas práticas são organizadas para
antecipar receitas e adiar despesas.
Princípios
Experimentar diferentes hipóteses e falhar
em algumas delas provê novos
conhecimentos. Pode parecer desperdício,
mas quando se trata de aprendizado,
frequentemente a forma mais rápida e rica
de aprender é simplesmente tentar algo
novo, mesmo que mais tarde tenhamos que
voltar atrás e explorar outras alternativas.
Em XP, buscamos feedback concreto.
Falha
Princípios
Software é conhecimento inserido no
meio digital.
Sendo assim, é fluído.
Edifícios, por outro lado, são estruturas
estáticas em um mundo físico.
Apesar disso, muitos comparam fazer
software a construir prédios.
Esse é um erro grave.
Fluidez
Princípios
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 não contra seus instintos.
Humanismo
Princípios
"Software não é ouro, é alface: um bem perecível. Se
não for aprimorado ao longo do tempo, acaba
estragando."
Essa frase, atribuída a Brian Behlendorf no livro
The World is Flat, resume o princípio da melhoria.
Melhoria
Princípios
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 mudança,
podemos adotar atitudes mais proveitosas para
todos os envolvidos.
Oportunidade
Princípios
Passos de bebê implicam em fazer apenas
pequenas mudanças de cada vez.
Passos de bebê
Princípios
Equipes XP trabalham para criar software de
alta qualidade.
O objetivo é altíssima qualidade para o
software e nada menos que isso.
Por que?
Porque é mais satisfatório e econômico fazer
software dessa forma.
Qualidade
Princípios
Os problemas difíceis e críticos em
desenvolvimento de software devem ser
resolvidos de várias formas diferentes.
Mesmo que uma solução falhe completamente,
as outras soluções irão prevenir um desastre.
O custo da redundância é mais que pago pela
economia de não ter um desastre.
Redundância
Princípios
Desenvolvimento de software tem uma longa tradição de
pessoas que se mantêm tão ocupadas pensando sobre
desenvolvimento de software que elas não têm sequer
tempo para desenvolver software.
Reflexão vem depois da ação.
Aprendizado é ação refletida.
Para maximizar o feedback, reflexões em equipes XP são
misturadas com ação.
Reflexão
Princípios
As práticas refletem responsabilidade aceita, por
exemplo, sugerindo que, quem quer que aceita
fazer um trabalho também o estime.
Da mesma forma, a pessoa responsável por
implementar uma história também é responsável
pelo design, implementação e teste da mesma.
Responsabilidade aceita
Práticas
Práticas
Ambiente Informativo
Build de Dez Minutos
Ciclo Semanal
Ciclo Trimestral
Desenvolvimento Orientado a Testes
Design Incremental
Primárias
Práticas
Folga
Histórias
Integração Contínua Programação em Par
Sentar-se Junto
Trabalho Energizado
Primárias
Práticas
Corolárias
Análise da Raiz do Problema
Base de Código Unificada
Código Coletivo
Práticas
Corolárias
Código e Testes
Continuidade da Equipe
Contrato de Escopo Negociável
Práticas
Corolárias
Envolvimento do Cliente Real
Equipes que Encolhem
Implantação Diária
Práticas
Corolárias
Implantação Incremental
Pagar Por Uso
Reunião em pé
Stand up meeting
É uma breve reunião realizada diariamente,
normalmente de manhã, pela equipe de
desenvolvimento com o objetivo de compartilhar
informações sobre o projeto e priorizar suas
atividades.
Trata-se de um diálogo entre todos os membros da
equipe, se possível envolvendo também a presença
do cliente.
Refatoração
Metáfora
Metáforas são usadas frequentemente
durante o desenvolvimento de sistemas, na
medida em que os desenvolvedores criam
elementos dentro do computador para simular
outros que existem regularmente fora dele, no
mundo físico.
Documentação
Documentação
Por que documentar?
Permitir que rapidamente um desenvolvedor possa criar ou manter um
código.
Até que ponto documentar?
O suficiente para apoiar o código: testes de unidade, testes de aceitação e
outras documentações.
Quando documentar?
Próximo da implementação (antes ou depois), para que o negócio não mude
enquanto se documenta.
Dentro da mesma iteração.
Equipe
Equipe
Gerente de Projeto
É responsável pelos assuntos administrativos
do projetos. Libera a equipe de questões não
ligadas ao desenvolvimento. Administra o
relacionamento com o cliente, assegurando
que o mesmo participe ativamente do
desenvolvimento.
Equipe
Coach
É o responsável técnico pelo projeto.
Orienta a equipe nas boas práticas do XP.
Pode atuar na implementação, mas a sua
função principal é assegurar o bom
funcionamento do processo e buscar formas de
melhorá-lo continuamente.
Equipe
Analista de Teste
É responsável por ajudar o cliente a escrever
os testes de aceitação.
Quando o teste não é automático, ele deve
executar os testes diversas vezes ao longo das
iterações.
Equipe
Redator Técnico
Ajuda a equipe a documentar o sistema.
A equipe pode fazer documentação, mas a preocupação
principal deve ser o código.
O redator é quem faz a maior parte do trabalho de
documentação.
Equipe
Desenvolvedor
É a pessoa que analisa, projeta e codifica.
Não existe distinção entre analista, projetista
e programadores.
O desenvolvedor faz estes diferentes papéis
em diversos momentos do projeto.
Quando não usar XP
Sistemas de premiação individuais
Contratos de escopo fechado
Clientes que fazem questão de um grande número de artefatos
Empresas onde os layouts de escritórios são fixos
Quando não usar XP
Quando não se tem apoio das pessoas que decidem
Equipes grandes e espalhadas geograficamente
Situações onde não se tem controle sobre o código (sistemas
legados)
Situações onde o feedback é demorado
Como implantar
Como implantar
Uma prática de cada vez
Enfatize o problema mais importante
Dificuldades culturais
Deixar alguém mexer no seu código
Trabalhar em pares
Dificuldades devido a mudança de hábitos
Manter as coisas simples (e não tentar prever o futuro escrevendo "design flexível")
Jogar fora código desnecessário
Escrever testes antes de codificar
Refatorar com frequência (vencer o medo)
XP - Extreme Programming
Obrigado!

Contenu connexe

Tendances

Tendances (20)

Metodologia Ágil
Metodologia ÁgilMetodologia Ágil
Metodologia Ágil
 
Usando o Agile Coaching Competency Framework para evoluir na carreira de Agil...
Usando o Agile Coaching Competency Framework para evoluir na carreira de Agil...Usando o Agile Coaching Competency Framework para evoluir na carreira de Agil...
Usando o Agile Coaching Competency Framework para evoluir na carreira de Agil...
 
Palestra PUC-Rio - Métodos Ágeis & SCRUM
Palestra PUC-Rio - Métodos Ágeis & SCRUMPalestra PUC-Rio - Métodos Ágeis & SCRUM
Palestra PUC-Rio - Métodos Ágeis & SCRUM
 
XP Investimentos - Apresentação ConnectIn 2016
XP Investimentos - Apresentação ConnectIn 2016XP Investimentos - Apresentação ConnectIn 2016
XP Investimentos - Apresentação ConnectIn 2016
 
Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!Scrum - Fundamentos, teorias e práticas!
Scrum - Fundamentos, teorias e práticas!
 
Transformação Digital
Transformação DigitalTransformação Digital
Transformação Digital
 
Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...
Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...
Métricas em times ágeis: O essencial que você precisa saber, mas não te conta...
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
The Platform Manifesto - 16 principles for digital transformation
The Platform Manifesto - 16 principles for digital transformationThe Platform Manifesto - 16 principles for digital transformation
The Platform Manifesto - 16 principles for digital transformation
 
What the heck is Product-led Growth?
What the heck is Product-led Growth?What the heck is Product-led Growth?
What the heck is Product-led Growth?
 
Estrategias Marketing Janaira Franca
Estrategias Marketing Janaira FrancaEstrategias Marketing Janaira Franca
Estrategias Marketing Janaira Franca
 
Guia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum MasterGuia do Papel e Responsabilidade do Scrum Master
Guia do Papel e Responsabilidade do Scrum Master
 
Transformando times de desenvolvimento mercenários em times de produto missio...
Transformando times de desenvolvimento mercenários em times de produto missio...Transformando times de desenvolvimento mercenários em times de produto missio...
Transformando times de desenvolvimento mercenários em times de produto missio...
 
Backlog Refinement 101 & 202
Backlog Refinement 101 & 202Backlog Refinement 101 & 202
Backlog Refinement 101 & 202
 
Aula 05 - Stakeholders
Aula 05 - StakeholdersAula 05 - Stakeholders
Aula 05 - Stakeholders
 
Oficina Feminina de Empreendedorismo - Negócio de Mulher
Oficina Feminina de Empreendedorismo - Negócio de MulherOficina Feminina de Empreendedorismo - Negócio de Mulher
Oficina Feminina de Empreendedorismo - Negócio de Mulher
 
Internet das Coisas
Internet das CoisasInternet das Coisas
Internet das Coisas
 
Transformação Digital: Criando uma empresa financeiramente estratégica para o...
Transformação Digital: Criando uma empresa financeiramente estratégica para o...Transformação Digital: Criando uma empresa financeiramente estratégica para o...
Transformação Digital: Criando uma empresa financeiramente estratégica para o...
 
Apresentação marketplace ecommerce brasil
Apresentação marketplace ecommerce brasil Apresentação marketplace ecommerce brasil
Apresentação marketplace ecommerce brasil
 
Product Led Growth: The Rise of the User
Product Led Growth: The Rise of the UserProduct Led Growth: The Rise of the User
Product Led Growth: The Rise of the User
 

En vedette (8)

What Is XP
What Is XPWhat Is XP
What Is XP
 
Metodologi Desain Dompet
Metodologi Desain DompetMetodologi Desain Dompet
Metodologi Desain Dompet
 
If2036 model proses
If2036 model prosesIf2036 model proses
If2036 model proses
 
Agile arquiteture Canvas
Agile arquiteture CanvasAgile arquiteture Canvas
Agile arquiteture Canvas
 
Model pembelajaran
Model pembelajaranModel pembelajaran
Model pembelajaran
 
Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)Incremental development (pengembangan incremental)
Incremental development (pengembangan incremental)
 
7. model pembelajaran ,120209
7. model pembelajaran ,1202097. model pembelajaran ,120209
7. model pembelajaran ,120209
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
 

Similaire à Extreme Programming XP

Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013
Lourenco P Soares
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Software
guest4b8d24
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Software
Marcos Cardoso
 
Msf microsoft solutions framework - Apresentação
Msf  microsoft solutions framework -  ApresentaçãoMsf  microsoft solutions framework -  Apresentação
Msf microsoft solutions framework - Apresentação
cesaraks
 

Similaire à Extreme Programming XP (20)

eXtreme Programming
eXtreme ProgrammingeXtreme Programming
eXtreme Programming
 
Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016
Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016
Extreme Programming - Workshop Praticas Jedi XP - LinguÁgil 2016
 
Práticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingPráticas Jedi eXtreme Programming
Práticas Jedi eXtreme Programming
 
Princípios Ágeis
Princípios ÁgeisPrincípios Ágeis
Princípios Ágeis
 
Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013Princípios ágeis - UFRGS 2013
Princípios ágeis - UFRGS 2013
 
eXtreme Programming (XP)
eXtreme Programming (XP)eXtreme Programming (XP)
eXtreme Programming (XP)
 
Extreme programming explicada
Extreme programming explicadaExtreme programming explicada
Extreme programming explicada
 
Extreme Programming Explicada
Extreme Programming ExplicadaExtreme Programming Explicada
Extreme Programming Explicada
 
Agile testing coach - Agile Trends Floripa
Agile testing coach - Agile Trends FloripaAgile testing coach - Agile Trends Floripa
Agile testing coach - Agile Trends Floripa
 
Metodos ageis
Metodos ageisMetodos ageis
Metodos ageis
 
Extreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia ÁgilExtreme Programming (XP) Metodologia Ágil
Extreme Programming (XP) Metodologia Ágil
 
O uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de softwareO uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de software
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Software
 
Xp Metodologias Ageis Para Desenvolvimento De Software
Xp   Metodologias Ageis Para Desenvolvimento De SoftwareXp   Metodologias Ageis Para Desenvolvimento De Software
Xp Metodologias Ageis Para Desenvolvimento De Software
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 
Msf microsoft solutions framework - Apresentação
Msf  microsoft solutions framework -  ApresentaçãoMsf  microsoft solutions framework -  Apresentação
Msf microsoft solutions framework - Apresentação
 
Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)Introdução a Metodologia XP (E Xtreme Programming)
Introdução a Metodologia XP (E Xtreme Programming)
 
Agilizando processos com Scrum
Agilizando processos com ScrumAgilizando processos com Scrum
Agilizando processos com Scrum
 

Dernier

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
PatriciaCaetano18
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
Autonoma
 

Dernier (20)

A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
A EDUCAÇÃO FÍSICA NO NOVO ENSINO MÉDIO: IMPLICAÇÕES E TENDÊNCIAS PROMOVIDAS P...
 
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
Apresentação | Dia da Europa 2024 - Celebremos a União Europeia!
 
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
Aula 25 - A america espanhola - colonização, exploraçãp e trabalho (mita e en...
 
Sistema de Bibliotecas UCS - Cantos do fim do século
Sistema de Bibliotecas UCS  - Cantos do fim do séculoSistema de Bibliotecas UCS  - Cantos do fim do século
Sistema de Bibliotecas UCS - Cantos do fim do século
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx3 2 - termos-integrantes-da-oracao-.pptx
3 2 - termos-integrantes-da-oracao-.pptx
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
M0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptxM0 Atendimento – Definição, Importância .pptx
M0 Atendimento – Definição, Importância .pptx
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdfatividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
atividade-de-portugues-paronimos-e-homonimos-4º-e-5º-ano-respostas.pdf
 
Renascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDFRenascimento Cultural na Idade Moderna PDF
Renascimento Cultural na Idade Moderna PDF
 
Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024Historia de Portugal - Quarto Ano - 2024
Historia de Portugal - Quarto Ano - 2024
 

Extreme Programming XP

  • 3. Introdução Extreme Programming (XP) é uma metodologia de desenvolvimento de software, nascida nos Estados Unidos ao final da década de 90. Vem fazendo sucesso em diversos países, por ajudar a criar sistemas de melhor qualidade, que são produzidos em menos tempo e de forma mais econômica que o habitual.
  • 4. Introdução Tais objetivos são alcançados através de um pequeno conjunto de valores, princípios e práticas, que diferem substancialmente da forma tradicional de se desenvolver software.
  • 5. Introdução Projetos cujos requisitos são vagos e mudam com frequência. Desenvolvimento de sistemas orientados a objetos. Equipes pequenas, preferencialmente até 12 desenvolvedores. Desenvolvimento incremental (ou iterativo), onde o sistema começa a ser implementado logo no início do projeto e vai ganhando novas funcionalidades ao longo do tempo.
  • 7. Valores Feedback Quando o cliente aprende com o sistema que utiliza e reavalia as suas necessidades, gerando feedback para a equipe de desenvolvimento. É o mecanismo fundamental que permite que o cliente conduza o desenvolvimento diariamente.  Garante que a equipe direcione as suas atenções para aquilo que irá gerar mais valor.
  • 8. Valores Comunicação O XP busca aproximar todos os envolvidos do projeto. Permite que o cliente compartilhe o seu aprendizado com a equipe. Promover a comunicação face-a-face ou da forma mais rica que for viável. A comunicação entre o cliente e a equipe permite que todos os detalhes do projeto sejam tratados com a atenção e a agilidade que merecem.
  • 10. 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 generalizações devem ser feitas quando elas vierem na forma de uma necessidade específica e não como uma especulação.
  • 11. Valores 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.
  • 12. Valores Coragem “A equipe precisa ser corajosa e acreditar que, utilizando as práticas e valores do XP, será capaz de fazer o software evoluir com segurança e agilidade.” “Em muitos casos, a equipe alterará algo que vinha funcionando corretamente, o que leva ao risco de gerar falhas no sistema.” TELES, Vinícius M. Extreme Programming. Novatec Editora, 2006
  • 13. Princípios Princípios existem para servir de ponte entre valores e práticas. Princípios servem como guias que se aplicam a um domínio específico.
  • 14. Princípios O principio da auto semelhança sugere que, quando equipes XP encontrarem soluções que funcionem em um contexto, também procurem adotá-las em outros, mesmo que em escalas diferentes. Auto semelhança
  • 15. Princípios Benefício mútuo é um dos princípios mais importantes do XP e, ao mesmo tempo, um dos mais difíceis de serem adotados. Projetos de software são complexos e normalmente sofrem pressões de tempo e outras que podem levar a equipe a adotar práticas benéficas para uns, mas prejudiciais a outros. É preciso atenção. O bom funcionamento de uma equipe é algo frágil. Benefício mútuo
  • 16. Princípios Práticas como Equipe Integral sugerem que a equipe envolva, além dos desenvolvedores, arquitetos, designers de interação, executivos entre outros. Opiniões diferentes ajudam a complementar as soluções e torná-las mais ricas. Diversidade
  • 17. 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 negócios. XP reconhece essa premissa e suas práticas são organizadas para antecipar receitas e adiar despesas.
  • 18. Princípios Experimentar diferentes hipóteses e falhar em algumas delas provê novos conhecimentos. Pode parecer desperdício, mas quando se trata de aprendizado, frequentemente a forma mais rápida e rica de aprender é simplesmente tentar algo novo, mesmo que mais tarde tenhamos que voltar atrás e explorar outras alternativas. Em XP, buscamos feedback concreto. Falha
  • 19. Princípios Software é conhecimento inserido no meio digital. Sendo assim, é fluído. Edifícios, por outro lado, são estruturas estáticas em um mundo físico. Apesar disso, muitos comparam fazer software a construir prédios. Esse é um erro grave. Fluidez
  • 20. Princípios 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 não contra seus instintos. Humanismo
  • 21. Princípios "Software não é ouro, é alface: um bem perecível. Se não for aprimorado ao longo do tempo, acaba estragando." Essa frase, atribuída a Brian Behlendorf no livro The World is Flat, resume o princípio da melhoria. Melhoria
  • 22. Princípios 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 mudança, podemos adotar atitudes mais proveitosas para todos os envolvidos. Oportunidade
  • 23. Princípios Passos de bebê implicam em fazer apenas pequenas mudanças de cada vez. Passos de bebê
  • 24. Princípios Equipes XP trabalham para criar software de alta qualidade. O objetivo é altíssima qualidade para o software e nada menos que isso. Por que? Porque é mais satisfatório e econômico fazer software dessa forma. Qualidade
  • 25. Princípios Os problemas difíceis e críticos em desenvolvimento de software devem ser resolvidos de várias formas diferentes. Mesmo que uma solução falhe completamente, as outras soluções irão prevenir um desastre. O custo da redundância é mais que pago pela economia de não ter um desastre. Redundância
  • 26. Princípios Desenvolvimento de software tem uma longa tradição de pessoas que se mantêm tão ocupadas pensando sobre desenvolvimento de software que elas não têm sequer tempo para desenvolver software. Reflexão vem depois da ação. Aprendizado é ação refletida. Para maximizar o feedback, reflexões em equipes XP são misturadas com ação. Reflexão
  • 27. Princípios As práticas refletem responsabilidade aceita, por exemplo, sugerindo que, quem quer que aceita fazer um trabalho também o estime. Da mesma forma, a pessoa responsável por implementar uma história também é responsável pelo design, implementação e teste da mesma. Responsabilidade aceita
  • 29. Práticas Ambiente Informativo Build de Dez Minutos Ciclo Semanal Ciclo Trimestral Desenvolvimento Orientado a Testes Design Incremental Primárias
  • 30. Práticas Folga Histórias Integração Contínua Programação em Par Sentar-se Junto Trabalho Energizado Primárias
  • 31. Práticas Corolárias Análise da Raiz do Problema Base de Código Unificada Código Coletivo
  • 32. Práticas Corolárias Código e Testes Continuidade da Equipe Contrato de Escopo Negociável
  • 33. Práticas Corolárias Envolvimento do Cliente Real Equipes que Encolhem Implantação Diária
  • 35. Reunião em pé Stand up meeting É uma breve reunião realizada diariamente, normalmente de manhã, pela equipe de desenvolvimento com o objetivo de compartilhar informações sobre o projeto e priorizar suas atividades. Trata-se de um diálogo entre todos os membros da equipe, se possível envolvendo também a presença do cliente.
  • 37. Metáfora Metáforas são usadas frequentemente durante o desenvolvimento de sistemas, na medida em que os desenvolvedores criam elementos dentro do computador para simular outros que existem regularmente fora dele, no mundo físico.
  • 39. Documentação Por que documentar? Permitir que rapidamente um desenvolvedor possa criar ou manter um código. Até que ponto documentar? O suficiente para apoiar o código: testes de unidade, testes de aceitação e outras documentações. Quando documentar? Próximo da implementação (antes ou depois), para que o negócio não mude enquanto se documenta. Dentro da mesma iteração.
  • 41. Equipe Gerente de Projeto É responsável pelos assuntos administrativos do projetos. Libera a equipe de questões não ligadas ao desenvolvimento. Administra o relacionamento com o cliente, assegurando que o mesmo participe ativamente do desenvolvimento.
  • 42. Equipe Coach É o responsável técnico pelo projeto. Orienta a equipe nas boas práticas do XP. Pode atuar na implementação, mas a sua função principal é assegurar o bom funcionamento do processo e buscar formas de melhorá-lo continuamente.
  • 43. Equipe Analista de Teste É responsável por ajudar o cliente a escrever os testes de aceitação. Quando o teste não é automático, ele deve executar os testes diversas vezes ao longo das iterações.
  • 44. Equipe Redator Técnico Ajuda a equipe a documentar o sistema. A equipe pode fazer documentação, mas a preocupação principal deve ser o código. O redator é quem faz a maior parte do trabalho de documentação.
  • 45. Equipe Desenvolvedor É a pessoa que analisa, projeta e codifica. Não existe distinção entre analista, projetista e programadores. O desenvolvedor faz estes diferentes papéis em diversos momentos do projeto.
  • 46. Quando não usar XP Sistemas de premiação individuais Contratos de escopo fechado Clientes que fazem questão de um grande número de artefatos Empresas onde os layouts de escritórios são fixos
  • 47. Quando não usar XP Quando não se tem apoio das pessoas que decidem Equipes grandes e espalhadas geograficamente Situações onde não se tem controle sobre o código (sistemas legados) Situações onde o feedback é demorado
  • 49. Como implantar Uma prática de cada vez Enfatize o problema mais importante Dificuldades culturais Deixar alguém mexer no seu código Trabalhar em pares Dificuldades devido a mudança de hábitos Manter as coisas simples (e não tentar prever o futuro escrevendo "design flexível") Jogar fora código desnecessário Escrever testes antes de codificar Refatorar com frequência (vencer o medo)
  • 50. XP - Extreme Programming Obrigado!