Olá! Bem-vindo a mais um curso da carreira de arquiteto de soluções. Este é o curso de Tomada de Decisões Arquitetônicas e Trade-offs (compensações). Talvez seja o curso com o nome mais elegante da carreira de arquiteto de soluções. Brincadeiras à parte, nesta aula introdutória, vamos nos apresentar adequadamente. Vamos recapitular brevemente os outros cursos que antecederam este, que provavelmente já foram vistos até agora. Daremos alguns conselhos sobre como aproveitar ao máximo este curso. E, naturalmente, falaremos sobre todas as aulas que teremos neste curso de forma muito breve. Introduziremos os temas das aulas deste curso.
Passando para o próximo slide. Este é um slide onde aparece uma foto no lado direito. Apresentando-nos, somos Vinícius Martins. Somos homens, temos cabelo, olhos e barba castanho-escuros. Vestimos uma camisa preta. Somos formados em análise de sistemas desde 2007 e temos um MBA em gestão de projetos de tecnologia desde 2016. Trabalhamos em grandes empresas como TV Globo, Oi, Redditor, Ipiranga e algumas grandes consultorias de TI como Accenture, Sonda e PwC, PricewaterhouseCoopers. Complementando nosso perfil, temos diversos cursos de extensão nas áreas de arquitetura, transformação digital, computação em nuvem, inteligência artificial e melhores práticas em TI. Nossa experiência como arquiteto de TI e nos diferentes domínios da arquitetura de TI, como soluções, corporativo, dados e integrações, já soma mais de 13 anos de experiência como arquiteto nessas grandes empresas e consultorias. Acreditamos que é uma experiência bastante valiosa. São mais de 10 anos, totalizando 13 anos de experiência.
Passando para o próximo slide. Recapitulando a trajetória até aqui, aprendemos bastante sobre o papel do arquiteto de soluções e o pensamento arquitetônico. Esses são fundamentos necessários para que possamos nos aprofundar nesta aula de tomada de decisões em trade-offs. É nesta aula que ficará mais claro por que precisamos ter um comportamento de arquiteto quando atuamos como arquiteto, em vez de um comportamento de pessoa desenvolvedora sênior ao desempenhar papéis e atividades como arquiteto de soluções. A atuação é bastante diferente, e nesta aula isso ficará muito claro. Certamente já está claro, mas será ainda mais esclarecido o porquê das diferenças entre a pessoa desenvolvedora sênior e o arquiteto nesta aula.
Também já aprendemos até agora sobre as técnicas de DDD (Domain-Driven Design ou Design Orientado a Domínio), que são uma coluna vertebral do trabalho do arquiteto de soluções, modelagem de domínio e arquitetura orientada ao negócio. Além disso, já aprendemos a ver os requisitos não funcionais, os requisitos das áreas de negócio e os requisitos dos usuários finais sob a perspectiva do arquiteto, em vez de ver esses requisitos como pessoa desenvolvedora sênior ou desenvolvedora em qualquer nível de carreira. É muito diferente a forma de olhar os requisitos como arquiteto, assumindo o papel do arquiteto.
Passando para o próximo slide, aqui vamos resumir rapidamente o tema de todas as aulas deste curso. Começaremos com, se não a aula mais importante deste curso, que trata sobre ADRs (Architectural Decision Records ou Registros de Decisões Arquitetônicas). Se chegamos até este curso, certamente já tivemos nosso percurso para entender os pontos e aspectos principais do que significa ser um arquiteto, seja em cursos anteriores ou até mesmo em pesquisas de mercado.
Nesta aula, abordaremos os famosos ADRs, que são registros de decisões arquitetônicas (Architecture Decision Records). Vamos aprender o que são os ADRs.
Na segunda aula, exploraremos duas técnicas importantes sobre como a pessoa arquiteta trabalha em business cases, nos planos de produto e negócio, de novos negócios e produtos provenientes das áreas dos usuários. Veremos como a pessoa arquiteta ajuda a conceber um novo projeto ou produto tecnológico. Essas são duas técnicas essenciais para a atuação da pessoa arquiteta em projetos ou programas.
Na terceira aula, aprenderemos sobre matrizes de decisão. Essas são técnicas analíticas que, em sua maioria, derivam de metodologias e marcos de trabalho das grandes consultorias. Elas mostram como a pessoa arquiteta pode utilizar dados analíticos para fundamentar suas decisões e ter voz técnica no ambiente de trabalho. Vamos explorar um pouco sobre essas técnicas.
Em seguida, aprenderemos sobre as consequências a curto e longo prazo, como indica o título da aula. Os trabalhos de arquitetura têm consequências distintas em diferentes linhas do tempo. Vamos analisar as demandas de maneira diferenciada em suas respectivas linhas de tempo.
Na próxima aula, discutiremos como decidir sob incerteza. Este é um tema que, sem dúvida, enfrentaremos em algum momento de nossa carreira. Vamos aprender diversas técnicas que nos apoiarão no dia a dia diante desse tipo de desafio.
Na penúltima aula, aprenderemos a evitar decisões baseadas em tendências passageiras. Este é um tema bastante atual, especialmente com o advento da inteligência artificial generativa. Compartilharei minha experiência, trazendo exemplos práticos e atuais, assim como nas aulas anteriores, com exemplos do cotidiano da pessoa arquiteta em grandes empresas, seja no setor público ou em startups.
Por fim, aprenderemos sobre a responsabilidade da pessoa arquiteta, ou seja, a arquitetura como uma responsabilidade assumida. Veremos que as decisões da pessoa arquiteta, dependendo do contexto, podem ter impactos até mesmo na sociedade.
Na última parte desta aula introdutória, é importante ter em mente quatro conselhos para aproveitar ao máximo o curso. Esses conselhos envolvem ferramentas tecnológicas, onde faremos pausas para mencionar ferramentas que podem apoiar a pessoa arquiteta de soluções no dia a dia, melhorando a produtividade e a criatividade.
Também falaremos sobre modelos de inteligência artificial, desde os mais comuns até os mais específicos para o cotidiano da pessoa arquiteta, que podem apoiar o trabalho diário na arquitetura de soluções.
Discutiremos as melhores práticas, que incluem marcos de trabalho, certificações e práticas de mercado. Compartilharei minha experiência para trazer práticas prontas para aplicação e referências aplicáveis a este curso.
Por último, sempre que possível, forneceremos referências bibliográficas de sites, fóruns de arquitetos relacionados aos temas das aulas.
Sem mais delongas, vamos à primeira aula sobre ADRs.
Vamos começar com a introdução à classe de ADRs. O que precisamos saber agora sobre o que são os ADRs? Devemos entender que os ADRs, ou Registros de Decisões Arquitetônicas, são a coluna vertebral da governança técnica do trabalho da pessoa arquiteta de soluções. Eles são o artefato principal para documentar as decisões arquitetônicas e, de longe, o mais importante dos artefatos. A pessoa arquiteta lida com diversos artefatos, e o ADR, sem dúvida, é o mais relevante. Já na primeira aula de ADR, perceberemos a importância desse artefato. E isso ficará ainda mais evidente à medida que avançarmos até o final do curso, quando veremos como o tema desta aula de ADR permeia todos os outros temas e aulas. Portanto, esta aula é de extrema importância.
Esta aula é composta por seis temas. No primeiro tema, não vamos nos aprofundar ainda no conceito de ADR, pois é essencial que falemos sobre o que caracteriza uma decisão arquitetônica. Assim, nesta primeira aula, abordaremos esse aspecto. Na segunda aula, começaremos a discutir o conceito de ADR, sua anatomia e a estrutura semântica do que é um ADR. Na terceira aula, falaremos sobre o ADR como externalização do pensamento arquitetônico.
Esse é um nome bastante rebuscado, mas ficará claro quando estivermos nessa aula o quanto é importante documentar o pensamento do arquiteto o tempo todo. Entenderemos, ao longo deste curso, que um dos principais problemas das grandes empresas é o famoso problema de que, quando um arquiteto se vai, o conhecimento vai junto. Nessa aula, falaremos sobre isso e a importância de documentar ADRs (Arquivos de Decisão de Arquitetura), destacando a importância de que um arquiteto documente seu pensamento e suas decisões nos ADRs.
No quarto tema, discutiremos o ciclo de vida, os estados e a memória organizacional dos ADRs. Ou seja, existem práticas, mais de uma prática, e boas práticas relacionadas aos ADRs. Aqui é onde entenderemos, na prática, o que tudo isso significa.
Em quinto lugar, aprenderemos sobre governança distribuída e Arquitetura como Código. Como o nome sugere, aprenderemos a governar todos os artefatos de decisões de arquitetura de forma distribuída, de modo que outros times e outras pessoas dentro da equipe de arquitetura conheçam todos os artefatos do arquiteto.
Por último, falaremos sobre os critérios de significância e o que não deveria se tornar um ADR. Ou seja, naturalmente, existem decisões do arquiteto que não precisam ser documentadas ou não precisam se tornar um ADR. Discutiremos isso neste último tema.
Vamos passar para o primeiro tema?
Continuando com nossa primeira explicação sobre o tema de ADR, antes de nos aprofundarmos nos conceitos de ADR, precisamos discutir o que caracteriza uma decisão arquitetônica. Este é um tópico precursor ao falar sobre ADRs, e é essencial entender o que realmente define uma decisão arquitetônica, pois nem toda escolha técnica é uma decisão arquitetônica.
Até agora, é provável que já tenhamos tido a oportunidade de trabalhar em diferentes contextos, seja corporativo ou pessoal, como pessoas desenvolvedoras e talvez até como arquitetos. Certamente, já conseguimos pensar em algum exemplo de quando tomamos uma decisão técnica, uma escolha mais pessoal, em contraste com uma decisão arquitetônica, que impacta diferentes aspectos de um sistema dentro de um projeto, considerando-o de uma perspectiva mais ampla.
Então, o que precisamos ter em mente sobre o que caracteriza uma decisão arquitetônica? Devemos entender que, se ela possui impacto estrutural no sistema ou nas integrações que esse sistema tem, deve ser documentada e se tornar um ADR. Se a decisão tem um alto custo de reversão, ou seja, é difícil revertê-la, também deve ser documentada como ADR. Além disso, se tem algum efeito sistêmico significativo em desempenho, segurança ou escalabilidade, deve ser registrada como ADR. Esses são os três principais aspectos a considerar para avaliar se uma decisão é arquitetônica ou apenas técnica dentro de um projeto ou sistema.
Devemos registrar o ADR quando a decisão for difícil de reverter, tiver impacto arquitetônico amplo ou precisar ser compreendida por pessoas no futuro. Quais são os desafios do arquiteto para identificar o que é arquitetônico e o que não é? Distinguir decisões arquitetônicas de escolhas técnicas comuns é um desafio no dia a dia acelerado de grandes equipes. Este é um dos principais desafios que encontramos no mercado, ou seja, a velha máxima de ter tempo suficiente para documentar tudo o que fazemos. Esse desafio, na verdade, às vezes transcende os desafios do arquiteto dentro das equipes de TI; é um desafio comum para outras práticas e funções dentro das equipes de TI: o famoso dia a dia agitado, no qual acabamos deixando as práticas de documentação de lado em detrimento de alguma tarefa mais crítica.
A falta de critérios claros também leva à criação excessiva ou omissão de ADRs relevantes. Precisamos ter critérios bem estabelecidos, e vamos discutir isso em aulas futuras. Avaliar se uma decisão afeta o desempenho, a segurança ou a escalabilidade exige uma visão holística do sistema. Precisamos ter conhecimento de todo o sistema em relação ao desempenho e à escalabilidade, além de conhecer o histórico do sistema. Isso é muito importante e, de fato, um desafio. Às vezes, podemos ser arquitetos novos na empresa, com a missão de identificar o que é arquitetônico, e precisamos fazer isso com pouca experiência. Na próxima apresentação, comentaremos sobre as boas práticas para esses problemas.
Equipes sem visão clara do que é arquitetônico tendem a subestimar o peso de certas escolhas técnicas. Portanto, o conhecimento teórico é muito importante para qualquer equipe capacitada e, claro, para os arquitetos ao tomar decisões sobre o que é ou não uma decisão arquitetônica.
O custo de reverter uma decisão arquitetônica muitas vezes só se torna evidente quando já é tarde demais. Este é um dos pilares para avaliar o que deve ser uma decisão arquitetônica e o que não deve ser. Às vezes, nem sequer está claro o custo de reversão de uma decisão, e só percebemos isso quando já é tarde. Vamos discutir boas práticas e técnicas para evitar essa situação.
Outro desafio enfrentado por equipes de arquitetura e pessoas arquitetas são as decisões não documentadas, que tornam a reversão ainda mais cara e arriscada. Se não documentarmos adequadamente todo o histórico de ADRs (Arquivos de Decisão Arquitetônica), isso pode gerar um efeito cascata, aumentando o custo e o risco de reversão para o projeto ou sistema em que estamos trabalhando.
Quais são as soluções para esses desafios mais comuns? Muitas dessas soluções serão abordadas nos próximos temas, mas já podemos introduzir algumas de forma geral. Precisamos ter critérios de filtragem bem definidos, ou seja, critérios claros sobre impacto estrutural, custo de reversão e efeito sistêmico. Devemos definir se a decisão afeta um ou mais sistemas que merecem um ADR. É necessário definir esses critérios dentro da organização e do contexto em que estamos inseridos.
Existem boas práticas que discutiremos bastante. A familiarização com os critérios de filtragem é essencial, mas isso é muito específico para cada ambiente e organização. Por exemplo, uma startup e uma entidade governamental gigante terão práticas e critérios de filtragem extremamente diferentes devido aos impactos distintos. Tratar com um sistema gratuito de uma startup ou ONG tem consequências diferentes de lidar com um sistema bancário. Portanto, os critérios de filtragem devem ser bem definidos e claros.
Fazer listas de verificação ou ter fóruns de arquitetura é muito importante. Em grandes empresas, é comum ter um fórum pelo menos quinzenal onde todas as pessoas arquitetas devem apresentar os DAI (Documentos de Arquitetura de Soluções). Esses documentos são diferentes dos ADRs e são discutidos nesses fóruns para que pessoas arquitetas mais experientes possam identificar algo que pode não ter sido anotado. Ter listas de verificação sobre como identificar escolhas que possam impactar desempenho, segurança e escalabilidade, e levar o tema para uma discussão mais ampla, ajuda a identificar o que deve ou não se tornar um ADR.
Manter uma visão do sistema, com um mapa atualizado da arquitetura ampla e do sistema, é crucial. A arquitetura de referência de um sistema ou conjunto de sistemas dentro de uma organização é um artefato comum em grandes empresas. Por exemplo, para ERP, CRM ou algum domínio de negócio importante, é necessário manter um diagrama de todos os sistemas ou aplicações que atendem a esse domínio. Isso ajuda a entender como o sistema se integra com outros sistemas, do ponto de vista de fluxos, processos e integração sistêmica, para mapear se uma decisão deve se tornar uma decisão de arquitetura ou técnica.
Por último, mas não menos importante, é essencial manter um registro contínuo. Quando identificamos que uma decisão deve se tornar um ADR, precisamos documentar todos esses registros adequadamente para que todos tenham conhecimento.
O curso Decisões arquiteturais: ADRs, trade-offs e governança técnica possui 336 minutos de vídeos, em um total de 65 atividades. Gostou? Conheça nossos outros cursos de Arquitetura em DevOps, ou leia nossos artigos de DevOps.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
O Plano Plus evoluiu: agora com Luri para impulsionar sua carreira com os melhores cursos e acesso à maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Programação, Data Science, Front-end, DevOps, Mobile, Inovação & Gestão, UX & Design, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Luri Vision chegou no Plano Pro: a IA da Alura que enxerga suas dúvidas, acelera seu aprendizado e conta também com o Alura Língua que prepara você para competir no mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Chat, busca, exercícios abertos, revisão de aula, geração de legenda para certificado.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.
Para quem quer atingir seus objetivos mais rápido: Luri Vision ilimitado, vagas de emprego exclusivas e mentorias para acelerar cada etapa da jornada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Catálogo de tecnologia para quem é da área de Marketing
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais de forma ilimitada.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.