Rodrigo Branas - @rodrigobranas – http://www.agilecode.com.br                Modelagem Ágil
http://www.slideshare.net/rodrigobranas
@rodrigobranas  rodrigo.branas@gmail.com http://www.agilecode.com.brFormação AcadêmicaCiências da Computação – UFSCGerenci...
Rodrigo Branas – rodrigo.branas@gmail.com10 anos de experiência na plataforma Java1000 horas em sala de aulaMais de 50 pal...
Modelagem Ágil é uma atitude
Apoiada em valores e princípios
Com foco no que é suficiente
Não é um processo prescritivo
Não é uma metodologia
Deve ser utilizado em conjunto comum outro método (XP, Scrum, FDD)
Estimula o trabalho em equipe
Funciona na prática, não na teoria           acadêmica
Valores da Modelagem Ágil
O que é um valor?
“Uma concepção do desejávelexplícita e implícita, característicade um indivíduo ou grupo, e que     influencia a seleção d...
“Um valor é uma crença em que o homem se baseia para atuar por           referência“     (Alpport, psicólogo)
Comunicação
Simplicidade
Over-Architecture pensando em um          possível futuro
Aplicar padrões de projeto  complexos muito cedo
Generalidade especulativa
Condensar hierarquia quando  houver classes abstratas      desnecessárias
Internalizar classe quando houver  uma delegação desnecessária
Deletar métodos e variáveis que      não forem utilizadas
YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidad...
"Always implement things when you  actually need them, never when   you just foresee that you need               them.“   ...
YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidad...
YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidad...
YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidad...
YAGNI (You Ain’t Gonna Need It)- Tempo gasto adicionando, testando ecorrigindo novas funcionalidades.- Novas funcionalidad...
Feedback
Desenvolver o modelo em grupo
Revisar o modelo com a audiência
Implementar o modelo
Derrubando os servidores
Coragem
Humildade
O que são modelos ágeis?
Cumprem seu propósito
São compreensíveis
Quem é a sua audiência?
São suficientementeprecisos, consistentes e detalhados
Mais simples possível
Realmente é necessário utilizar uma    ferramenta mais complexa?
Que tipo de ferramentas vocês   utilizam para modelar?
Código-fonte é um modelo? É um          modelo ágil?
Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser...
Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser...
Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser...
Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser...
Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser...
Ferramentas simples- Priorizam a comunicação- São baratas, flexíveis e inclusivas- Utilização rápida e portável- Podem ser...
Agile Draw
Prototipação em papel
Image Box
UML em cores
Conceitos errados sobre modelagem
Modelo == Documentação
Sempre conseguimos modelar tudo            no início
Modelar é obrigatoriamente um      processo pesado
Você deve utilizar uma ferramenta       CASE para modelar
Modelar é uma grande perda de            tempo
Todos os desenvolvedores sabem            modelar
Princípios da Modelagem Ágil
Assuma a simplicidade
Abrace as mudanças
Enabling the next effort is your        secondary goal
Incremental change
Maximaze stakeholder ROI
Modele com um propósito
Utilize múltiplos modelos
Obtenha feedback rapidamente
Seu objetivo principal é software          funcionando
Travel light
Conteúdo é mais importante do que          representação
Se comunique de maneira aberta e            honesta
Práticas da Modelagem Ágil
Participação ativa dos stakeholders
O modelo deve ser coletivo
Crie vários modelos em paralelo
Exponha os modelos publicamente
Itere para outro artefato
Modele em conjunto
Comprove com código
Use a ferramenta mais simples
Jogue fora os modelos temporários
Update Only When It Hurts
Just barely good enough artifacts
Model storming
Modelagem Ágil
Modelagem Ágil
Upcoming SlideShare
Loading in...5
×

Modelagem Ágil

2,527

Published on

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

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

No notes for slide

Transcript of "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

×