Pontos Principais
- Em um cenário de transformação digital, arquitetos de software não devem se restringir apenas aos aspectos técnicos das soluções que desenham;
- No atual cenário de constantes mudanças, negócio e arquitetura precisam unir forças com o único objetivo de entregar valor;
- A transformação digital impõe que habilidades de comunicação e melhor engajamento sejam pré-requisitos para que arquitetos de software alcancem seus objetivos e ofereçam soluções de valor;
- Provas de conceito reais e com rápida proposição de valor precisam ser construídas em conjunto.
Disrupção é a palavra que domina o cenário dos negócios hoje em dia. Mudanças que ocorrem em uma velocidade cada vez maior nos negócios exigem também que as estruturas organizacionais se alterem, sob pena de perder relevância no processo de produção de valor ao cliente final.
A arquitetura de aplicações tradicional vem se reinventando ao longo dos últimos anos, com modelos mais distribuídos e fluídos, compartilhando mais responsabilidades e decisões com equipes de desenvolvimento.
O objetivo desse texto, não é discutir a necessidade de arquitetos de aplicação em equipes de desenvolvimento. A ideia é levantar uma discussão sobre como arquitetos de software de grandes corporações deveriam se engajar com desenvolvimento para continuar relevantes, tendo em vista o cenário de transformação digital.
Arquitetos em grandes corporações precisam orquestrar direcionamentos de longo prazo para soluções da organização e ao mesmo tempo interagir com equipes e áreas que exigem uma resposta cada vez mais rápida. Esse é um dos grandes desafios dos arquitetos na atualidade em que vivemos.
A mudança de cultura para transformação digital
A transformação digital é o tema mais quente dos últimos anos entre os executivos. Mas nas empresas, muitas pessoas ainda não perceberam que se trata sobretudo de uma mudança de cultura, que afeta inclusive Arquitetura de Software.
Empresas são organismos sociais e estão sendo impactadas pelas mudanças que estamos vivendo, como: informação abundante (até desinformação às vezes), todos conectados o tempo todo, além do imediatismo constante em qualquer grande corporação. Além disso, temos clientes impacientes e exigentes, anseios de participação e co-criação, poder de escolha nunca visto antes, entre outros fatores.
São esses fatores que estão exigindo mudanças drásticas nas empresas. Perceber que capacidade de adaptação - antifragilidade - é mais importante do que velocidade, é apenas o início.
No caminho de transformações constantes que nos encontramos, devemos promover a antifragilidade - o conceito de Antifrágil de Nassim Taleb - nos negócios e nos sistemas e tirar proveito dessas mudanças constantes a nosso favor.
Em um mundo onde atritos e discordâncias são constantes, devemos ser adaptativos a ponto de absorver e melhorar.
Como uma fibra muscular quando é exercitada, que se quebra e depois se recompõe ainda mais forte para suportar ainda mais carga no futuro.
Com o Data Science na crista da onda, pensar orientado a dados reforça ainda mais a teoria de que não existem requisitos, na verdade o que existem são hipóteses que precisam ser validadas.
Se arquitetura de software entrar nesse cenário e causar demora no feedback de validação dessas hipóteses, a tendência natural é a perda de relevância.
Engajamento com base em autoridade
Muitas empresas adotam um modelo de engajamento baseado em controle e processos. Os arquitetos eventualmente têm autoridade para ser reguladores da solução. Ditando tecnologias e práticas que por vezes estão descolados da realidade da equipe de desenvolvimento.
Geralmente isso vem alinhado a um "processo" de arquitetura que tem que ser cumprido para novos projetos.
Nesse modelo de engajamento a autoridade do arquiteto existe na forma de garantidor de boa conduta de arquitetura e aderência ao "padrão".
O problema desse tipo de cenário é que as áreas que precisam dos serviços de arquitetura enxergam como perda de tempo e desperdício todo o processo. Projetos pequenos começam a passar "por fora" da análise de arquitetura para não arcar com todo o peso do processo.
Mas tente adivinhar quem vai crescer no futuro?
Muitos projetos pequenos de hoje, podem se tornar importantes para corporação e grandes no futuro. Como hoje a empresa não é capaz de lidar com a rapidez necessária com esse tipo de projeto, talvez ele tenha sido mal estruturado em relação ao uso de recursos corporativos e a empresa vai ter que conviver com isso durante muito tempo.
Outro fato cada vez mais comum no mercado são as nominadas ShadowIT ou TIs Federadas, que possuem grande impacto no cenário de arquitetura.
Vamos imaginar o seguinte cenário:
Uma empresa que está em pleno esforço para fazer a transição para uma arquitetura de microservices e orientada a eventos. As equipes de desenvolvimento estão de acordo com esse rumo proposto pela equipe de arquitetura. Cada novo sistema que surge tem uma análise realizada pela equipe sobre quais eventos significativos para o negócio aquele sistema notifica.
Eis que então, para fugir de toda burocracia tradicional da Arquitetura, uma das áreas de negócio contrata diretamente fornecedores para fazer um pequeno sistema, que tem visibilidade apenas para aquela área. A entrega é feita com sucesso pelo fornecedor e todos ficam felizes.
Pousando novamente no mundo real, lembramos que estamos a todo vapor num cenário de transformação digital. Áreas de negócio com silos de dados não funcionam mais. Rapidamente outras áreas da empresa terão necessidade de interagir com dados daquele setor que fez um projeto pequeno e por conta própria, então neste ponto temos o início dos problemas.
Liderança para continuar relevante
Em um cenário de transformação digital, a cultura da equipe de arquitetura precisa mudar, assim como de toda empresa. Ao invés de se basear em controle e autoridade, a equipe de Arquitetura precisa repensar seu modelo para atingir a colaboração e liderança.
O líder é naturalmente respeitado pelo seu potencial de contribuição, e não simplesmente porque tem autoridade sobre o processo. Líderes são reconhecidos e não necessariamente nomeados - Assista a apresentação de Seth Godin com o título As tribos que lideramos.
A tecnologia avança muito rapidamente, os arquitetos precisam reconhecer isso e acolher feedbacks das equipes para melhorar constantemente as práticas e tecnologias da empresa. O potencial de inovação tecnológica vindo de uma equipe de 100 desenvolvedores, é muito maior do que a capacidade de poucos indivíduos que tem o título de "Arquitetos".
Nesse papel de liderança, cresce cada vez mais a necessidade de outros skills por parte dos arquitetos. Para que um arquiteto possa exercer esse papel ele precisa de algumas características como:
- Saber se comunicar bem com audiências diversas (técnicas e não técnicas);
- Ser um bom ouvinte;
- Estar disponível para outras pessoas;
- Ser questionador.
Em geral arquitetos são pessoas com boas capacidades analíticas e inteligentes. Mas isso não é o suficiente para garantir que o arquiteto está gerando valor ao processo. Por melhor que seja o profissional, se ele chegar no momento errado do projeto, ele pode não agregar muito valor.
Por isso o arquiteto no modelo de liderança precisa estar sempre disponível para ser coach ou mentor dos projetos que ajuda. Em muitos momentos será requerido uma imersão maior no projeto e o arquiteto que deseja ser visto como líder, precisa ter capacidades técnicas para discutir as soluções com a equipe e eventualmente ir para o código e testar algumas soluções em conjunto.
Precisamos lembrar que falando de transformação digital, não estamos mais no mundo em que decisões são baseadas em senioridade do membro que opina, muito menos HiPPO (Highest Paid Persons Opinion). As decisões agora são baseadas em teste de hipóteses, dados e interações com as unidades de negócio. Por isso uma capacidade fundamental do arquiteto nesse mundo de transformação digital é a de conduzir experimentos.
Liderança para transformar a corporação
Em negócios transformados digitalmente vemos um desempenho de TI indissociável do core business, em outras empresas, como nas novas Fintechs, já vemos o padrão de "TI as a Core Business". Em outros modelos, vemos um fluxo constante de inovações partindo da TI para as unidades de negócio e sugestionando rumos de novos modelos de negócio. É a morte da TI como área prestadora de serviço. Agora a tecnologia tem uma importância vital na transformação dos modelos de negócio.
O arquiteto de software precisa estar atento a essas mudanças porque ele pode desempenhar um papel definitivo nessa transformação. Em um modelo maduro os arquitetos de software têm um pé na inovação tecnológica e outro no alvo do cliente final. É preciso construir capacidades de negócio e tecnológicas que permitam sugerir soluções que tragam diferencial competitivo para empresa.
Dentro deste aspecto, muitas vezes a construção de uma solução como prova de conceito precisa ser realizada em um curto espaço de tempo que seja capaz de transmitir segurança para o negócio e desta forma, os arquitetos precisam atuar como agentes de convencimento de que a proposta de solução apresentada tem fundamento e resolve o problema de negócio.
O que estamos descrevendo é que não há mais espaço para realização de provas de conceito com meses de desenvolvimento, no lugar disso, as empresas querem soluções rápidas, e que lhes apresente valor.
Para este cenário, normalmente um squad composto por vários especialistas técnicos e não técnicos como: arquitetura de solução, aplicações, segurança da informação, integração de sistemas, alta plataforma e negócios formam esta equipe para que juntos possam desenvolver a melhor solução no menor espaço de tempo possível com os recursos tecnológicos disponíveis.
Voltando ao nosso problema, em que uma determinada área da empresa fez um "pequeno projeto" de sucesso com um fornecedor externo. Com o passar do tempo a necessidade de integrar dados de outros pontos da empresa começa a surgir e como a solução não está aderente às práticas de desenvolvimento de software tomados como padrões da empresa, formas paliativas de resolver o problema começam a surgir e acabam prejudicando outros sistemas com cargas adicionais e criando acoplamento desnecessário entre os sistemas .
As técnicas que devem ser utilizadas resolver esse problema podem variar muito, mas o que queremos deixar claro é a necessidade da mudança de postura do Arquiteto para que ele seja visto como um líder e transformador que consegue quebrar disruptivamente problemas e não mais deixado de lado no processo de decisão de compra de ferramentas e soluções, simplesmente porque ele gera atrasos ao processo. Os times devem procurar um arquiteto para se sentir mais seguros com as escolhas que estão fazendo e não para ter uma assinatura avalizando a sua solução. O trabalho precisa ser conjunto por mais que uma solução externa seja contratada.
O arquiteto deve acrescentar novas ideias, conhecimentos e questionamentos para evoluir a solução. O Arquiteto não deve ser considerado um acessório de luxo, e ele precisa gerar valor se quiser continuar relevante no cenário de contínua evolução em que vivemos.
Conclusão
Analisar o "TO BE" de uma arquitetura não será mais o suficiente. É preciso entender o objetivo final e propor novas tecnologias para resolver de forma mais eficiente o problema. Laboratórios de inovação já estão se tornando lugares comuns nas empresas que perseguem a transformação digital e cada vez mais irão gerar valor para as empresas. Técnicas como Design Thinking, Storytelling e Lean Inception começam a tornar-se mais e mais necessárias não apenas para POs, Analistas de Requisitos e pessoal de negócios. Os arquitetos como um todo também precisam conhecer essas técnicas para que possam extrair o melhor entendimento possível de uma necessidade e assim prover a melhor solução.
Atualmente já é possível presenciar a construção de soluções sistêmicas que na primeira vez em que são concebidas, atingem um grau de engajamento e satisfação incontestáveis visto que a mesma fora construída com o envolvimento desde de quem propôs a solução como a de quem de fato fará uso da mesma.
Se o arquiteto e a área de arquitetura quiserem se manter relevantes em meio às transformações, vão precisar rever o seu papel e pensar fortemente em inovação e colaboração. Um recado final aos arquitetos é:
Fiquem atentos ao que está acontecendo no seu ramo de negócio, seja adepto das ferramentas e métodos de colaboração contínua e mostre ao negócio que o arquiteto pode agregar valor liderando mudanças e inovações.
Sobre os autores
João Bosco Seixas (LinkedIn), MBA em gestão empresarial pela FGV e formado em computação. Atua promovendo transformação de equipes e empresas na área de tecnologia e desenvolvimento de software. Apaixonado por tecnologia, inovação e futurismo. Especialista em arquitetura de software com experiência em sistemas de alta complexidade, microservices e plataformas em cloud. Atualmente é Coordenador de Arquitetura de Aplicações na Via Varejo S.A.
Marcelo Costa (LinkedIn, Twitter) é pós-graduado em Engenharia de Software pela UNICAMP. Atua em sistemas de alta complexidade desde 2002, coordenando equipes multidisciplinares no desenvolvimento de soluções de software nas áreas de varejo, aeroespacial, logística, educação, saúde e finanças. Especializa-se em arquiteturas de soluções, na coleta inteligente de informações na Internet e de conteúdo eletronicamente disponível; atualmente é Arquiteto de Solução na Via Varejo S.A.