SlideShare a Scribd company logo
1 of 49
Download to read offline
Arquitetura Evolutiva,
O segredo para uma
“arquitetura ágil”
bit.ly/slide-paulovich
PERTINHO DE
VOCÊS!
Está maior Centro CI&T de Excelência em
Tecnologias Digitais do Brasil.
11 clientes
internacionais
O que é arquitetura de software?
“É um conjunto de decisões difíceis
de serem mudadas no futuro.”
Martin Fowler (tradução livre)
“Um arquiteto permite que decisões importantes
sejam adiadas e um bom arquiteto maximiza o
número de decisões não tomadas.”
Uncle Bob (tradução livre)
O que faz um arquiteto de software?
Arquiteto
Não muito
tempo atrás...
Tudo anda dentro do prazo!
INCLUSIVE a fase de
DESIGN.
Até o “fatídico dia” em que
os desenvolvedores
compilam o projeto pela
primeira vez…
Daí “aprendemos” que
podemos trabalhar em
ciclos curtos.
Entrevistamos usuários,
detalhamos funcionalidades
e entregamos de maneira
contínua “pedacinhos” de
um sistema maior…
Arquiteto “Guia Turístico”
Arquitetura de software num
cenário de incertezas...
Incertezas?
Mudanças são inevitáveis
“Uma arquitetura evolutiva suporta mudanças contínuas
e incrementais como um primeiro princípio por meio de
vários aspectos.” Rebecca Parsons (tradução livre)
O que é arquitetura evolutiva?
Mudanças
Mudanças podem surgir de diferentes necessidades...
Técnicas Negócio
Linguagens de programação
Bibliotecas
Ferramentas
Sistemas operacionais
Padrões e Estilos
Modelos comerciais
Concorrência
Necessidades dos clientes
Novas integrações
Legislações
Quebre os Silos!
Princípios!
Acidental Essencial
A complexidade acidental é
aquela que surge durante o
processo de desenvolvimento,
ou seja, ela é CAUSADA pela
abordagem escolhida para
resolver o problema.
Já a essencial é basicamente a
complexidade que nosso
“software” se propõe resolver.
SIM, infelizmente existem
problemas complexos, e é neles
que temos que focar.
KISS
Dois tipos de complexidade...
KISS
Gerir débitos técnicos
Design
Clean
Design
Tradicional
Desvio... DOR
Refatore constantemente
Início de
um projeto Tempo
Funcionalidades
acumuladas
Com
gestão de
débitos
Sem
gestão de
débitos
Débitos técnicos
cobram juros!
Refatore
constantemente!
Mesma “entrega”
Manutenção de um sistema
Reversibilidade
Não tome decisões que você não pode reverter.
Evite ser dependente de um framework, biblioteca ou linguagem.
A reversibilidade tem um custo!
Se o código é impossível de ser revertido, é impossível refatorar.
Nem tudo precisa ser reversivel!
Reversibilidade
Último momento de responsabilidade
Não é procrastinação
Último momento de responsabilidade
Início de
um projeto
Tempo
Entendimento
Big Up Front Design!
Decisões arquiteturais
Vamos evoluir
esse pensamento...
Você pode substituir “big” por “enough”
Início de
um projeto
Tempo
Entendimento
Enough Up Front Design!
Decisões arquiteturais
Hey, Batman! Vamos criar
um método assíncrono com
validação dupla de
criptografia nas requisições
da API...
YAGNI
YAGNI (You Aren’t Gonna Need It)
MEDO
80%
RESULTADO
20%
ESFORÇO
“Boa parte das coisas, que lá no
início, eu achava que ia precisar.
Depois de algum tempo cheguei
a conclusão que não precisava
mais…” Paulovich
Tente se manter focado no que é importante! Lembre-se de Pareto!
Decisões compartilhadas!
Todos se tornam arquitetos!
Realize constantemente reuniões para discutir
próximos passos “arquiteturais”, garantindo à
todos a possibilidade de contribuir…
Isso aumenta o “ownership”!
Solutions Reviews
Evolução
A arquitetura de um projeto é algo que precisa se desenvolver… não “nasce” pronta… A cada ciclo
de entregas, você tem a oportunidade de criar uma nova “geração” da sua arquitetura.
Maturidade 1 Maturidade 2 Maturidade 3 Maturidade n
Fachadas
APIs Corporativas
Microsserviços
Nuvem
LegadoNovaArquitetura
Cliente / Servidor
Maturidade
Evolução em Gerações
Legado
Novo Sistema
Fachadas
API
Estoque
API
Pagamentos
Boletos
API
Vendas
Evolução em Gerações
Você é o resultado de 4 bilhões de anos
de evolução bem sucedida.
Não subestime o poder da evolução.
OBRIGADO
andrepg@ciandt.com
@andrepaulovich
Thank You!
André Paulovich
Community Manager - CI&T
MCP | MCTS | MCT | MCAD | MCSD.Net | MVP Asp.Net 2011 à 2014
https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf (Artigo - Martin Fowler)
https://pt.slideshare.net/thekua/building-evolutionary-architectures (Slides - Patrick Kua)
https://www.vectorstock.com/12540550 (Ilustração)
https://www.youtube.com/watch?v=DngAZyWMGR0 (Vídeo - Making Architecture Matter - Martin Fowler Keynote)
https://www.gislounge.com/defining-waterfall-and-agile-gis-project-management-styles/ (Artigo - Lowell Ballard)
https://www.infoq.com/br/news/2016/04/evolutionary-architectures (Artigo - Jan Stenberg)
http://equinocios.com/arquitetura/2017/03/03/Introducao-a-arquitetura-evolutiva/ (Artigo - Bruno Mazzo)
https://www.youtube.com/watch?v=VEPwR4Hpi7M&t=25s (Vídeo - Evolutionary Architecture - Venkat)
https://www.thoughtworks.com/insights/blog/microservices-evolutionary-architecture (Artigo - Neal e Rebecca)
Referências

More Related Content

Similar to TDC BH 2019 - Arquitetura Evolutiva - Segredo da arquitetura ágil

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
 
FIT e IFSP - Arquitetura (evolucionária) e o papel do arquiteto
FIT e IFSP - Arquitetura (evolucionária) e o papel do arquitetoFIT e IFSP - Arquitetura (evolucionária) e o papel do arquiteto
FIT e IFSP - Arquitetura (evolucionária) e o papel do arquitetoLeandro Daniel
 
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
 
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 de Software 101
Arquitetura de Software 101Arquitetura de Software 101
Arquitetura de Software 101Leandro Silva
 
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...Jackson F. de A. Mafra
 
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
 
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
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseGlobalcode
 
Fabricio Dore - Design e Agile – esqueceram de combinar com os russos (Como c...
Fabricio Dore - Design e Agile – esqueceram de combinar com os russos (Como c...Fabricio Dore - Design e Agile – esqueceram de combinar com os russos (Como c...
Fabricio Dore - Design e Agile – esqueceram de combinar com os russos (Como c...Agile Trends
 
Architectural Decision Records - PHPConfBR
Architectural Decision Records - PHPConfBRArchitectural Decision Records - PHPConfBR
Architectural Decision Records - PHPConfBRRafael Dohms
 
Apresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de softwareApresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de softwareAleatório .
 
Introdução às metodologias ágeis
Introdução às metodologias ágeisIntrodução às metodologias ágeis
Introdução às metodologias ágeisComunidade Tá safo!
 
TDC 2011 (Florianópolis) - Entendendo a Arquitetura Evolucionária
TDC 2011 (Florianópolis) - Entendendo a Arquitetura EvolucionáriaTDC 2011 (Florianópolis) - Entendendo a Arquitetura Evolucionária
TDC 2011 (Florianópolis) - Entendendo a Arquitetura EvolucionáriaLeandro Daniel
 
Soujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazesSoujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazesRaphael Rodrigues
 

Similar to TDC BH 2019 - Arquitetura Evolutiva - Segredo da arquitetura ágil (20)

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)
 
FIT e IFSP - Arquitetura (evolucionária) e o papel do arquiteto
FIT e IFSP - Arquitetura (evolucionária) e o papel do arquitetoFIT e IFSP - Arquitetura (evolucionária) e o papel do arquiteto
FIT e IFSP - Arquitetura (evolucionária) e o papel do arquiteto
 
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
 
TDC 2012 - Fishbowl conversation sobre Arquitetura
TDC 2012 - Fishbowl conversation sobre ArquiteturaTDC 2012 - Fishbowl conversation sobre Arquitetura
TDC 2012 - Fishbowl conversation sobre Arquitetura
 
Arquitetura de Software 101
Arquitetura de Software 101Arquitetura de Software 101
Arquitetura de Software 101
 
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
PHP Conference 2020 - A eterna luta: compatibilidade retroativa vs. dívida té...
 
Metodos ageis thinkingdifferent
Metodos ageis thinkingdifferentMetodos ageis thinkingdifferent
Metodos ageis thinkingdifferent
 
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
 
Seu código fonte é sustentável?
Seu código fonte é sustentável?Seu código fonte é sustentável?
Seu código fonte é sustentável?
 
Workshop Webinsider 2003
Workshop Webinsider 2003Workshop Webinsider 2003
Workshop Webinsider 2003
 
Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
O futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java EnterpriseO futuro do arquiteto e das arquiteturas Java Enterprise
O futuro do arquiteto e das arquiteturas Java Enterprise
 
Fabricio Dore - Design e Agile – esqueceram de combinar com os russos (Como c...
Fabricio Dore - Design e Agile – esqueceram de combinar com os russos (Como c...Fabricio Dore - Design e Agile – esqueceram de combinar com os russos (Como c...
Fabricio Dore - Design e Agile – esqueceram de combinar com os russos (Como c...
 
Arquitetura de Software em Equipes Ágeis
Arquitetura de Software em Equipes ÁgeisArquitetura de Software em Equipes Ágeis
Arquitetura de Software em Equipes Ágeis
 
Architectural Decision Records - PHPConfBR
Architectural Decision Records - PHPConfBRArchitectural Decision Records - PHPConfBR
Architectural Decision Records - PHPConfBR
 
Apresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de softwareApresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de software
 
Introdução às metodologias ágeis
Introdução às metodologias ágeisIntrodução às metodologias ágeis
Introdução às metodologias ágeis
 
Métodos Ágeis
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
 
TDC 2011 (Florianópolis) - Entendendo a Arquitetura Evolucionária
TDC 2011 (Florianópolis) - Entendendo a Arquitetura EvolucionáriaTDC 2011 (Florianópolis) - Entendendo a Arquitetura Evolucionária
TDC 2011 (Florianópolis) - Entendendo a Arquitetura Evolucionária
 
Soujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazesSoujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazes
 

More from André Paulovich

Construindo carreiras inspiradoras - UAIDEV 5.0
Construindo carreiras inspiradoras - UAIDEV 5.0Construindo carreiras inspiradoras - UAIDEV 5.0
Construindo carreiras inspiradoras - UAIDEV 5.0André Paulovich
 
Equilíbrio entre carreira e vida pessoal
Equilíbrio entre carreira e vida pessoalEquilíbrio entre carreira e vida pessoal
Equilíbrio entre carreira e vida pessoalAndré Paulovich
 
Liberte sua arquitetura com Cloud Native - DEVSUMMIT IGTI
Liberte sua arquitetura com Cloud Native - DEVSUMMIT IGTILiberte sua arquitetura com Cloud Native - DEVSUMMIT IGTI
Liberte sua arquitetura com Cloud Native - DEVSUMMIT IGTIAndré Paulovich
 
Como se tornar o profissional que todos procuram
Como se tornar o profissional que todos procuramComo se tornar o profissional que todos procuram
Como se tornar o profissional que todos procuramAndré Paulovich
 
Levando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature FlagsLevando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature FlagsAndré Paulovich
 
C school Extended - Liberte sua arquitetura com Cloud Native
C school Extended - Liberte sua arquitetura com Cloud NativeC school Extended - Liberte sua arquitetura com Cloud Native
C school Extended - Liberte sua arquitetura com Cloud NativeAndré Paulovich
 
Como se tornar o profissional que todos estão procurando.
Como se tornar o profissional que todos estão procurando.Como se tornar o profissional que todos estão procurando.
Como se tornar o profissional que todos estão procurando.André Paulovich
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeAndré Paulovich
 
Semcom - UFV - Florestal - 2019 - André Paulovich
Semcom - UFV - Florestal - 2019 - André PaulovichSemcom - UFV - Florestal - 2019 - André Paulovich
Semcom - UFV - Florestal - 2019 - André PaulovichAndré Paulovich
 
AKS. O que nunca te falaram. Global Azure Bootcamp BH 2019
AKS. O que nunca te falaram. Global Azure Bootcamp BH 2019AKS. O que nunca te falaram. Global Azure Bootcamp BH 2019
AKS. O que nunca te falaram. Global Azure Bootcamp BH 2019André Paulovich
 
CSchool - s02 e02 - Estratégias de desenvolvimento para turbinar a Transforma...
CSchool - s02 e02 - Estratégias de desenvolvimento para turbinar a Transforma...CSchool - s02 e02 - Estratégias de desenvolvimento para turbinar a Transforma...
CSchool - s02 e02 - Estratégias de desenvolvimento para turbinar a Transforma...André Paulovich
 
MeetupWeek - Transformacao Digital
MeetupWeek - Transformacao DigitalMeetupWeek - Transformacao Digital
MeetupWeek - Transformacao DigitalAndré Paulovich
 
Acerto talk - Descobrindo o poder do Cloud Computing
Acerto talk - Descobrindo o poder do Cloud ComputingAcerto talk - Descobrindo o poder do Cloud Computing
Acerto talk - Descobrindo o poder do Cloud ComputingAndré Paulovich
 
Share - Mastermaq - Evolução e o futuro do C#
Share - Mastermaq - Evolução e o futuro do C#Share - Mastermaq - Evolução e o futuro do C#
Share - Mastermaq - Evolução e o futuro do C#André Paulovich
 
Global Azure Bootcamp 2018 - Belo Horizonte - Paulovich
Global Azure Bootcamp 2018 - Belo Horizonte - PaulovichGlobal Azure Bootcamp 2018 - Belo Horizonte - Paulovich
Global Azure Bootcamp 2018 - Belo Horizonte - PaulovichAndré Paulovich
 
SIP - Descobrindo o poder do Cloud Computing
SIP - Descobrindo o poder do Cloud ComputingSIP - Descobrindo o poder do Cloud Computing
SIP - Descobrindo o poder do Cloud ComputingAndré Paulovich
 
DC/OS Escalando sua arquitetura de microserviços
DC/OS Escalando sua arquitetura de microserviçosDC/OS Escalando sua arquitetura de microserviços
DC/OS Escalando sua arquitetura de microserviçosAndré Paulovich
 
Darwinismo digital nova era do windows - ufv
Darwinismo digital   nova era do windows - ufvDarwinismo digital   nova era do windows - ufv
Darwinismo digital nova era do windows - ufvAndré Paulovich
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformAndré Paulovich
 

More from André Paulovich (20)

Construindo carreiras inspiradoras - UAIDEV 5.0
Construindo carreiras inspiradoras - UAIDEV 5.0Construindo carreiras inspiradoras - UAIDEV 5.0
Construindo carreiras inspiradoras - UAIDEV 5.0
 
Equilíbrio entre carreira e vida pessoal
Equilíbrio entre carreira e vida pessoalEquilíbrio entre carreira e vida pessoal
Equilíbrio entre carreira e vida pessoal
 
Liberte sua arquitetura com Cloud Native - DEVSUMMIT IGTI
Liberte sua arquitetura com Cloud Native - DEVSUMMIT IGTILiberte sua arquitetura com Cloud Native - DEVSUMMIT IGTI
Liberte sua arquitetura com Cloud Native - DEVSUMMIT IGTI
 
Como se tornar o profissional que todos procuram
Como se tornar o profissional que todos procuramComo se tornar o profissional que todos procuram
Como se tornar o profissional que todos procuram
 
Levando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature FlagsLevando seu SCM à outro nível com Feature Flags
Levando seu SCM à outro nível com Feature Flags
 
C school Extended - Liberte sua arquitetura com Cloud Native
C school Extended - Liberte sua arquitetura com Cloud NativeC school Extended - Liberte sua arquitetura com Cloud Native
C school Extended - Liberte sua arquitetura com Cloud Native
 
Como se tornar o profissional que todos estão procurando.
Como se tornar o profissional que todos estão procurando.Como se tornar o profissional que todos estão procurando.
Como se tornar o profissional que todos estão procurando.
 
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud nativeTDC 2019 Cloud - Liberte sua arquitetura com cloud native
TDC 2019 Cloud - Liberte sua arquitetura com cloud native
 
Semcom - UFV - Florestal - 2019 - André Paulovich
Semcom - UFV - Florestal - 2019 - André PaulovichSemcom - UFV - Florestal - 2019 - André Paulovich
Semcom - UFV - Florestal - 2019 - André Paulovich
 
AKS. O que nunca te falaram. Global Azure Bootcamp BH 2019
AKS. O que nunca te falaram. Global Azure Bootcamp BH 2019AKS. O que nunca te falaram. Global Azure Bootcamp BH 2019
AKS. O que nunca te falaram. Global Azure Bootcamp BH 2019
 
CSchool - s02 e02 - Estratégias de desenvolvimento para turbinar a Transforma...
CSchool - s02 e02 - Estratégias de desenvolvimento para turbinar a Transforma...CSchool - s02 e02 - Estratégias de desenvolvimento para turbinar a Transforma...
CSchool - s02 e02 - Estratégias de desenvolvimento para turbinar a Transforma...
 
MeetupWeek - Transformacao Digital
MeetupWeek - Transformacao DigitalMeetupWeek - Transformacao Digital
MeetupWeek - Transformacao Digital
 
Acerto talk - Descobrindo o poder do Cloud Computing
Acerto talk - Descobrindo o poder do Cloud ComputingAcerto talk - Descobrindo o poder do Cloud Computing
Acerto talk - Descobrindo o poder do Cloud Computing
 
Share - Mastermaq - Evolução e o futuro do C#
Share - Mastermaq - Evolução e o futuro do C#Share - Mastermaq - Evolução e o futuro do C#
Share - Mastermaq - Evolução e o futuro do C#
 
Global Azure Bootcamp 2018 - Belo Horizonte - Paulovich
Global Azure Bootcamp 2018 - Belo Horizonte - PaulovichGlobal Azure Bootcamp 2018 - Belo Horizonte - Paulovich
Global Azure Bootcamp 2018 - Belo Horizonte - Paulovich
 
SIP - Descobrindo o poder do Cloud Computing
SIP - Descobrindo o poder do Cloud ComputingSIP - Descobrindo o poder do Cloud Computing
SIP - Descobrindo o poder do Cloud Computing
 
DC/OS Escalando sua arquitetura de microserviços
DC/OS Escalando sua arquitetura de microserviçosDC/OS Escalando sua arquitetura de microserviços
DC/OS Escalando sua arquitetura de microserviços
 
Asp.Net Core - Meetup BH
Asp.Net Core - Meetup BHAsp.Net Core - Meetup BH
Asp.Net Core - Meetup BH
 
Darwinismo digital nova era do windows - ufv
Darwinismo digital   nova era do windows - ufvDarwinismo digital   nova era do windows - ufv
Darwinismo digital nova era do windows - ufv
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 

TDC BH 2019 - Arquitetura Evolutiva - Segredo da arquitetura ágil