Apresentando Extreme Programming

  • View
    3.739

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Text of Apresentando Extreme Programming

  • 1. Extreme Programming Programao Extrema Christiano Milfont Juazeiro do Norte 2009 Copyright 2009 Milfont.org
  • 2. Code and Fix
  • 3. 3 Amigos Ivar Jacobson James Rumbaugh Grady Booch
  • 4. Agora Temos Processo
  • 5. Ainda Temos Problemas Cdigo complexo. Manuteno difcil. Baixa produtividade. Cronograma sempre atrasado. Insatisfao de todos. Design degradado. Documentao defasada, excessiva e ilegvel. Fracasso em grande parte dos projetos.
  • 6. Nuvem de mudanas
  • 7. Manifesto gil Estamos descobrindo maneiras melhores de desenvolver software fazendo-o ns mesmos e ajudando outros a faz-lo. Atravs deste trabalho, passamos a valorizar: Indivduos e interao entre eles mais que processos e ferramentas Software em funcionamento mais que documentao abrangente Colaborao com o cliente mais que negociao de contratos Responder a mudanas mais que seguir um plano Ou seja, mesmo havendo valor nos itens direita, valorizamos mais os itens esquerda. 2001 Kent Beck Mike Beedle Arie van Bennekum Alistair Cockburn Ward Cunningham Martin Fowler James Grenning Jim Highsmith Andrew Hunt Ron Jeffries Jon Kern Brian Marick Robert C. Martin Steve Mellor Ken Schwaber Jeff Sutherland Dave Thomas
  • 8. 3 Amigos Ward Cunningham Ron Jeffries Kent Beck
  • 9. Extreme Programming Os princpios conectam os valores (crenas fundamentais dos processos) s prticas (atividades concretas do cotidiano).
  • 10. Extreme Programming Valores Courage (Coragem) Para tomar as decises certas e dizer o que precisa ser dito para os interessados. Communication (Comunicao) Para dar as informaes certas e serem usadas com mxima vantagem pelas pessoas certas. Simplicity (Simplicidade) Para descartarmos as coisas que queremos mas que no precisamos agora. Feedback (Parecer) Para aprendermos as lies adequadas a cada oportunidade. Respect (Respeito) Para nos tratar com dignidade e reconhecermos o conhecimento e nosso mtuo desejo de sucesso.
  • 11. Release Plan A good plan violently executed now is better than a perfect plan executed next week. Um bom plano executado violentamente agora melhor que um plano perfeito executado na prxima semana. General George S. Patton
  • 12. Release e Iteration Planning Release Condies de satisfao (user stories, budget, schedule) Release Planning Iterao Condies de satisfao (user stories + Acceptance Tests) Iteration Incremento Desenvolvimento Planning no produto
  • 13. Master Story List ID Criticidade Item Iterao Estimativa Restando 1 Alto Informar problema 1 10 0 2 Baixo Listar problemas ? ? ? 3 Baixo Cadastrar tipos de bug ? ? ? 4 Mdio Aprovar problema 2 ? ? 5 Altssimo Controle de acesso 1 100 0 6 Baixo Cadastrar status ? ? ? 7 Baixo Cadastrar membros ? ? ? 8 baixo Cadastrar projeto ? ? ?
  • 14. Real Customer Involvement
  • 15. Ubiquitous Language Linguagem Ubqua
  • 16. Linguagem Ubqua "A language structured around the domain model and used by all team members to connect all the activities of the team with the software."
  • 17. Linguagem Ubqua Contexto Especialistas em negcio no entendem termos de desenvolvedores. Desenvolvedores no entendem termos do negcio. Uma palavra ou sentena tem vrios significados e modelos dependendo do cenrio.
  • 18. Linguagem Ubqua The Blind Men and the Elephant, By John Godfrey Saxe (1813- 1887)
  • 19. Linguagem Ubqua
  • 20. Linguagem Ubqua Um Membro do projeto cadastra uma Issue no sistema. Um Gerente de projetos aceita ou rejeita a entrada de Issues para serem trabalhadas. Um Funcionrio do hospital dar entrada do Paciente na Emergncia. O Cenrio de entrada por pacientes depende do Login do usurio com ROLE Admin na Action antes do forward. Um funcionrio atende uma solicitao de sada de medicamento pelo pronturio do paciente com limite do cardpio do mdico. A Tabela TB_ITEMS tem ligao com a Tabela TB_NOTAS
  • 21. Linguagem Ubqua Um Membro do projeto cadastra uma Issue no sistema. Um Gerente de projetos aceita ou rejeita a entrada de Issues para serem trabalhadas. Um Funcionrio do hospital dar entrada do Paciente na Emergncia. O Cenrio de entrada por pacientes depende do Login do usurio com ROLE Admin na Action antes do forward. Um funcionrio atende uma solicitao de sada de medicamento pelo pronturio do paciente com limite do cardpio do mdico. A Tabela TB_ITEMS tem ligao com a Tabela TB_NOTAS
  • 22. Linguagem Ubqua Um Membro do projeto cadastra uma Issue no sistema. Um Gerente de projetos aceita ou rejeita a entrada de Issues para serem trabalhadas. Um Funcionrio do hospital dar entrada do Paciente na Emergncia. O Cenrio de entrada por pacientes depende do Login do usurio com ROLE Admin na Action antes do forward. Um funcionrio atende uma solicitao de sada de medicamento pelo pronturio do paciente com limite do cardpio do mdico. A Tabela TB_ITEMS tem ligao com a Tabela TB_NOTAS
  • 23. Behaviour Driven Development Use Case User Story Um caso de uso captura Uma estoria descreve um contrato entre os funcionalmente o que ser interessados de um valioso para os usurios e sistema sobre seus aos compradores de um comportamentos. software. Writing Effective Use Cases User Stories Applied Alistair Cockburn Mike Cohn
  • 24. Behaviour Driven Development User Story Card [carto] Conversation [conversao] Confirmation [confirmao] Ron Jeffries, 2001
  • 25. Behaviour Driven Development User Story Independente Negocivel Valioso ao comprador Estimvel Small [Pequena] Testvel User Stories Applied Mike Cohn
  • 26. Behaviour Driven Development Story Card
  • 27. Behaviour Driven Development Story Card
  • 28. Behaviour Driven Development Story Card
  • 29. Planning Poker
  • 30. Informative Workspace
  • 31. Nossa Rotina Diria Standup Meeting @ 9h Pair Up Test First [Prtica] Code Refactor Integrar ou Disponibilizar Ir para casa @ 17h
  • 32. Stand Up Meeting Thoughworks india
  • 33. Pair Up Sit Together (sentam-se juntos) Shared