Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

1,609 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
  • Be the first to comment

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

×