#DNAD 2011      Examinando aArquitetura Evolucionária
Leandro Daniel                                     @leandronet              .net Magazine                                 ...
Agenda                                          Refletir     Conceituar                Exemplos                    Entende...
Disclaimer
Somos todos humildes,   não é verdade?         :)
BAD ARCHITECTURE,WRONG PROGRAMMING     LANGUAGE,   HORRIBLE CODE    FORMATTING!                     IMHO
Existe diferença?               Conceituar      Arquitetura       Arquiteto                       Design                  ...
Código é um dos melhores amigosdo desenvolvedor de     software
Quadro branco é um dos   melhores amigosdo arquiteto de software
ETL                         Data Integration             FTP                               SOA                            ...
Arquitetura é aquela coisa    que é difícil de mudar depois.    Por essa razão, deve existir o    mínimo possível dessa co...
Implementação                          Design                       Arquitetura     Mudanças na arquitetura são caras!#DNA...
O que é arquitetura evolucionária?   Contexto        Evolucionária?...         Emergente?...
Espectro do Design de SoftwareWaterfall         Someclássico           DUF               Agile           BDUF           De...
Arquitetura Evolucionária e                       Design Emergente       #Simples                                         ...
Entropia do SoftwareEntropia é uma função de estado que cresce naturalmente durante processos naturais. Ou seja,naturalmen...
Quando um programa é modificado, sua complexidade     aumentará, a menos que alguém trabalhe             ativamente contra...
Quanto mais tempo você adiar                suas decisões...                    Tempo       ... Mais contextualizadas el...
Design Emergente                  “Theres no design at                    the beginning. You                     begin by ...
Prática               Entender          How to...
Complexidade                           Essencial          Complexidade            Acidental#DNAD11                        ...
Padrões idiomáticos no Design de Software                                    PadrãoMétrica 1        Métrica 2             ...
Tornando o Refactoring inteligente                               Propriedade coletiva                        R1           ...
Praxis do design de software            Design          Planejado          Design                          Evolucionário#D...
Evolucionário ≠ Caótico#DNAD11                             @leandronet
Importância do conhecimento              Aprendiz                           Trainee             Incompetência             ...
Processando...   Refletir
É necessário tomar essa decisão agora?          Posso adiar essa decisão com segurança?          O que posso fazer para to...
Toda e qualquer atividade dentro do          desenvolvimento de software é importante.          Tenha ciência do seu conhe...
Quanto mais tempo você adiar          suas decisões, mais contextualizadas elas          serão!          Pense sempre em f...
ReferênciasPesquise no Google por:   • “Neal Ford” + “Evolutionary Architecture”   • "Martin Fowler" + Design + Enterprise...
Obrigado! :)@leandronetcontato@leandrodaniel.comhttp://reverb.leandrodaniel.com
Upcoming SlideShare
Loading in...5
×

DNAD 2011 - Examinando a Arquitetura Evolucionária

1,617

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 discorre 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: Technology
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,617
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

DNAD 2011 - Examinando a Arquitetura Evolucionária

  1. 1. #DNAD 2011 Examinando aArquitetura Evolucionária
  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
  3. 3. Agenda Refletir Conceituar Exemplos Entender Contexto
  4. 4. Disclaimer
  5. 5. Somos todos humildes, não é verdade? :)
  6. 6. BAD ARCHITECTURE,WRONG PROGRAMMING LANGUAGE, HORRIBLE CODE FORMATTING! IMHO
  7. 7. Existe diferença? Conceituar Arquitetura Arquiteto Design “Projetista” Desenvolvedor
  8. 8. Código é um dos melhores amigosdo desenvolvedor de software
  9. 9. Quadro branco é um dos melhores amigosdo arquiteto de software
  10. 10. ETL Data Integration FTP SOA EAI/ESB Transaction Data Stores (TDS/OLTP) Master Data Store Data Architecture Operational Data Store Data Mart Data Warehouse Transactional Reporting Design Patterns Business Operational Reporting InteligenceArchitectural Patterns Analytical Reporting Master data Master Data Hub management Dimensional Data Modeling Data Modeling E-R Data Modeling
  11. 11. Arquitetura é aquela coisa que é difícil de mudar depois. Por essa razão, deve existir o mínimo possível dessa coisa.#DNAD11 @leandronet
  12. 12. Implementação Design Arquitetura Mudanças na arquitetura são caras!#DNAD11 @leandronet
  13. 13. O que é arquitetura evolucionária? Contexto Evolucionária?... Emergente?...
  14. 14. Espectro do Design de SoftwareWaterfall Someclássico DUF Agile BDUF Design XGH Emergente#DNAD11 @leandronet
  15. 15. Arquitetura Evolucionária e Design Emergente #Simples #Adaptativa #Foco no #Agile Cliente #YAGNI #Flexível #IterativaDesign ágil não tenta ignorar design no início de um projeto ou fase. Ele tenta fazer o mínimopossível no início do processo, quando você sabe menos sobre a verdadeira natureza doproblema.
  16. 16. Entropia do SoftwareEntropia é uma função de estado que cresce naturalmente durante processos naturais. Ou seja,naturalmente, ela aumenta. Isso significa que, para manter o nível de energia, você precisarácontinuar transformando trabalho.Manter as coisas como estão, exige trabalho. Ivar Jacobson Isaac Asimov
  17. 17. Quando um programa é modificado, sua complexidade aumentará, a menos que alguém trabalhe ativamente contra isso.
  18. 18. Quanto mais tempo você adiar suas decisões...  Tempo  ... Mais contextualizadas elas serão!#DNAD11 @leandronet
  19. 19. Design Emergente “Theres no design at the beginning. You begin by coding a small amount of functionality, adding more functionality, and letting the design shift and shape!” Martin Fowler#DNAD11 @leandronet
  20. 20. Prática Entender How to...
  21. 21. Complexidade Essencial Complexidade Acidental#DNAD11 @leandronet
  22. 22. Padrões idiomáticos no Design de Software PadrãoMétrica 1 Métrica 2 Idiomático#DNAD11 @leandronet
  23. 23. Tornando o Refactoring inteligente Propriedade coletiva R1 R2 R3#DNAD11 @leandronet
  24. 24. Praxis do design de software Design Planejado Design Evolucionário#DNAD11 @leandronet
  25. 25. Evolucionário ≠ Caótico#DNAD11 @leandronet
  26. 26. Importância do conhecimento Aprendiz Trainee Incompetência Competência Consciente Consciente Iniciante Especialista Incompetência Competência Inconsciente Inconsciente#DNAD11 @leandronet by Scott B. Parry
  27. 27. Processando... Refletir
  28. 28. É necessário tomar essa decisão agora? Posso adiar essa decisão com segurança? O que posso fazer para tornar essa decisão reversível?#DNAD11 @leandronet
  29. 29. Toda e qualquer atividade dentro do desenvolvimento de software é importante. Tenha ciência do seu conhecimento (e da sua 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.#DNAD11 @leandronet
  30. 30. Quanto mais tempo você adiar suas decisões, mais contextualizadas elas serão! Pense sempre em flexibilidade. Não lute contra as “mudanças”. Não existe bala de prata!#DNAD11 @leandronet
  31. 31. ReferênciasPesquise no Google por: • “Neal Ford” + “Evolutionary Architecture” • "Martin Fowler" + Design + Enterprisehttp://reverb.leandrodaniel.comhttp://elemarjr.nethttp://voidpodcast.com
  32. 32. Obrigado! :)@leandronetcontato@leandrodaniel.comhttp://reverb.leandrodaniel.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×