Os 7 tipos de Arquitetos de Sistemas de Software — Parte 1

José Roberto Araújo
6 min readMar 26, 2020

--

Que tipo de Arquiteto de Sistemas de Software você está assumindo neste momento? Ou que tipo você gostaria de assumir? Você conhece as nuances de cada um dessas variações?

Qual variação do papel de Arquiteto melhor me encaixo?

Quando pensamos sobre o papel de um Arquiteto na T.I, logo nos vem a mente a figura do que estamos acostumados a ouvir ou lidar, ou seja, um Arquiteto de Software, tendo em vista o volume de informações que podemos encontrar sobre este tema ou discussão. Neste post, explico qual é o papel de um Arquiteto de Software, sobre a minha visão e experiência.

Quando estamos trabalhando em grandes corporações, naturalmente, vamos nos habituando a perceber que, mesmo antigamente, já existiam vários tipos de posições dentro das empresas e que, ao passar dos anos e atendendo às demandas das necessidades, fomos nos deparando com o aumento dos diversos tipos de papeis dentro dos cargos que ocupamos nas companhias. A lista abaixo, você encontra as diferentes variações da posição de Arquiteto:

  • Arquiteto Corporativo (Enterprise Architect)
  • Arquiteto de Soluções (Solution Architect)
  • Arquiteto de Software (Software Architect)
  • Arquiteto de Dados & Informação (Data/Information Architect)
  • Arquiteto de Infraestrutura (Infrastructure Architect)
  • Arquiteto de Segurança (Information Security Architect)
  • Arquiteto de plataforma em Nuvem (Cloud Architect)

Neste artigo, vamos abordar as 3 primeiras variações deste papel, dentro da engenharia de software.

A respeito do título do artigo e das variações do papel de um Arquiteto, as quais foram listadas acima, nos permita levantar os seguintes questionamentos:

  • Será que existem outras variações desse papel?
  • Ainda que existam todas essas variações, tudo isso faz sentido?
  • Podemos “conduzir” um projeto sem a presença de todas ou da maioria desses papéis?

Há diversas empresas, ao redor do globo, que possuem profissionais desempenhando o papel de Arquiteto, sobre o qual realiza a combinação de algumas dessas variações, muitas vezes sendo Arquiteto de Software, acumulando alguma das outras variações ou vice-versa. Há ainda, companhias que tem diferentes profissionais desempenhando, cada um, os diferentes papéis conforme listado acima. Outro ponto interessante a ser observado é o fato das grandes empresas, por terem muitos profissionais desempenhando diferentes papéis de Arquitetura, criarem um time ou grupo de arquitetura. O que se espera desse grupo é colaboração mútua com as tarefas relacionadas a arquitetura, além de criar conexões com outros grupos de desenvolvedores, projetos e áreas de negócio, ajudando-os a desenhar e implementar o projeto do software.

Sobre o meu ponto de vista:

Há empresas que, ao criar um grupo de arquitetura, não tem a experiência ou expertise necessária para realizar uma formatação adequada desse tipo de grupo, conduzindo os profissionais a trabalharem sobre a perspectiva da Torre de Marfim, gerando sérios problemas durante o planejamento, desenho, implementação e entrega do projeto.

Arquiteto Corporativo (Enterprise Architect)

Essa variação, dentro da posição de um Arquiteto de Sistemas de Software, tem a responsabilidade de garantir que o direcionamento de soluções técnicas se alinhe ao direcionamento estratégico da empresa. Nessa posição o profissional pode ser encarado como um **Conselheiro Técnico (**Technical Advisor), dentro de um grupo de arquitetos, levando mentoria, orientação, aconselhamento e liderança técnica para os demais arquitetos. Outra ponto que complementa as suas responsabilidades e que, sem essas interações não seria possível alinhar soluções técnicas ao às estratégias de negócio da empresa, é a interação entre:

  • Especialistas de Negócio;
  • Conversar com Clientes (Internos e Externos);
  • Entender o produto atual e quais são as necessidades de inovação da área de Produto;
  • Saber identificar onde estão localizadas cada um dos domínios de negócio, dentro da empresa;
  • Entender o nicho de mercardo empresa;
  • Avaliar a viabilidade dos requisitos que lhe foram solicitados, comparando com a tecnologia utilizada pela empresa ou e compreender se será necessário que aconteça um processo de transformação digital, afim de atender as necessidades de crescimento da companhia;
  • Entender onde aplicar cada uma das tecnologias que se encontra no seu cinto de ferramentas (tool-belt).

Colocando cada um dos pontos listados acima, fica claro que esse papel tem a responsabilidade de garantir que o negócio da organização e seus objetivos estratégicos estão em sincroniza com as soluções técnicas apresentadas e implementadas. Esse papel exige do profissional a habilidade de perceber o que acontece à sua volta e, comisso, ter uma visão Holística (visão do TODO) sobre os detalhes que se apresentam como oportunidades de inovação e negócios.

Um Arquiteto Corporativo precisa estar em contato, o tempo inteiro, com os demais arquitetos de da empresa, trabalhando lado a lado, afim de garantir que todo o desenho da solução, definições e tomadas de decisões aconteçam da maneira como foi acordado e isso vai garantir com que a entrega alcance as expectativas dos stakeholders.

Arquiteto de Soluções (Solution Architect)

Esse papel assim como o anterior — Arquiteto Corporativo — tem algumas semelhanças no que toca a necessidade de trabalhar muito próximo a área de negócio da companhia, entendendo muito bem o que lhe foi solicitado, alinhando com a área de produtos e o(s) Product Owner(s), afim de desenhar uma arquitetura satisfatória às necessidades evolutiva do negócio (SEMPRE o FOCO será o NEGÓCIO). Mas existe uma linha tênue que o separa do papel anterior!

O profissional que assumir esse tipo de papel será exigido que este tenha a habilidade de saber escolher a tecnologia MAIS apropriada, ou seja, a que melhor se encaixa em uma dada situação — Aqui eu não falo em APLICAR TODAS as TENDÊNCIAS do mercado ou os últimos lançamentos. No entanto, dado o fato de não ser comum a existência do papel do Arquiteto Corporativo, é muito comum que o Arquiteto de Soluções acabe por acumular as responsabilidades de um Arquiteto Corporativo.

É comum que os desenhos de soluções, produzidor por Arquitetos de Soluções, sejam usados como referência em outros projetos dentro de uma organização, além de reutilizarem os pacotes que foram componentizados, bem como a reutilização de padrões de projeto ou de arquitetura na busca de soluções em diversas outras áreas de projetos. Em organizações muito grande, onde podemos encontrar todos ou a maioria desses papeis, é visível perceber que o Arquiteto de Soluções é o fator de intermediação entre o Arquiteto Corporativo e um Arquiteto de Aplicações/Software.

Arquiteto de Software (Software Architect)

Um Arquiteto de Software tem seu foco voltado para um ou mais aplicações ou sistemas dentro do domínio sob o qual é responsável. Esse papel também exige que o profissional trabalha ainda mais próximo do time de desenvolvimento, garantindo que o desenho da solução seja executado dentro das boas práticas da engenharia de software, os padrões de projeto tenham sido aplicados adequadamente e que, o padrão arquitetural esteja alinhado com o que foi definido anteriormente, visando alcançar a excelência do negócio da organização. Esse papel tem, também, uma outra característica que é ser uma espécie de ligação entre a área técnica e a não-técnica, as quais trabalham no contexto de uma aplicação.

Na maior das vezes, o Arquiteto de Software/Aplicação está presente em todas as fases do de um projeto de software, oferecendo mentoria sobre qual é a melhor técnica a ser utilizada para resolver a complexidade de um cenário de negócio, encontrar tecnologias, ferramentas ou componentes que auxiliem o time que está, diretamente ligado ao desenvolvimento do projeto, ajuda na avaliação de abordagens sugeridas pelo time, além de participar na revisão do desenho previamente criado com o código desenvolvido, dando garantias que o desenvolvimento está alinhado com todas as expectativas..

Como vimos nas variações anteriores, para este papel não será diferente. O profissional que assumir este papel precisa estar sempre atualizado com as novas tendências de mercado e novas tecnologias. Conhece-las bem o ajudará a entender quando usa-las para resolver um problema computacional ou ao vislumbrar uma oportunidade, saberá qual técnica, ferramenta ou tecnologia é a mais adequada para ser utilizada.

Conclusão

Até aqui, se você ainda não tinha toda essa visão ou, mesmo aqueles que já tiveram algum contato com algumas dessas posições ou papeis, começam a perceber que o papel de Arquiteto dentro de uma empresa não é um papel trivial e demanda grandes expectativas e responsabilidades. Um outro fator comum que é observado em TODAS as variações é: Todo Arquiteto tem a necessidade de entender o negócio da empresa e buscar alinhar todo o seu background técnico com as necessidades estratégicas e de negócio da empresa, mas para isso acontecer, ele precisa ter jogo de cintura e saber lidar com política, fazendo uso das habilidades de soft-skills.

--

--

José Roberto Araújo

I'm a Software Developer focusing on supporting people and companies to build robust, reliable, and complex software. I've been doing this moreover 2 decades.