SlideShare uma empresa Scribd logo
1 de 75
Baixar para ler offline
O XP não é contra Design Paulo Caroli Café Ágil em Recife Maio de 2010 © ThoughtWorks 2008 O XP não é contra Design Paulo Caroli Café Ágil em Recife Maio de 2010 © ThoughtWorks 2008
XP e Design ,[object Object]
Sobre  mim
Sobre mim Certified Architect
Sobre mim Agile Coach
Agenda
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
eXtreme Programming
XP ,[object Object],[object Object],[object Object],[object Object]
Valores de XP  ,[object Object],[object Object],[object Object],[object Object]
Práticas de XP ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Métodos Tradicionais
Fix / Integrate $ Test Code Design Analysis Requirements
Design Fix / Integrate $ Test Code Design Analysis Requirements
Projeto de XP Típico
$ Release 1 Inception $ Release 2 $ Release 3 Release 4 $
Mas cadê a fase de design? $ Release 1 Inception $ Release 2 $ Release 3 Release 4 $
Design acontece do início ao fim! $ Inception $ $ $
Métodos Tradicionais e XP
Design $ Inception $ $ $ Fix / Integrate $ Test Code Design Analysis Requirements
XP e Design
Práticas do XP  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XP e Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
XP e Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
" Things should be made as simple as possible,  but not any simpler. "  XP Simple Design
Não tente resolver os grandes problemas de uma só vez... XP e Design
Resolva pequenos problemas; um de cada vez. XP e Design
Crie artefatos simples que podem ser utilizados de forma flexível... XP e Design
Ao invés de artefatos complexos que visam incorporar todas as possibilidades. XP e Design
Não adicione funcionalidades antes do tempo... XP e Design
Pense no amanhã, mas faça design, testes e código para as funcionalidades de hoje! XP e Design
Faça a solução funcional da forma mais simples. XP e Design
Um design simples leva menos tempo para terminar... XP e Design
E uma futura mudança não terá um grande impacto. XP e Design
XP e Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],Testes e XP Test Fail Test Pass
A suíte de testes automatizados fornece um feedback do sistema. XP e Design
Testes do cliente e testes de desenvolvimento. XP e Design
Testes não servem apenas para detecção de defeitos... XP e Design
E sim  para evitar defeitos! XP e Design
Testes de aceitação verificam os requisitos apresentados pelo cliente. XP e Design
Por que não usar os testes de aceitação como requisitos? XP e Design
Você pode estar incerto se o sistema faz o que seu cliente espera dele... XP e Design
Os testes de aceitação eliminam essa incerteza. XP e Design
Test-Driven Development  Test Fail Test Pass 2.  write  code 1. write test
Satisfaz os requisitos atuais, XP e Design
Produz código testável, XP e Design
E sustenta a evolução do design. XP e Design
XP e Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Refactoring é uma prática de desenvolvimento para a  reestruturação  de um código existente, alterando a sua estrutura interna para torná-lo mais simples, sem alterar seu comportamento externo. Refactoring
Um passo muito importante! Test Fail Test Pass 2. write code 1. write test 3.  refactor
Quando o design fica complicado... XP e Design
Refatore para que fique simples novamente. XP e Design
Limpe o código (teste e funcional). XP e Design
Certifique-se que o código expressa a sua intenção. XP e Design
Repense o design. XP e Design
Evite  Broken Windows ! XP e Design
XP e Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Continuous Integration A prática de desenvolvimento de software onde os membros de uma equipe de integram seu trabalho com frequência.
O trabalho não está completo até que a suíte de testes esteja passando. XP e Design
Os testes automatizados garantem que sua implementação não quebre o design. XP e Design
Todos serão alertados quando design mudar. XP e Design
Os testes são uma  documentação detalhada  de sistema. XP e Design
Conclusão
XP e Design ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Funcionalidade Qualidade Interna Entregando com Qualidade
Funcionalidade Qualidade Interna Entregando com Qualidade
Funcionalidade Qualidade Interna Entregando com Qualidade
Funcionalidade Qualidade Interna Entregando com Qualidade
Funcionalidade Qualidade Interna Entregando com Qualidade
Funcionalidade Qualidade Interna Entregando com Qualidade
XP e Design
XP and Design ,[object Object]
XP and Design ,[object Object]
O XP não é contra Design Paulo Caroli Café Ágil em Recife Maio de 2010 © ThoughtWorks 2008 O XP não é contra Design Q & A Obrigado! Paulo Caroli [email_address] www.caroli.org Café Ágil em Recife Maio de 2010 © ThoughtWorks 2008

Mais conteúdo relacionado

Mais procurados

Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareDextra Sistemas / Etec Itu
 
Tente desenvolver diferente com TDD
Tente desenvolver diferente com TDDTente desenvolver diferente com TDD
Tente desenvolver diferente com TDDWebgoal
 
Engenharia de Software II - Aula 7
Engenharia de Software II - Aula 7Engenharia de Software II - Aula 7
Engenharia de Software II - Aula 7Alessandro Almeida
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoAchiles Camilo
 
Ágil na Prática
Ágil na PráticaÁgil na Prática
Ágil na PráticaIgo Coelho
 
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingDevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingSamanta Cicilia
 
Testes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsTestes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsElias Nogueira
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27Hélio Medeiros
 
Engenharia de Software II - Aula 9
Engenharia de Software II - Aula 9Engenharia de Software II - Aula 9
Engenharia de Software II - Aula 9Alessandro Almeida
 
O testador esta morto!
O testador esta morto!O testador esta morto!
O testador esta morto!Elias Nogueira
 
Continuous Inspection - An effective approch towards Software Quality Product...
Continuous Inspection - An effective approch towards Software Quality Product...Continuous Inspection - An effective approch towards Software Quality Product...
Continuous Inspection - An effective approch towards Software Quality Product...Gabriel Moreira
 
Teste de Software em Ti Interna
Teste de Software em Ti InternaTeste de Software em Ti Interna
Teste de Software em Ti InternaRoger Ritter
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorMarcos Pereira
 
Devops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estruturaDevops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estruturaFernando Celarino
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Daniel Carvalhinho
 
Desenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesDesenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesAndre Carlucci
 

Mais procurados (20)

BDD - Behaviour Driven Development
BDD - Behaviour Driven DevelopmentBDD - Behaviour Driven Development
BDD - Behaviour Driven Development
 
Testes unitários
Testes unitáriosTestes unitários
Testes unitários
 
TDD para Java EE
TDD para Java EETDD para Java EE
TDD para Java EE
 
Os Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de softwareOs Benefícios dos testes no desenvolvimento de software
Os Benefícios dos testes no desenvolvimento de software
 
Tente desenvolver diferente com TDD
Tente desenvolver diferente com TDDTente desenvolver diferente com TDD
Tente desenvolver diferente com TDD
 
Engenharia de Software II - Aula 7
Engenharia de Software II - Aula 7Engenharia de Software II - Aula 7
Engenharia de Software II - Aula 7
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introdução
 
Facetas do desenvolvedor agil
Facetas do desenvolvedor agilFacetas do desenvolvedor agil
Facetas do desenvolvedor agil
 
Ágil na Prática
Ágil na PráticaÁgil na Prática
Ágil na Prática
 
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile TestingDevOps Summit Brasil - O que não te contaram sobre Agile Testing
DevOps Summit Brasil - O que não te contaram sobre Agile Testing
 
Testes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP LabsTestes em ambiente agil - TechTalks ADP Labs
Testes em ambiente agil - TechTalks ADP Labs
 
UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27UnP Eng. Software - Aula 27
UnP Eng. Software - Aula 27
 
Engenharia de Software II - Aula 9
Engenharia de Software II - Aula 9Engenharia de Software II - Aula 9
Engenharia de Software II - Aula 9
 
O testador esta morto!
O testador esta morto!O testador esta morto!
O testador esta morto!
 
Continuous Inspection - An effective approch towards Software Quality Product...
Continuous Inspection - An effective approch towards Software Quality Product...Continuous Inspection - An effective approch towards Software Quality Product...
Continuous Inspection - An effective approch towards Software Quality Product...
 
Teste de Software em Ti Interna
Teste de Software em Ti InternaTeste de Software em Ti Interna
Teste de Software em Ti Interna
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Devops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estruturaDevops - A cultura ágil voltada à infra-estrutura
Devops - A cultura ágil voltada à infra-estrutura
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
 
Desenvolvimento Orientado a Testes
Desenvolvimento Orientado a TestesDesenvolvimento Orientado a Testes
Desenvolvimento Orientado a Testes
 

Destaque

Retrospectivas sob-medida
Retrospectivas sob-medidaRetrospectivas sob-medida
Retrospectivas sob-medidaPaulo Caroli
 
A linha de montagem de sw
A linha de montagem de sw A linha de montagem de sw
A linha de montagem de sw Paulo Caroli
 
Direto ao ponto; criando produtos de forma enxuta
Direto ao ponto; criando produtos de forma enxutaDireto ao ponto; criando produtos de forma enxuta
Direto ao ponto; criando produtos de forma enxutaPaulo Caroli
 
Kanban de features e MVP
Kanban de features e MVPKanban de features e MVP
Kanban de features e MVPPaulo Caroli
 
7 Ways To Track Lead-Time
7 Ways To Track Lead-Time7 Ways To Track Lead-Time
7 Ways To Track Lead-TimePaulo Caroli
 
Retrospectivas Divertidas: atividades e idéias para fazer retrospectivas ágei...
Retrospectivas Divertidas: atividades e idéias para fazer retrospectivas ágei...Retrospectivas Divertidas: atividades e idéias para fazer retrospectivas ágei...
Retrospectivas Divertidas: atividades e idéias para fazer retrospectivas ágei...Paulo Caroli
 
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife Paulo Caroli
 
Digital Transformation & Innovation: how to approach it?
Digital Transformation & Innovation: how to approach it?Digital Transformation & Innovation: how to approach it?
Digital Transformation & Innovation: how to approach it?Paulo Caroli
 

Destaque (8)

Retrospectivas sob-medida
Retrospectivas sob-medidaRetrospectivas sob-medida
Retrospectivas sob-medida
 
A linha de montagem de sw
A linha de montagem de sw A linha de montagem de sw
A linha de montagem de sw
 
Direto ao ponto; criando produtos de forma enxuta
Direto ao ponto; criando produtos de forma enxutaDireto ao ponto; criando produtos de forma enxuta
Direto ao ponto; criando produtos de forma enxuta
 
Kanban de features e MVP
Kanban de features e MVPKanban de features e MVP
Kanban de features e MVP
 
7 Ways To Track Lead-Time
7 Ways To Track Lead-Time7 Ways To Track Lead-Time
7 Ways To Track Lead-Time
 
Retrospectivas Divertidas: atividades e idéias para fazer retrospectivas ágei...
Retrospectivas Divertidas: atividades e idéias para fazer retrospectivas ágei...Retrospectivas Divertidas: atividades e idéias para fazer retrospectivas ágei...
Retrospectivas Divertidas: atividades e idéias para fazer retrospectivas ágei...
 
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
O XP não é contra Design com Paulo Caroli, Café Ágil em Recife
 
Digital Transformation & Innovation: how to approach it?
Digital Transformation & Innovation: how to approach it?Digital Transformation & Innovation: how to approach it?
Digital Transformation & Innovation: how to approach it?
 

Semelhante a O XP não é contra Design com Paulo Caroli, Café Ágil em Recife

XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingRodrigo Branas
 
XP Programming
XP ProgrammingXP Programming
XP ProgrammingCJR, UnB
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme ProgrammingMarcelo Láias
 
Introdução: eXtreme Programming
Introdução: eXtreme ProgrammingIntrodução: eXtreme Programming
Introdução: eXtreme ProgrammingDenis L Presciliano
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de SoftwareAdilmar Dantas
 
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)Rennan Martini
 
Encontro Locaweb
Encontro  LocawebEncontro  Locaweb
Encontro LocawebFabio Akita
 
Encontro Locaweb Curitiba
Encontro  Locaweb CuritibaEncontro  Locaweb Curitiba
Encontro Locaweb CuritibaFabio Akita
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwareAdolfo Neto
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Cristiano Schwening
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 

Semelhante a O XP não é contra Design com Paulo Caroli, Café Ágil em Recife (20)

XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
XP Programming
XP ProgrammingXP Programming
XP Programming
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Aula 4- Engenharia de Software
Aula 4- Engenharia de SoftwareAula 4- Engenharia de Software
Aula 4- Engenharia de Software
 
eXtreme Programming (XP)
eXtreme Programming (XP)eXtreme Programming (XP)
eXtreme Programming (XP)
 
XP - Extreme Programming
XP - Extreme ProgrammingXP - Extreme Programming
XP - Extreme Programming
 
Introdução: eXtreme Programming
Introdução: eXtreme ProgrammingIntrodução: eXtreme Programming
Introdução: eXtreme Programming
 
Teste automatizados e tdd
Teste automatizados e tddTeste automatizados e tdd
Teste automatizados e tdd
 
Clean Architecture com .NET Core
Clean Architecture com .NET CoreClean Architecture com .NET Core
Clean Architecture com .NET Core
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de Software
 
Palestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnitPalestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnit
 
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)
 
Encontro Locaweb
Encontro  LocawebEncontro  Locaweb
Encontro Locaweb
 
Encontro Locaweb Curitiba
Encontro  Locaweb CuritibaEncontro  Locaweb Curitiba
Encontro Locaweb Curitiba
 
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de SoftwarePesquisa em Métodos Ágeis para o Desenvolvimento de Software
Pesquisa em Métodos Ágeis para o Desenvolvimento de Software
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?Muita gestão e pouca engenharia, por onde anda o XP?
Muita gestão e pouca engenharia, por onde anda o XP?
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 

O XP não é contra Design com Paulo Caroli, Café Ágil em Recife

Notas do Editor

  1. Here’s our typical waterfall project
  2. Here’s our typical waterfall project
  3. With iterative and incremental development .. We build our software in chunks
  4. But where did the design go?
  5. Design is built into each step of the process
  6. Here we can compare the two processes
  7. Test-Driven Development (TDD) is a design approach where you start by documenting requirements in the form of tests
  8. Refactoring is the application of design on a daily basis