Qual a importância de Enterprise Architecture dentro das organizações?
Estava escrevendo um post sobre Enterprise Architecture e conforme fui estruturando as ideias percebi que é um tema que merece uma atenção especial e o texto foi crescendo, até o ponto que o próprio editor de posts do LinkedIn indicou que eu já havia ultrapassado (em muito) o limite de caracteres, o que me levou a transformar o texto original nesse artigo, o primeiro que escrevo por aqui!
A ideia principal que gostaria de explorar é que Enterprise Architecture possui um papel essencial nas organizações, mas que como tudo mais no mundo, segue em evolução constante para se adequar à essa nova era digital.
Enterprise Architecture: uma disciplina que segue sendo essencial para a estratégia empresarial
Responsável por garantir uma visão e estratégia de curto, médio e longo prazo sobre os ativos de TI, essa disciplina merece ser harmonizada com o mundo Agile
Apesar de Enterprise Architecture (EA, como costumam dizer) possuir um papel essencial dentro das organizações, quando consideramos o cenário atual, onde o desenvolvimento de software através do Agile cresce exponencialmente, nota-se que esse disciplina acaba sendo injustamente incompreendida ou com algum grau de "crise identidade" por conta do desafio de conciliar disciplina, velocidade e autonomia.
Como podemos promover o rigor, prezando pela qualidade e saúde das soluções, com visão de médio e longo prazo, sem burocratizar o processo criativo e toda a esteira de desenvolvimento?
Ao longo dos últimos anos, seja como consultor de tecnologia ao redor do Brasil e América Latina, ou como parte integrante da liderança executiva de tecnologia em banking e insurance, vejo o grande desafio que é para a EA se manter relevante e presente nos processos de TI dentro das organizações.
E esse desafio se mostra especialmente difícil após muitas empresas deixarem de ter uma visão Waterfall (cascata), que é um processo mais estruturado e definido, para a aderir a metodologia ágil (ou Agile), que incentiva as equipes a ajustar seu fluxo de trabalho conforme as necessidades.
As metodologias, visão estratégica e necessidades arquitetônicas
Pela própria natureza do Waterfall, altamente disciplinada, compartimentalizada e rigorosamente organizada em atividades sequenciais, encaixar a disciplina de EA nas etapas de desenho, desenvolvimento e testes era algo bem natural.
Com o advento do Agile, foi como se as equipes tivessem entendido que o processo de desenvolvimento havia passado a ser “livre e criativo”, tornando-os mais autônomos, independentes e autogeridos, o que foi interpretado como uma “carta branca” para a desconexão com a estratégia de arquitetura de TI a longo prazo.
A cada dia fica mais claro que não é prudente deixar a visão sobre estratégia e saúde arquitetônica dos ativos de TI e sistemas críticos (dos quais se espera uma longa vida útil) sob a gestão exclusiva das equipes.
Frequentemente, elas possuem um horizonte de análise e preocupação com poucos sprints em um programa de Planejamento de Incremento (PI) e são orientadas, principalmente, pela velocidade da entrega, em geral sob uma ótica mais funcional.
Muito se diz que a gestão dos times ágeis acontece entre os setores de Negócios e TI com a sob as figuras do Product Owner e Scrum Master.
No dia a dia, entretanto, qualquer eventual “reserva de capacity” acaba sendo utilizada para entregar novas funcionalidades - exemplo disso é o desafio que as organizações enfrentam para evitar e resolver seus débitos técnicos e obsolescências (mas esse é um tema tão rico e polêmico por si só que merece um artigo exclusivo).
Isso mostra a importância de manter uma visão de médio e longo prazo sobre a saúde e a qualidade dos sistemas durante todo o seu ciclo de vida.
Sem uma estratégia desenvolvida pensando no futuro, em pouco tempo você terá em mãos um portfólio de sistemas impossível de evoluir (dada a baixa capacidade de reuso de componentes e extensibilidade) e sustentar (pela baixa resiliência, escalabilidade e performance), com reflexos diretos nos seus custos.
Ou seja, não dá para se limitar apenas no que será feito nas próximas duas semanas, ou mesmo apenas nos próximos três meses.
Há de se ponderar e considerar o que se deseja estrategicamente para a arquitetura como um todo no longo prazo, e Enterprise Architecture tem um papel fundamental nesse sentido.
Como consequência disso, você estará ocupando a maior parte do seu tempo (e da vida do seu time) apenas resolvendo incidentes, sem ser capaz de dar atenção e direcionar os recursos adequados para a construção do futuro.
E, como a história tem demonstrado, isso pode ser um erro fatal, afinal, o mundo segue evoluindo e tudo segue avançando, inclusive seus concorrentes, que podem estar tomado decisões melhores do que as suas hoje e, assim, estarão em melhores condições para gerar mais valor aos clientes do que você amanhã.
A evolução e redistribuição do setor de EA nas organizações
O que antes eram monólitos centralizados dentro da própria área de Arquitetura, hoje se verificam cada vez mais casos em que a disciplina de EA é executada de forma distribuída (ou federada, como é popularmente conhecida) dentro dos demais times de TI.
Presumo que o aumento da adoção nesse modelo é um sinal de que se trata de uma boa prática e que tem trazido bons resultados.
Obviamente existem inúmeras variações e ponderações a serem feitas nessa distribuição de papéis, de acordo com o tamanho da organização, indústria de atuação, instâncias locais, regionais ou globais de TI, etc.
Reforçando ainda mais o aspecto positivo de EA nas organizações, lembro de ter assistido recentemente a um webinar da Gartner(1) sobre o lado das oportunidades que se abrem em fortalecer o Enterprise Architecture, eventualmente promovendo EA como uma área interna de “management consulting”, justamente pela riqueza de skills e competências que ele agrega quando devidamente integrado com a TI e toda a empresa:
- Senso crítico e prático
- Visão atualizada de conceitos e tendências de mercado
- Captura, consolidação, conciliação e harmonização de ideias
- Geração de insights
- Capacidade de estruturar problemas e suas possíveis soluções
Convenhamos, todas essas são características típicas de um(a) bom(a) engenheiro(a).
Acho que não dá para negar que esse perfil profissional é tem muito a acrescentar para o desenvolvimento dos negócios e aceleração da transformação tecnológica que as organizações tanto precisam para competir em um mundo cada dia mais digital.
Nessa mesma linha, um artigo publicado pela McKinsey Digital(2) direcionado para os profissionais de IT, o autor explica os principais objetivos e demandas para o setor.
Alguns pontos na matéria me chamaram a atenção e listo abaixo:
- Organizações que não possuem uma área de Arquitetura Corporativa implementada costumam sofrer com a falta de auxílio técnico em outros problemas, como definição de estratégias, aumento de custos com TI e na estruturação e desenvolvimento de canais de vendas on-line;
- O setor tecnológico precisa evoluir em alguns aspectos que o Arquiteto Corporativo pode ajudar, como na implantação de soluções que reutilizam funcionalidades estabelecidas anteriormente em outros sistemas operacionais, acelerando o processo de desenvolvimento, evitando resultados inesperados e sem a necessidade de reinventar a roda o tempo inteiro;
- Às vezes é preciso “ajustar o papel”, no sentido de como se posicionar e como se é percebido dentro do ambiente corporativo, saindo de “teórico da tecnologia" e indo para um "comunicador pragmático”.
- Cada organização possui suas particularidades e isso traz variáveis a serem consideradas, mas seja qual for ao modelo organizacional escolhido, a área de Enterprise Architecture deve ser tratada como um fator crítico para o sucesso e não pode ser relegada a um papel secundário com viés meramente de “compliance burocrático”.
Os custos e riscos de perda de velocidade e capacidade de entrega de valor no médio e longo prazo (mesmo que com uma fugaz percepção de simplificação e agilidade no curto prazo) são altos demais e podem colocar em jogo a própria viabilidade do negócio.
1 - https://www.gartner.com/en/webinar/445422/1050795 2 - https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/how-enterprise-architects-need-to-evolve-to-survive-in-a-digital-world