SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Arquitetura Evolucionária
       faz sentido?
          Lightning Talk


        Leandro Daniel
         @leandronet
Leandro Daniel                                     @leandronet


              .net Magazine                                   Comunidade
Consultoria                                                                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...
http://voidpodcast.com
Arquitetura   Implementação   Design




#TDC2011                      @leandronet
Arquitetura é aquela coisa
   que é difícil de mudar depois.

   Por essa razão, deve existir o
   mínimo possível dessa coisa.

#TDC2011                      @leandronet
Espectro do Design

Waterfall          Some
clássico            DUF               Agile




           BDUF            Design               XGH
                          Emergente


#TDC2011                                      @leandronet
Arquitetura Evolucionária e
               Design Emergente

#Simples               #Foco do      #Adaptativa
                        cliente
              #Agile
                                            #YAGNI
                             #Iterativa
       #Flexível



#TDC2011                                  @leandronet
Sim, a entropia existe em software...



    Manter as coisas como estão,
           exige trabalho!

       Manter as coisas como estão,
#TDC2011
              exige trabalho!    @leandronet
Quanto mais tempo você adiar suas
                decisões...




     ...Mais contextualizadas elas serão!
#TDC2011                              @leandronet
Design Emergente

                   “There's 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

#TDC2011                         @leandronet
Complexidade
                            Essencial



           Complexidade
             Acidental

#TDC2011                                 @leandronet
Padrões idiomáticos no Design de Software




                                  Padrão
 Métrica 1       Métrica 2      Idiomático




#TDC2011                          @leandronet
Tornado o Refactoring inteligente




                                 Propriedade Coletiva
                        R1


                   R2


                        R3


#TDC2011                                                @leandronet
Evolucionário ≠ Caótico




#TDC2011                             @leandronet
É 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?
                                     @leandronet
Toda e qualquer atividade dentro do
desenvolvimento de software é importante.



Pense sempre em flexibilidade.




Não lute contra as “mudanças”.

                                 @leandronet
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.

                                   @leandronet
Referências

Pesquise no Google por:
   • “Neal Ford” + “Evolutionary Architecture”
   • “Martin Fowler” + Design + Enterprise

 http://reverb.leandrodaniel.com

 http://elemarjr.net

 http://voidpodcast.com
Obrigado! :)

@leandronet


contato@leandrodaniel.com


http://reverb.leandrodaniel.com

Mais conteúdo relacionado

Semelhante a TDC 2011 - Arquitetura Evolucionária faz sentido?

Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
 
DevInCachu 2013: Arquitetura evolutiva
DevInCachu 2013: Arquitetura evolutivaDevInCachu 2013: Arquitetura evolutiva
DevInCachu 2013: Arquitetura evolutivaDenis Ferrari
 
TDC 2012 - Fishbowl conversation sobre Arquitetura
TDC 2012 - Fishbowl conversation sobre ArquiteturaTDC 2012 - Fishbowl conversation sobre Arquitetura
TDC 2012 - Fishbowl conversation sobre ArquiteturaLeandro Daniel
 
Arquitetura evolutiva - DNAD 2013
Arquitetura evolutiva - DNAD 2013Arquitetura evolutiva - DNAD 2013
Arquitetura evolutiva - DNAD 2013Denis Ferrari
 
Arquitetura de Software 101
Arquitetura de Software 101Arquitetura de Software 101
Arquitetura de Software 101Leandro Silva
 
Arquitetura evolutiva - Arquitetura ágil (TDC FLORIPA 2023)
Arquitetura evolutiva - Arquitetura ágil (TDC FLORIPA 2023)Arquitetura evolutiva - Arquitetura ágil (TDC FLORIPA 2023)
Arquitetura evolutiva - Arquitetura ágil (TDC FLORIPA 2023)André Paulovich
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?Isaac de Souza
 
Arquitetura Evolutiva - A retomada do ágil 18 anos depois
Arquitetura Evolutiva - A retomada do ágil 18 anos depoisArquitetura Evolutiva - A retomada do ágil 18 anos depois
Arquitetura Evolutiva - A retomada do ágil 18 anos depoisAndré Paulovich
 
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...tdc-globalcode
 
Agilidade de Ponta-a-Ponta com Arquiteturas Evolucionárias
Agilidade de Ponta-a-Ponta com Arquiteturas EvolucionáriasAgilidade de Ponta-a-Ponta com Arquiteturas Evolucionárias
Agilidade de Ponta-a-Ponta com Arquiteturas EvolucionáriasBreno Barros
 
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0tdc-globalcode
 
Desenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvidaDesenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvidaCarlos Felippe Cardoso
 
Technical Product Management at Nubank
Technical Product Management at NubankTechnical Product Management at Nubank
Technical Product Management at Nubankalexandre freire
 
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxMVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxDouglas Aguiar
 
Design Simples com XP
Design Simples com XPDesign Simples com XP
Design Simples com XPIsmael
 
Arquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaArquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaPedro Castilho
 

Semelhante a TDC 2011 - Arquitetura Evolucionária faz sentido? (20)

Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
DevInCachu 2013: Arquitetura evolutiva
DevInCachu 2013: Arquitetura evolutivaDevInCachu 2013: Arquitetura evolutiva
DevInCachu 2013: Arquitetura evolutiva
 
TDC 2012 - Fishbowl conversation sobre Arquitetura
TDC 2012 - Fishbowl conversation sobre ArquiteturaTDC 2012 - Fishbowl conversation sobre Arquitetura
TDC 2012 - Fishbowl conversation sobre Arquitetura
 
Arquitetura evolutiva - DNAD 2013
Arquitetura evolutiva - DNAD 2013Arquitetura evolutiva - DNAD 2013
Arquitetura evolutiva - DNAD 2013
 
Arquitetura de Software 101
Arquitetura de Software 101Arquitetura de Software 101
Arquitetura de Software 101
 
Arquitetura evolutiva - Arquitetura ágil (TDC FLORIPA 2023)
Arquitetura evolutiva - Arquitetura ágil (TDC FLORIPA 2023)Arquitetura evolutiva - Arquitetura ágil (TDC FLORIPA 2023)
Arquitetura evolutiva - Arquitetura ágil (TDC FLORIPA 2023)
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Arquitetura Evolutiva - A retomada do ágil 18 anos depois
Arquitetura Evolutiva - A retomada do ágil 18 anos depoisArquitetura Evolutiva - A retomada do ágil 18 anos depois
Arquitetura Evolutiva - A retomada do ágil 18 anos depois
 
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
TDC2018SP | Trilha UX Design - Design Operations (DesOps) - mapear o trabalho...
 
Agilidade de Ponta-a-Ponta com Arquiteturas Evolucionárias
Agilidade de Ponta-a-Ponta com Arquiteturas EvolucionáriasAgilidade de Ponta-a-Ponta com Arquiteturas Evolucionárias
Agilidade de Ponta-a-Ponta com Arquiteturas Evolucionárias
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
 
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
 
Desenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvidaDesenvolvimento Ágil e a mudança de mindset envolvida
Desenvolvimento Ágil e a mudança de mindset envolvida
 
MASTERCLASS: Desenvolvedor Expert
MASTERCLASS: Desenvolvedor ExpertMASTERCLASS: Desenvolvedor Expert
MASTERCLASS: Desenvolvedor Expert
 
Technical Product Management at Nubank
Technical Product Management at NubankTechnical Product Management at Nubank
Technical Product Management at Nubank
 
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFxMVCSummit - DDD e ASP NET MVC na prática com o LiteFx
MVCSummit - DDD e ASP NET MVC na prática com o LiteFx
 
Design Simples com XP
Design Simples com XPDesign Simples com XP
Design Simples com XP
 
Clean Architecture com .NET Core
Clean Architecture com .NET CoreClean Architecture com .NET Core
Clean Architecture com .NET Core
 
Arquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaArquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão Crítica
 

TDC 2011 - Arquitetura Evolucionária faz sentido?

  • 1. Arquitetura Evolucionária faz sentido? Lightning Talk Leandro Daniel @leandronet
  • 2. Leandro Daniel @leandronet .net Magazine Comunidade Consultoria 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...
  • 4. Arquitetura Implementação Design #TDC2011 @leandronet
  • 5. Arquitetura é aquela coisa que é difícil de mudar depois. Por essa razão, deve existir o mínimo possível dessa coisa. #TDC2011 @leandronet
  • 6. Espectro do Design Waterfall Some clássico DUF Agile BDUF Design XGH Emergente #TDC2011 @leandronet
  • 7. Arquitetura Evolucionária e Design Emergente #Simples #Foco do #Adaptativa cliente #Agile #YAGNI #Iterativa #Flexível #TDC2011 @leandronet
  • 8. Sim, a entropia existe em software... Manter as coisas como estão, exige trabalho! Manter as coisas como estão, #TDC2011 exige trabalho! @leandronet
  • 9.
  • 10. Quanto mais tempo você adiar suas decisões... ...Mais contextualizadas elas serão! #TDC2011 @leandronet
  • 11. Design Emergente “There's 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 #TDC2011 @leandronet
  • 12. Complexidade Essencial Complexidade Acidental #TDC2011 @leandronet
  • 13. Padrões idiomáticos no Design de Software Padrão Métrica 1 Métrica 2 Idiomático #TDC2011 @leandronet
  • 14. Tornado o Refactoring inteligente Propriedade Coletiva R1 R2 R3 #TDC2011 @leandronet
  • 16. É 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? @leandronet
  • 17. Toda e qualquer atividade dentro do desenvolvimento de software é importante. Pense sempre em flexibilidade. Não lute contra as “mudanças”. @leandronet
  • 18. 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. @leandronet
  • 19. Referências Pesquise no Google por: • “Neal Ford” + “Evolutionary Architecture” • “Martin Fowler” + Design + Enterprise http://reverb.leandrodaniel.com http://elemarjr.net http://voidpodcast.com