SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Extreme Programming Abrace a mudança!
Extreme Programming Juan di Carlo Damasceno Maurício Linhares
Manifesto Ágil Organizando a bagunça e as idéias
Princípios ,[object Object],[object Object],[object Object],[object Object]
Chrysler C3 Nascimento do XP
Onde – Quando - Como ,[object Object],[object Object],[object Object]
Dirigir “ Dirigir não é colocar o carro na direção certa, é manter uma atenção constante e corrigir sempre que necessário” Mãe do Kent Beck
Isso é XP! ,[object Object],[object Object],[object Object]
A mudança é um problema? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tudo muda! A mudança não é um problema, é uma realidade
Então, qual o problema? Lidar com a mudança!
O que é XP? ,[object Object],[object Object],[object Object],[object Object]
O que é XP? ,[object Object],[object Object],[object Object],[object Object]
Ciclo básico de um projeto XP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ciclo contínuo Modelagem Testes Planejamento Codificação
Só isso? Como é que pode? Como é que eles conseguem fazer o  Eclipse, Hibernate, MyFaces e Spring  desse jeito?
As bases do XP
Valores “ O que lhe traz problemas não é o que você não sabe, mas o que você acha que sabe e não sabe” Will Rogers
Comunicação ,[object Object],[object Object],[object Object]
Simplicidade ,[object Object],[object Object],[object Object]
Feedback ,[object Object],[object Object],[object Object]
Coragem ,[object Object],[object Object],[object Object],[object Object]
Respeito ,[object Object],[object Object],[object Object],[object Object]
Outros? O que as pessoas ao seu redor valorizam?
Princípios Guiando o comportamento
Humanidade ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Economia ,[object Object],[object Object],[object Object],[object Object]
Benefício Mútuo ,[object Object],[object Object],[object Object]
Auto-Similaridade ,[object Object],[object Object]
Evolução ,[object Object],[object Object],[object Object],[object Object]
Diversidade ,[object Object],[object Object],[object Object]
Reflexão ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Fluxo ,[object Object],[object Object],[object Object]
Oportunidade ,[object Object],[object Object],[object Object],[object Object]
Redundancia ,[object Object],[object Object],[object Object]
Falhar ,[object Object],[object Object],[object Object]
Qualidade ,[object Object],[object Object],[object Object]
Passos de bebê ,[object Object],[object Object],[object Object]
Aceitar Responsabilidade ,[object Object],[object Object],[object Object],[object Object]
Práticas Luz! Câmeras! Ação!
Todo mundo junto Time junto, todo no mesmo lugar, todos escutando uns aos outros
Time Completo Somos uma família
Espaço informativo ,[object Object],[object Object],[object Object],[object Object],[object Object]
Trabalho energizado ,[object Object],[object Object],[object Object],[object Object],[object Object]
Programação em Par ,[object Object],[object Object],[object Object]
Estórias ,[object Object],[object Object],[object Object],[object Object]
Cartão de estória
Ciclo semanal ,[object Object],[object Object],[object Object],[object Object],[object Object]
Ciclo mensal (ou de 4 semanas) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Ócio ,[object Object],[object Object],[object Object]
O mais famoso produto do ócio de um programador
Build em 10 minutos ,[object Object],[object Object]
Integração contínua ,[object Object],[object Object],[object Object]
Teste primeiro – Programe depois ,[object Object],[object Object],[object Object],[object Object]
Modelagem incremental ,[object Object],[object Object],[object Object]
Um time XP Escalando a seleção
Papéis ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Mundo perfeito Quando não usar XP?
Quando não usar XP? ,[object Object],[object Object],[object Object],[object Object]
Quando não usar XP? ,[object Object],[object Object]
“ There’s no silver bullet” Frederick P. Brooks
Conclusão ,[object Object],[object Object],[object Object]
Conclusão ,[object Object],[object Object],[object Object]
Referências ,[object Object],[object Object],[object Object]
Referências ,[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Pengenalan UML (Unified Modelling Language)
Pengenalan UML (Unified Modelling Language)Pengenalan UML (Unified Modelling Language)
Pengenalan UML (Unified Modelling Language)Hani Nurrahmi
 
Measurable organizational value and the business case
Measurable organizational value and the business caseMeasurable organizational value and the business case
Measurable organizational value and the business caseMohammad Faried Rahmat
 
Soal uts-tik-kelas-8-smp-labschool-jakarta-cetak
Soal uts-tik-kelas-8-smp-labschool-jakarta-cetakSoal uts-tik-kelas-8-smp-labschool-jakarta-cetak
Soal uts-tik-kelas-8-smp-labschool-jakarta-cetakAbi Habib Al Husain
 
Reviewing the Security of ASoC Drivers in Android Kernel
Reviewing the Security of ASoC Drivers in Android KernelReviewing the Security of ASoC Drivers in Android Kernel
Reviewing the Security of ASoC Drivers in Android KernelShakacon
 
Rancangan perangkat lunak
Rancangan perangkat lunakRancangan perangkat lunak
Rancangan perangkat lunakAinul Yaqin
 
BAB 6 - ALGORITMA PEMROGRAMAN OK.pptx
BAB 6 - ALGORITMA PEMROGRAMAN OK.pptxBAB 6 - ALGORITMA PEMROGRAMAN OK.pptx
BAB 6 - ALGORITMA PEMROGRAMAN OK.pptxFardianFardian4
 
2. instalasi scratch
2. instalasi scratch2. instalasi scratch
2. instalasi scratchFajar Baskoro
 
Tutorial pengolahan citra menggunakan octave
Tutorial pengolahan citra menggunakan octaveTutorial pengolahan citra menggunakan octave
Tutorial pengolahan citra menggunakan octavearif samsul
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPuppet
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De SoftwareCursoSENAC
 
Metode pengembangan game digital
Metode pengembangan game digitalMetode pengembangan game digital
Metode pengembangan game digitalToto Haryadi
 
Rpp tik kelas vii semester 1
Rpp tik kelas vii semester 1Rpp tik kelas vii semester 1
Rpp tik kelas vii semester 1hamisya education
 
Sist peredaran darah
Sist peredaran darahSist peredaran darah
Sist peredaran darahhasri fazari
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in AndroidOpersys inc.
 

Was ist angesagt? (20)

Rekayasa perangkat lunak
Rekayasa perangkat lunakRekayasa perangkat lunak
Rekayasa perangkat lunak
 
Pengenalan UML (Unified Modelling Language)
Pengenalan UML (Unified Modelling Language)Pengenalan UML (Unified Modelling Language)
Pengenalan UML (Unified Modelling Language)
 
Presentasi wordpress
Presentasi wordpressPresentasi wordpress
Presentasi wordpress
 
Spesifikasi server
Spesifikasi serverSpesifikasi server
Spesifikasi server
 
Measurable organizational value and the business case
Measurable organizational value and the business caseMeasurable organizational value and the business case
Measurable organizational value and the business case
 
Soal uts-tik-kelas-8-smp-labschool-jakarta-cetak
Soal uts-tik-kelas-8-smp-labschool-jakarta-cetakSoal uts-tik-kelas-8-smp-labschool-jakarta-cetak
Soal uts-tik-kelas-8-smp-labschool-jakarta-cetak
 
Reviewing the Security of ASoC Drivers in Android Kernel
Reviewing the Security of ASoC Drivers in Android KernelReviewing the Security of ASoC Drivers in Android Kernel
Reviewing the Security of ASoC Drivers in Android Kernel
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Rancangan perangkat lunak
Rancangan perangkat lunakRancangan perangkat lunak
Rancangan perangkat lunak
 
BAB 6 - ALGORITMA PEMROGRAMAN OK.pptx
BAB 6 - ALGORITMA PEMROGRAMAN OK.pptxBAB 6 - ALGORITMA PEMROGRAMAN OK.pptx
BAB 6 - ALGORITMA PEMROGRAMAN OK.pptx
 
Kelompok 3 incremental
Kelompok 3   incrementalKelompok 3   incremental
Kelompok 3 incremental
 
2. instalasi scratch
2. instalasi scratch2. instalasi scratch
2. instalasi scratch
 
Tutorial pengolahan citra menggunakan octave
Tutorial pengolahan citra menggunakan octaveTutorial pengolahan citra menggunakan octave
Tutorial pengolahan citra menggunakan octave
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Engenharia De Software
Engenharia De SoftwareEngenharia De Software
Engenharia De Software
 
Metode pengembangan game digital
Metode pengembangan game digitalMetode pengembangan game digital
Metode pengembangan game digital
 
Rpp tik kelas vii semester 1
Rpp tik kelas vii semester 1Rpp tik kelas vii semester 1
Rpp tik kelas vii semester 1
 
Sist peredaran darah
Sist peredaran darahSist peredaran darah
Sist peredaran darah
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
Agile Usability
Agile UsabilityAgile Usability
Agile Usability
 

Ähnlich wie Extreme programming explicada

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 2016Annelise Gripp
 
Práticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingPráticas Jedi eXtreme Programming
Práticas Jedi eXtreme ProgrammingMorvana Bonin
 
Porque eu deveria utilizar Agile
Porque eu deveria utilizar AgilePorque eu deveria utilizar Agile
Porque eu deveria utilizar AgileRodrigo Branas
 
Como sincronizar times de design e desenvolvimento
Como sincronizar times de design e desenvolvimentoComo sincronizar times de design e desenvolvimento
Como sincronizar times de design e desenvolvimentoVitor Guerra
 
Quando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesQuando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesJuliano Ribeiro
 
Scrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia GrandeScrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia GrandeGabriel Rubens
 
Soft skills para pessoas de tecnologia
Soft skills para pessoas de tecnologiaSoft skills para pessoas de tecnologia
Soft skills para pessoas de tecnologiaLeonam Pereira Dias
 
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosGiovani Elísio Silva
 
Google Design Sprint
Google Design SprintGoogle Design Sprint
Google Design SprintPedro Prá
 
UI Lab Experience - Como Utilizar a Metodologia Google Design Sprint
UI Lab Experience - Como Utilizar a Metodologia Google Design SprintUI Lab Experience - Como Utilizar a Metodologia Google Design Sprint
UI Lab Experience - Como Utilizar a Metodologia Google Design SprintUI Lab
 
Gestão de portifólio de projetos
Gestão de portifólio de projetosGestão de portifólio de projetos
Gestão de portifólio de projetosAndré Faria Gomes
 
#HubEscola2016 | Gestão ágil de projetos para "não TI" | Rafael Rocha
#HubEscola2016 | Gestão ágil de projetos para "não TI" | Rafael Rocha#HubEscola2016 | Gestão ágil de projetos para "não TI" | Rafael Rocha
#HubEscola2016 | Gestão ágil de projetos para "não TI" | Rafael RochaRafael Rocha
 
Gestão Agile: como introduzir e influenciar
Gestão Agile: como introduzir e influenciarGestão Agile: como introduzir e influenciar
Gestão Agile: como introduzir e influenciarHenrique Imbertti Jr.
 

Ähnlich wie Extreme programming explicada (20)

Extreme Programming XP
Extreme Programming XPExtreme Programming XP
Extreme Programming XP
 
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
 
Porque eu deveria utilizar Agile
Porque eu deveria utilizar AgilePorque eu deveria utilizar Agile
Porque eu deveria utilizar Agile
 
Como sincronizar times de design e desenvolvimento
Como sincronizar times de design e desenvolvimentoComo sincronizar times de design e desenvolvimento
Como sincronizar times de design e desenvolvimento
 
Não São Apenas Sapatos
Não São Apenas SapatosNão São Apenas Sapatos
Não São Apenas Sapatos
 
eXtreme Programming
eXtreme ProgrammingeXtreme Programming
eXtreme Programming
 
Pessoas Ou Processos
Pessoas Ou ProcessosPessoas Ou Processos
Pessoas Ou Processos
 
Quando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidadesQuando os rótulos não atendem as suas necessidades
Quando os rótulos não atendem as suas necessidades
 
Scrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia GrandeScrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
Scrum - Primeiros Passos - Curso de Férias Fatec Praia Grande
 
Soft skills para pessoas de tecnologia
Soft skills para pessoas de tecnologiaSoft skills para pessoas de tecnologia
Soft skills para pessoas de tecnologia
 
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
 
Excelência - PUC
Excelência - PUCExcelência - PUC
Excelência - PUC
 
Google Design Sprint
Google Design SprintGoogle Design Sprint
Google Design Sprint
 
UI Lab Experience - Como Utilizar a Metodologia Google Design Sprint
UI Lab Experience - Como Utilizar a Metodologia Google Design SprintUI Lab Experience - Como Utilizar a Metodologia Google Design Sprint
UI Lab Experience - Como Utilizar a Metodologia Google Design Sprint
 
Gestão de portifólio de projetos
Gestão de portifólio de projetosGestão de portifólio de projetos
Gestão de portifólio de projetos
 
Agilidade no governo 02
Agilidade no governo 02Agilidade no governo 02
Agilidade no governo 02
 
#HubEscola2016 | Gestão ágil de projetos para "não TI" | Rafael Rocha
#HubEscola2016 | Gestão ágil de projetos para "não TI" | Rafael Rocha#HubEscola2016 | Gestão ágil de projetos para "não TI" | Rafael Rocha
#HubEscola2016 | Gestão ágil de projetos para "não TI" | Rafael Rocha
 
Gestão Agile: como introduzir e influenciar
Gestão Agile: como introduzir e influenciarGestão Agile: como introduzir e influenciar
Gestão Agile: como introduzir e influenciar
 
Métodos Ágeis - Aula02
Métodos Ágeis - Aula02Métodos Ágeis - Aula02
Métodos Ágeis - Aula02
 

Mehr von Maurício Linhares

Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropUnindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropMaurício Linhares
 
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDropMixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDropMaurício Linhares
 
Curso java 08 - mais sobre coleções
Curso java   08 - mais sobre coleçõesCurso java   08 - mais sobre coleções
Curso java 08 - mais sobre coleçõesMaurício Linhares
 
Curso java 06 - mais construtores, interfaces e polimorfismo
Curso java   06 - mais construtores, interfaces e polimorfismoCurso java   06 - mais construtores, interfaces e polimorfismo
Curso java 06 - mais construtores, interfaces e polimorfismoMaurício Linhares
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratosMaurício Linhares
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecasMaurício Linhares
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com javaMaurício Linhares
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetrosMaurício Linhares
 
Outsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvemOutsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvemMaurício Linhares
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Maurício Linhares
 

Mehr von Maurício Linhares (20)

Mercado de TI
Mercado de TIMercado de TI
Mercado de TI
 
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDropUnindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
Unindo Ruby e Java através de uma arquitetura orientada a serviços na OfficeDrop
 
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDropMixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
Mixing Ruby and Java in a Service Oriented Architecture at OfficeDrop
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
 
Curso java 07 - exceções
Curso java   07 - exceçõesCurso java   07 - exceções
Curso java 07 - exceções
 
Curso java 08 - mais sobre coleções
Curso java   08 - mais sobre coleçõesCurso java   08 - mais sobre coleções
Curso java 08 - mais sobre coleções
 
Curso java 06 - mais construtores, interfaces e polimorfismo
Curso java   06 - mais construtores, interfaces e polimorfismoCurso java   06 - mais construtores, interfaces e polimorfismo
Curso java 06 - mais construtores, interfaces e polimorfismo
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
 
Curso java 04 - ap is e bibliotecas
Curso java   04 - ap is e bibliotecasCurso java   04 - ap is e bibliotecas
Curso java 04 - ap is e bibliotecas
 
Curso java 01 - molhando os pés com java
Curso java   01 - molhando os pés com javaCurso java   01 - molhando os pés com java
Curso java 01 - molhando os pés com java
 
Curso java 02 - variáveis
Curso java   02 - variáveisCurso java   02 - variáveis
Curso java 02 - variáveis
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Migrando pra Scala
Migrando pra ScalaMigrando pra Scala
Migrando pra Scala
 
Outsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvemOutsourcing e trabalho remoto para a nuvem
Outsourcing e trabalho remoto para a nuvem
 
Mercado hoje
Mercado hojeMercado hoje
Mercado hoje
 
Análise de sistemas oo 1
Análise de sistemas oo   1Análise de sistemas oo   1
Análise de sistemas oo 1
 
Revisão html e java script
Revisão html e java scriptRevisão html e java script
Revisão html e java script
 
Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010Aulas de Java Avançado 2- Faculdade iDez 2010
Aulas de Java Avançado 2- Faculdade iDez 2010
 

Extreme programming explicada