Cafe agil em Recife - Agile and Design

179 views
92 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
179
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Cafe agil em Recife - Agile and Design

  1. 1. O XP não é contra Design O XP não é contra Design Paulo Caroli Paulo Caroli Café Ágil em Recife Café Ágil em Recife Maio de 2010 Maio de 2010 © ThoughtWorks 2008
  2. 2. XP e Design • O XP é contra design?
  3. 3. Sobre mim
  4. 4. Sobre mim Certified Architect
  5. 5. Sobre mim Agile Coach
  6. 6. Agenda
  7. 7. Agenda • XP • Métodos tradicionais e XP • XP e Design • • • • Simple Design Testing Refactoring Continuous Integration • Conclusão • Q&A
  8. 8. eXtreme Programming
  9. 9. XP • Lightweight methodology • Kent Beck, late 90s • 4 Values and 12 Practices (1st edition) • Focused on the developers
  10. 10. Valores de XP • • • • Courage Simplicity Communication Feedback
  11. 11. Práticas de XP • • • • • • The Planning Game Whole Team Testing Short Releases Continuous Integration Collective Code Ownership • Coding Standard • Metaphor • Sustainable Pace • Pair Programming • Refactoring • Simple Design
  12. 12. Métodos Tradicionais
  13. 13. Requirements Analysis Design Code Test Fix / Integrate $
  14. 14. Requirements Design Analysis Design Code Test Fix / Integrate $
  15. 15. Projeto de XP Típico
  16. 16. Inception Release 1 $ Release 2 $ Release 3 $ Release 4 $
  17. 17. Mas cadê a fase de design? Inception Release 1 $ Release 2 $ Release 3 $ Release 4 $
  18. 18. Design acontece do início ao fim! Inception $ $ $ $
  19. 19. Métodos Tradicionais e XP
  20. 20. Design Requirements Analysis Design Code Inception Test $ $ Fix / Integrate $ $ $
  21. 21. XP e Design
  22. 22. Práticas do XP • • • • • • The Planning Game Whole Team Testing Short Releases Continuous Integration Collective Code Ownership • Coding Standard • Metaphor • Sustainable Pace • Pair Programming • Refactoring • Simple Design
  23. 23. XP e Design • The Planning Game • Whole Team • Testing • Short Releases • • • • Coding Standard Metaphor Sustainable Pace Pair Programming • Continuous Integration • Refactoring • Collective Code Ownership • Simple Design
  24. 24. XP e Design • • • • • • The Planning Game Whole Team Testing Short Releases Continuous Integration Collective Code Ownership • • • • • Coding Standard Metaphor Sustainable Pace Pair Programming Refactoring • Simple Design
  25. 25. XP Simple Design "Things should be made as simple as possible, but not any simpler."
  26. 26. XP e Design Não tente resolver os grandes problemas de uma só vez...
  27. 27. XP e Design Resolva pequenos problemas; um de cada vez.
  28. 28. XP e Design Crie artefatos simples que podem ser utilizados de forma flexível...
  29. 29. XP e Design Ao invés de artefatos complexos que visam incorporar todas as possibilidades.
  30. 30. XP e Design Não adicione funcionalidades antes do tempo...
  31. 31. XP e Design Pense no amanhã, mas faça design, testes e código para as funcionalidades de hoje!
  32. 32. XP e Design Faça a solução funcional da forma mais simples.
  33. 33. XP e Design Um design simples leva menos tempo para terminar...
  34. 34. XP e Design E uma futura mudança não terá um grande impacto.
  35. 35. XP e Design • The Planning Game • Whole Team • Testing • Short Releases • Continuous Integration • Collective Code Ownership • • • • • • Coding Standard Metaphor Sustainable Pace Pair Programming Refactoring Simple Design
  36. 36. Testes e XP 1. Desenvolvimento baseado em testes 2. Testes de aceitação 3. Automação de testes Test Fail Test Pass
  37. 37. XP e Design A suíte de testes automatizados fornece um feedback do sistema.
  38. 38. XP e Design Testes do cliente e testes de desenvolvimento.
  39. 39. XP e Design Testes não servem apenas para detecção de defeitos...
  40. 40. XP e Design E sim para evitar defeitos!
  41. 41. XP e Design Testes de aceitação verificam os requisitos apresentados pelo cliente.
  42. 42. XP e Design Por que não usar os testes de aceitação como requisitos?
  43. 43. XP e Design Você pode estar incerto se o sistema faz o que seu cliente espera dele...
  44. 44. XP e Design Os testes de aceitação eliminam essa incerteza.
  45. 45. Test-Driven Development 2. Test Fail write code Test Pass 1. write test
  46. 46. XP e Design Satisfaz os requisitos atuais,
  47. 47. XP e Design Produz código testável,
  48. 48. XP e Design E sustenta a evolução do design.
  49. 49. XP e Design • • • • • • The Planning Game Whole Team Testing Short Releases Continuous Integration Collective Code Ownership • • • • Coding Standard Metaphor Sustainable Pace Pair Programming • Refactoring • Simple Design
  50. 50. Refactoring 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.
  51. 51. Um passo muito importante! 2. write code 3. refactor Test Pass Test Fail 1. write test
  52. 52. XP e Design Quando o design fica complicado...
  53. 53. XP e Design Refatore para que fique simples novamente.
  54. 54. XP e Design Limpe o código (teste e funcional).
  55. 55. XP e Design Certifique-se que o código expressa a sua intenção.
  56. 56. XP e Design Repense o design.
  57. 57. XP e Design Evite Broken Windows!
  58. 58. XP e Design • • • • The Planning Game Whole Team Testing Short Releases • • • • • • • Continuous Integration • Collective Code Ownership Coding Standard Metaphor Sustainable Pace Pair Programming Refactoring Simple Design
  59. 59. Continuous Integration A prática de desenvolvimento de software onde os membros de uma equipe de integram seu trabalho com frequência.
  60. 60. XP e Design O trabalho não está completo até que a suíte de testes esteja passando.
  61. 61. XP e Design Os testes automatizados garantem que sua implementação não quebre o design.
  62. 62. XP e Design Todos serão alertados quando design mudar.
  63. 63. XP e Design Os testes são uma documentação detalhada de sistema.
  64. 64. Conclusão
  65. 65. XP e Design • The Planning Game • Whole Team • Testing • Short Releases • • • • Coding Standard Metaphor Sustainable Pace Pair Programming • Refactoring • Continuous Integration • Simple Design • Collective Code Ownership
  66. 66. edadl ano c nu F i i Entregando com Qualidade Qualidade Interna
  67. 67. edadl ano c nu F i i Entregando com Qualidade Qualidade Interna
  68. 68. edadl ano c nu F i i Entregando com Qualidade Qualidade Interna
  69. 69. edadl ano c nu F i i Entregando com Qualidade Qualidade Interna
  70. 70. edadl ano c nu F i i Entregando com Qualidade Qualidade Interna
  71. 71. edadl ano c nu F i i Entregando com Qualidade Qualidade Interna
  72. 72. XP e Design
  73. 73. XP and Design • O XP é contra design?
  74. 74. XP and Design • O design é tão importante que o fazemos todos os dias!
  75. 75. O XP não é contra Design O XP não éQcontra Design &A Obrigado! Paulo Caroli pcaroli@thoughtworks.com Paulo Caroli www.caroli.org Café Ágil em Recife Café Ágil em Recife Maio de 2010 Maio de 2010 © ThoughtWorks 2008

×