Modelagem Ágil

2,687
-1

Published on

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

No Downloads
Views
Total Views
2,687
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Modelagem Ágil

  1. 1. Rodrigo Branas - @rodrigobranas – http://www.agilecode.com.br Modelagem Ágil
  2. 2. http://www.slideshare.net/rodrigobranas
  3. 3. @rodrigobranas rodrigo.branas@gmail.com http://www.agilecode.com.brFormação AcadêmicaCiências da Computação – UFSCGerenciamento de Projetos - FGVCertificaçõesSCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM
  4. 4. Rodrigo Branas – rodrigo.branas@gmail.com10 anos de experiência na plataforma Java1000 horas em sala de aulaMais de 50 palestras em eventosLíder da área de desenvolvimento na GenneraAutor da revista Java MagazinePalestranteInstrutor da Academia Java e Agile da GlobalcodeCriador dos treinamentos de Clean Code, Selenium eMaven da Agile CodeTrabalhou com as empresas:EDS, HP, GM, Citibank, OnCast, Globalcode, V.Office, Dígitro, Softplan, Unimed, Suntech, Vale do Rio
  5. 5. Modelagem Ágil é uma atitude
  6. 6. Apoiada em valores e princípios
  7. 7. Com foco no que é suficiente
  8. 8. Não é um processo prescritivo
  9. 9. Não é uma metodologia
  10. 10. Deve ser utilizado em conjunto comum outro método (XP, Scrum, FDD)
  11. 11. Estimula o trabalho em equipe
  12. 12. Funciona na prática, não na teoria acadêmica
  13. 13. Valores da Modelagem Ágil
  14. 14. O que é um valor?
  15. 15. “Uma concepção do desejávelexplícita e implícita, característicade um indivíduo ou grupo, e que influencia a seleção dos modos, meios e fins da ação“ (Clide Kluckhon, antropólogo)
  16. 16. “Um valor é uma crença em que o homem se baseia para atuar por referência“ (Alpport, psicólogo)
  17. 17. Comunicação
  18. 18. Simplicidade
  19. 19. Over-Architecture pensando em um possível futuro
  20. 20. Aplicar padrões de projeto complexos muito cedo
  21. 21. Generalidade especulativa
  22. 22. Condensar hierarquia quando houver classes abstratas desnecessárias
  23. 23. Internalizar classe quando houver uma delegação desnecessária
  24. 24. Deletar métodos e variáveis que não forem utilizadas
  25. 25. YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidades precisam serdebugadas, documentadas e suportadas.- Seu código ocupa espaço e aumenta acomplexidade do software como um todo.- Novas funcionalidades geram novasnecessidades e o efeito snowball.
  26. 26. "Always implement things when you actually need them, never when you just foresee that you need them.“ (Ron Jeffries)
  27. 27. YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidades precisam serdebugadas, documentadas e suportadas.- Seu código ocupa espaço e aumenta acomplexidade do software como um todo.- Novas funcionalidades geram novasnecessidades e o efeito snowball.
  28. 28. YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidades precisam serdebugadas, documentadas e suportadas.- Seu código ocupa espaço e aumenta acomplexidade do software como um todo.- Novas funcionalidades geram novasnecessidades e o efeito snowball.
  29. 29. YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidades precisam serdebugadas, documentadas e suportadas.- Seu código ocupa espaço e aumenta acomplexidade do software como um todo.- Novas funcionalidades geram novasnecessidades e o efeito snowball.
  30. 30. YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidades precisam serdebugadas, documentadas e suportadas.- Seu código ocupa espaço e aumenta acomplexidade do software como um todo.- Novas funcionalidades geram novasnecessidades e o efeito snowball.
  31. 31. Feedback
  32. 32. Desenvolver o modelo em grupo
  33. 33. Revisar o modelo com a audiência
  34. 34. Implementar o modelo
  35. 35. Derrubando os servidores
  36. 36. Coragem
  37. 37. Humildade
  38. 38. O que são modelos ágeis?
  39. 39. Cumprem seu propósito
  40. 40. São compreensíveis
  41. 41. Quem é a sua audiência?
  42. 42. São suficientementeprecisos, consistentes e detalhados
  43. 43. Mais simples possível
  44. 44. Realmente é necessário utilizar uma ferramenta mais complexa?
  45. 45. Que tipo de ferramentas vocês utilizam para modelar?
  46. 46. Código-fonte é um modelo? É um modelo ágil?
  47. 47. Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser combinadas comoutras mais complexas- Promovem o desenvolvimentoiterativo e incremental
  48. 48. Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser combinadas comoutras mais complexas- Promovem o desenvolvimentoiterativo e incremental
  49. 49. Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser combinadas comoutras mais complexas- Promovem o desenvolvimentoiterativo e incremental
  50. 50. Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser combinadas comoutras mais complexas- Promovem o desenvolvimentoiterativo e incremental
  51. 51. Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser combinadas comoutras mais complexas- Promovem o desenvolvimentoiterativo e incremental
  52. 52. Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser combinadas comoutras mais complexas- Promovem o desenvolvimentoiterativo e incremental
  53. 53. Agile Draw
  54. 54. Prototipação em papel
  55. 55. Image Box
  56. 56. UML em cores
  57. 57. Conceitos errados sobre modelagem
  58. 58. Modelo == Documentação
  59. 59. Sempre conseguimos modelar tudo no início
  60. 60. Modelar é obrigatoriamente um processo pesado
  61. 61. Você deve utilizar uma ferramenta CASE para modelar
  62. 62. Modelar é uma grande perda de tempo
  63. 63. Todos os desenvolvedores sabem modelar
  64. 64. Princípios da Modelagem Ágil
  65. 65. Assuma a simplicidade
  66. 66. Abrace as mudanças
  67. 67. Enabling the next effort is your secondary goal
  68. 68. Incremental change
  69. 69. Maximaze stakeholder ROI
  70. 70. Modele com um propósito
  71. 71. Utilize múltiplos modelos
  72. 72. Obtenha feedback rapidamente
  73. 73. Seu objetivo principal é software funcionando
  74. 74. Travel light
  75. 75. Conteúdo é mais importante do que representação
  76. 76. Se comunique de maneira aberta e honesta
  77. 77. Práticas da Modelagem Ágil
  78. 78. Participação ativa dos stakeholders
  79. 79. O modelo deve ser coletivo
  80. 80. Crie vários modelos em paralelo
  81. 81. Exponha os modelos publicamente
  82. 82. Itere para outro artefato
  83. 83. Modele em conjunto
  84. 84. Comprove com código
  85. 85. Use a ferramenta mais simples
  86. 86. Jogue fora os modelos temporários
  87. 87. Update Only When It Hurts
  88. 88. Just barely good enough artifacts
  89. 89. Model storming

×