TDC 2011 (Florianópolis) - Entendendo a Arquitetura Evolucionária

1,551 views

Published on

A arquitetura de software pode ser definida de uma única vez durante o desenvolvimento de um software: mas essa não é uma boa ideia. Nessa sessão, o palestrante discorrerá sobre o tema, trazendo experiências próprias e reflexões no intuito de instigar os participantes a pensarem na necessidade de utilizar uma abordagem evolucionária no desenvolvimento de software. Desmistificando inclusive a ideia de que a arquitetura por si só é uma concepção complexa e rebuscada.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,551
On SlideShare
0
From Embeds
0
Number of Embeds
515
Actions
Shares
0
Downloads
17
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

TDC 2011 (Florianópolis) - Entendendo a Arquitetura Evolucionária

  1. 1. Florianópolis Entendendo aArquitetura Evolucionária Leandro Daniel @leandronet
  2. 2. Leandro Daniel @leandronet .net Magazine ComunidadeConsultoria Autor de artigos Desenvolvimento de software Editor Técnico Easy .net Magazine .NET SQL Server ClubeDelphi Business Intelligence Arquitetura de Software Várias certificações...
  3. 3. http://voidpodcast.com
  4. 4. Existe diferença?
  5. 5. Implementação Design Arquitetura Mudanças na arquitetura são caras!#TDC2011 @leandronet
  6. 6. Arquitetura é aquela coisa que é difícil de mudar depois. Por essa razão, deve existir o mínimo possível dessa coisa.#TDC2011 @leandronet
  7. 7. Arquitetura e o desenvolvimentode Software
  8. 8. Espectro do DesignWaterfall Someclássico DUF Agile BDUF Design XGH Emergente#TDC2011 @leandronet
  9. 9. Arquitetura Evolucionária e Design Emergente#Simples #Foco do #Adaptativa cliente #Agile #YAGNI #Iterativa #Flexível#TDC2011 @leandronet
  10. 10. Design Emergente "Não existe nenhum design no início. Você começa codificando uma pequena quantidade de funcionalidades, e vai acrescentando outras gradativamente, deixando que o design tome forma!” Martin Fowler#TDC2011 @leandronet
  11. 11. Sim, a entropia existe em software... Manter as coisas como estão, exige trabalho!#TDC2011 @leandronet
  12. 12. Quanto mais tempo você adiar suas decisões... ...Mais contextualizadas elas serão!#TDC2011 @leandronet
  13. 13. Práxis da Arquitetura Evolucionária
  14. 14. Dívida técnica sempre é uma vilã?Fuuuuuuu!!! OMG!! ...Depende!#TDC2011 @leandronet
  15. 15. Quadrante da dívida técnicaIrresponsável “Nós não temos “Nós vamos Prudente e tempo para lidar com as eDe propósito design” consequências” De propósito “Agora nós PrudenteIrresponsável “O que são sabemos que e e camadas?” deveríamos ter Sem querer Sem querer feito isso” #TDC2011 @leandronet
  16. 16. Complexidade Essencial Complexidade Acidental#TDC2011 @leandronet
  17. 17. Padrões idiomáticos no Design de Software Padrão Métrica 1 Métrica 2 Idiomático#TDC2011 @leandronet
  18. 18. Tornado o Refactoring inteligente R1 Propriedade Coletiva R2 R3#TDC2011 @leandronet
  19. 19. Evolucionário ≠ Caótico#TDC2011 @leandronet
  20. 20. É necessário tomar essa decisão agora?Posso adiar essa decisão com segurança?O que posso fazer para tornar essadecisão reversível? @leandronet
  21. 21. Toda e qualquer atividade dentro dodesenvolvimento de software éimportante.Pense sempre em flexibilidade.Não lute contra as “mudanças”. @leandronet
  22. 22. Tenha ciência do seu conhecimento (e dasua ignorância, se possível...)“A simplicidade consiste em subtrair oóbvio e acrescentar o significativo.”(John Maeda)Quando em dúvida, erre pela simplicidade. @leandronet
  23. 23. Referências Pesquise no Google por: • “Neal Ford” + “Evolutionary Architecture” • “Martin Fowler” + Design + Enterprise http://reverb.leandrodaniel.com http://elemarjr.net http://voidpodcast.com
  24. 24. Obrigado! :)@leandronetcontato@leandrodaniel.comhttp://reverb.leandrodaniel.com

×