Be Agile, Stay Agile

392 views

Published on

Apresentação realizada em 13/09 na conferência AgileVale em São José dos Campos.

Temas abordados: Projetos green-field x manutenção de software, agilidade, métricas de produto de software métricas como insight para refatoração

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

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

No notes for slide

Be Agile, Stay Agile

  1. 1. Be Agile, Stay Agile Métricas, Feedback, Refactoring e Agile
  2. 2. @rpepato
  3. 3. Obrigado!
  4. 4. Projetos “green-field”Projetos “legados”AGILE AGILE
  5. 5. + 50 % dos profissionais do mercado Entre 40% e 90% da $$ de um projeto Manutenção de Software “Legado”
  6. 6. D o m a i n D r i v e n D e s i g n Despair
  7. 7. Toda ajuda é bem vinda
  8. 8. O que é código legado?
  9. 9. “Legacy code is code without tests”
  10. 10. O que é código bom?
  11. 11. O que é código bom ? Bom em quê ? Qual é tua preocupação? Não dá pra ser bom em tudo Bom, talvez dê... ... mas vale a grana ?
  12. 12. +100 técnicas e vários cenários
  13. 13. Como e onde aplicar essas técnicas naquele lixo?
  14. 14. 1. Defina seu objetivo 2. Pergunte-se como avaliar 3. Identifique e selecione métricas 4.Automatize a coleta 5. Observe os resultados 6. PENSE 7. Refatore 8. Começe de novo DecisõesConsicentes
  15. 15. 1. Defina seu objetivo 2. Pergunte-se como avaliar 3. Identifique e selecione métricas 4.Automatize a coleta 5. Observe os resultados 6. PENSE 7. Refatore 8. Começe de novo DecisõesConsicentes
  16. 16. Chidamber & Kemerer C&K Metrics http://faculty.salisbury.edu/~stlauterburg/cosc425/ metricforood_chidamberkemerer94.pdf
  17. 17. 1. WMC - Weighted Methods Per Class 2. DIT - Depth Of Inheritance Tree 3. CBO - Coupling Between Objects 4. LCOM - Lack of Cohesion In Methods 5. NOC - Number of Children 6. RFC - Response for a Class
  18. 18. WMC • Replace conditional with polymorphism • Replace Method of Method Object • Substitute Algorithm • Extract Method • Move Method • Extract Class • ...
  19. 19. DIT • Replace Subclass With Fields • Extract Hierarchy • ...
  20. 20. CBO • Move Method • Extract Class • Moving Features Between Objects • Remove Middle Man • ...
  21. 21. LCOM • Move Field • Encapsulate Field • Encapsulate Collection • ...
  22. 22. git :) extract metrics
  23. 23. 1. Agile - Green Field e Legado 2. Por quê nos importarmos com legado? 3. Por quê e como identificar o que medir? 4. Automatizando a coleta 5. Análise, reflexão e refactoring O que vimos?
  24. 24. @rpepato :)

×