Como Tornar-se Arquiteto em um Integrador de Sistemas

Publicado em: 20 de outubro de 2008

Por Amit Unde

Resumo: Atualmente, estou envolvido em um programa do L&T Infotech que prepara aspirantes a arquitetos em profissionais completos. Em decorrência disso, pesquisei extensivamente a função dos arquitetos e conversei com muitos deles, de diversos setores, para entender quais funções e competências os tornam profissionais bemsucedidos. Este artigo é uma tentativa de cristalizar a sabedoria obtida nesse trabalho.

Como é duro ser arquiteto! O que os arquitetos fazem é um mistério para grande parte do mundo—isso está longe de ser uma surpresa, já que o trabalho dos arquitetos é intangível—"coisa do pensamento", por assim dizer—e só acontece nos bastidores. Isso faz com que muitos se perguntem sobre a função de um arquiteto na organização. Os arquitetos interagem com muitos participantes: CIOs, gerentes de projeto, usuários do negócio e desenvolvedores, e cada um destes espera que eles trabalhem de diferentes modos. Enquanto o CIO espera que um arquiteto produza um roadmap da solução para implementar a visão de TI da empresa, o desenvolvedor espera que o arquiteto forneça instruções para o problema técnico. O arquiteto precisa ter visão panorâmica de um cenário; já em alguns outros, o arquiteto precisa mergulhar fundo na área do problema. O arquiteto precisa ser, ao mesmo tempo, generalista e especialista.

Muitas empresas tentam reduzir essa ambigüidade introduzindo nuances à função, como arquiteto corporativo ou de soluções. Ironicamente, a diferenciação no âmbito da função pode ampliar a confusão, já que não há padronização dessas designações nas empresas. Vamos descobrir características comuns e definir as várias nuances da função.

Nesta página

A função do arquiteto
As competências do arquiteto
Quão importante é o local em que você trabalha?
Chegando lá
Conclusão
Sobre o autor

A função do arquiteto

Em geral, as funções variam de três formas (Figura 1):

Arquiteto corporativo/Arquiteto-chefe

O arquiteto corporativo é responsável por implementar a visão do CIO e a estratégia de TI. Inclui definir programas estratégicos (geralmente multianual, milhões de dólares em organizações de grande porte), selecionar as plataformas de tecnologia apropriadas e fornecer a diretriz das implementações. O arquiteto corporativo ajuda o CIO a garantir que os investimentos de TI estejam de acordo com a estratégia do negócio e fornece vantagem competitiva para a organização. Também é responsável por definir os padrões e as diretrizes e por aplicar um mecanismo de governança para alinhar a implementação de acordo com os padrões e diretrizes definidas. Em algumas organizações, esta função está combinada com aquela do CIO e tem o título de "Arquiteto-chefe". Isto é especialmente verdadeiro para muitas empresas de produtos e plataformas.

Arquiteto de soluções

O arquiteto de soluções é responsável pela implementação de um programa estratégico de TI. Isso inclui definir a solução arquitetural para o programa (o que em geral abrange múltiplas tecnologias), selecionar plataformas de tecnologia de acordo com a estratégia corporativa, manipular a comunicação entre os grupos e tomar decisões sobre questões técnicas da implementação. Em geral, o arquiteto de soluções precisa fazer a mediação entre as equipes de negócio e tecnologia e vários outros grupos. O arquiteto de soluções é a pessoa que toma decisões, resolve conflitos tecnológicos e questões de implementação.

Em algumas organizações, esta função é definida como "Arquiteto", apenas. A posição sênior tem o título de "Arquiteto-líder".

Arquiteto técnico

Em geral, o arquiteto técnico é um tecnólogo, especialista em determinada tecnologia. Possui conhecimento especializado da função de tecnologia subjacente, de todos os seus componentes e conhece quais os pontos fortes e as limitações da tecnologia. É responsável por determinar a aplicabilidade da tecnologia, por definir a melhor arquitetura possível utilizando essa tecnologia especial e, também, por orientar a equipe na implementação da solução. Em geral, pressupõese que o arquiteto de tecnologias conheça as várias ferramentas de fornecedores da área de tecnologia, as últimas tendências do mercado e as várias alternativas arquiteturais para implementação da solução.

Esta função poderia ter outras nuances: arquiteto de infra-estrutura, de integração, de modelagem de processos do negócio (BPM), arquiteto .NET, J2EE, etc.

Cc505970.journal15_cap03_img_00(pt-br,MSDN.10).jpg

As competências do arquiteto

Agora que definimos funções e responsabilidades, vamos analisar quais competências são necessárias para executar essas funções (Figura 2).

Liderança

Arquiteto é uma designação de liderança. Presume-se que o arquiteto traga clareza às necessidades, defina o fundamento e formate o roadmap para execução. Em cada etapa, o arquiteto precisa tomar decisões e assumir responsabilidades. Muitas vezes, a decisão correta não será simples nem estará nítida. O arquiteto precisa encontrar uma solução que funcione. Nem sempre será a melhor solução quanto aos méritos técnicos, mas deve ser o que funcionar melhor para determinada organização. Para chegar a essas decisões, o arquiteto precisa ter um bom entendimento do ambiente político e deve ter a capacidade de motivar a adesão de todos os participantes para que o projeto siga adiante. Os arquitetos devem ser suficientemente confiantes para ficar acima da crítica negativa, ultrapassar barreiras e blindar a equipe de desenvolvimento contra pressões políticas. Por conseguinte, a competência mais significativa de um arquiteto deve ser a liderança.

Mentalidade estratégica

É a capacidade de observar o cenário a 50.000 pés, de um nível estratégico, abstraindo as complexidades operacionais. Envolve ter uma visão mais ampla como "levar a organização ao quadrante de liderança até 2010 " e dividi-la em etapas menores, tangíveis, simplificando-a para que outros possam entendê-la. Com freqüência, os arquitetos devem escolher uma solução que forneça o melhor retorno sobre o investimento para a organização, e para criar estudos de caso do negócio para realizar os orçamentos. Quase sempre precisam lidar com executivos de alto escalão (CIO, CEO), quando é necessário apresentar uma visão de nível estratégico.

Administração de relações humanas

Os arquitetos lidam com muitos participantes, internos e externos, como fornecedores e parceiros. Freqüentemente, precisam obter informações de pessoas não diretamente subordinadas a eles. Precisam estar ligados à rede de comunicação da organização para entender as implicações políticas. Devem ser acessíveis, para incentivar os desenvolvedores a relatar as más notícias o mais rápido possível. Assim sendo, a administração das relações em vários níveis é uma competência necessária para os arquitetos.

Habilidades para comunicar e ouvir

Com freqüência, considera-se a capacidade de ouvir parte das habilidades de comunicação, mas eu as menciono explicitamente para enfatizar a sua importância. É essencial para os arquitetos ouvir os usuários para que possam entender o problema do negócio, para que a alta administração entenda qual a solução mais funcional e para que os desenvolvedores conheçam os possíveis problemas da implementação. Ao mesmo tempo, é importante que os arquitetos articulem efetivamente a solução para criar adesão por parte dos usuários do negócio, para que o gerente de alto escalão obtenha recursos e apoio, e para que os desenvolvedores possam entender como implementar a arquitetura definida.

Os arquitetos precisam adaptar os seus estilos de comunicação ao se comunicarem com os vários participantes. Por exemplo, quando lidam com a alta administração, é necessário ser breve; com os desenvolvedores, clareza é mais importante. Os vários participantes têm expectativas diferentes—os executivos exigem uma visão corporativa da solução com explicação os investimentos, retornos e benefícios; já os desenvolvedores estão interessados na idéia central da implementação da tecnologia. O arquiteto deve entender as necessidades desses vários participantes e alterar o estilo e o conteúdo da articulação de cada interface, na forma adequada.

Cc505970.journal15_cap03_img_01(pt-br,MSDN.10).jpg

Conhecimento do domínio do negócio

É muito importante entender a exposição do problema antes de definir uma solução para o caso. Além disso, é importante conhecer as necessidades não explícitas, como exigências legais e normativas, soluções competitivas, etc. O conhecimento minucioso do negócio não apenas ajuda a definir a solução apropriada: ele também é necessário para entender as necessidades e articular a solução. Para estabelecer um diálogo expressivo com os usuários do negócio e despertar-lhes a confiança, o arquiteto deve usar a terminologia do negócio à qual estão habituados e extrair exemplos desse domínio.

Perspicácia técnica

Esta é uma competência-chave pois os arquitetos são contratados por sua perspicácia técnica. É essencial ter vivenciado as várias tecnologias e plataformas de fornecedores para entender os respectivos pontos fortes e fracos relativos e fazer a melhor escolha para atender às necessidades. Mesmo para uma função "especializada" como a de arquiteto técnico, é desejável ter vivenciado várias ferramentas e plataformas de fornecedores, assim como estar a par das tendências tecnológicas do setor.

Um tema sempre debatido: o arquiteto precisa ter experiência prática em codificação? Desde o momento em que me tornei desenvolvedor, posso estar enganado, mas penso que é muito útil ter experiência anterior em codificação para compreender os possíveis problemas e, também, identificar as soluções para eles. Arquitetos nãohabilidades programadores muitas vezes encontram-se desligados das equipes de desenvolvimento e talvez sejam incapazes de ajudá-las com os problemas tecnológicos. Tal fato poderia afetar gravemente a produtividade da equipe. (Naturalmente, equipes poderão produzir uma boa solução com a ajuda de desenvolvedores seniores).

Habilidades para gerenciar programas/projetos

Por que exige-se de um arquiteto habilidades para gerenciar projetos? Se nos detivermos na análise do que fazem os arquitetos, veremos que é nada mais, nada menos do que gerenciar um projeto ou programa ainda que, em grande medida, do ponto de vista tecnológico. Quase sempre encontram-se fazendo estimativas, escolhendo metodologia de desenvolvimento e planejamento com os gerentes de projeto. Portanto, só faz bem ter experiência ou treinamento em gerenciamento de projeto.

Os arquitetos também precisam orientar as suas equipes a acompanhar um processo e manter a disciplina. Arquitetos devem estar familiarizados com as metodologias de desenvolvimento [como RUP (Rational Unified Process), CMMI (Capability Maturity Model Integrated) e Agile] e metodologias/frameworks arquiteturais (como Zachman e TOGAF (The Open Group Architecture Framework).

Experiência variada

Não se trata apenas dos cabelos brancos. Os arquitetos precisam conhecer projetos de escopo variado e escalar em várias plataformas de tecnologia. O porte do projeto é importante no aprimoramento de suas habilidades arquiteturais. Por exemplo, as considerações arquiteturais de um aplicativo local, pequeno, para um número de usuários limitado, será totalmente diferente daquelas de um aplicativo de grande porte, acessado por grande base de usuários em todo o mundo. Acredito que os aspirantes a arquiteto deveriam, deliberadamente, tentar envolver-se em atribuições que ofereçam ampla gama de experiências em lugar de ficar exercendo atribuições de natureza similar.

Quão importante é o local em que você trabalha?

A natureza da sua organização e os seus serviços, por certo, influenciam o seu desenvolvimento geral como arquiteto. Falando de modo geral, se você estiver trabalhando para uma empresa de serviços de TI com vários clientes, provavelmente estará mais exposto a tecnologias e projetos. Se trabalhar para uma organização de produtos ou plataformas, terá a oportunidade de se especializar em um domínio específico do negócio e conjunto de tecnologias. Se trabalhar para uma organização de usuário final, poderá se envolver em decisões estratégicas e acompanhar, ao longo do tempo, os efeitos de suas decisões. No cômputo geral, empresas de grande porte fornecem mmeainso orpeso rotfuenreidcaedme sm daeis a rceosnpsoenlhsaabmileidnatod,e es.n Pqoura cnetort oq,u cea dasa empresas organização é única e generalizações são, por natureza, universais. Aspirantes a arquitetos deverão avaliar cuidadosamente as oportunidades de carreira disponíveis nas suas organizações e mapear o próprio caminho para o desenvolvimento.

Chegando lá

Como a função de arquiteto ganhou visibilidade nos últimos anos, aumentou o número de aspirantes à essa função.

Educação

Iniciativas têm sido apresentadas para padronizar o currículo para a formação de arquitetos. Por exemplo, a International Association of Software Architects (IASA) definiu uma biblioteca de conhecimentos para arquitetos (http://www.iasahome.org/web/home/skillset), além de currículo e certificações padrão. Da mesma forma, o Software Engineering Institute (SEI) definiu um currículo e programa de treinamento (http://www.sei.cmu.edu/architecture/arch_curriculum.html).

Muitos fornecedores oferecem recursos educacionais para arquitetos. O MSDN Architecture Center da Microsoft é um deles (http:// msdn2.microsoft.com/en-us/architecture/default.aspx). O IBM DeveloperWorks também fornece um site de recursos (http://www- 128.ibm. com/developerworks/architecture/).

Certificações

Existem muitos programas de certificação. O valor dessas certificações é diretamente proporcional ao nível de dificuldade em consegui-las. Como exemplo, os programas Microsoft Certified Architect (MCA) (https://www.microsoft.com/learning/mcp/architect/default.mspx) têm como base uma banca de especialistas que entrevistam arquitetos para avaliar sete competências, sendo o conhecimento da tecnologia apenas uma delas. Embora fornecido pela Microsoft, o MCA é, atualmente, uma certificação independente da tecnologia. O Open Group oferece um programa de certificação similar (http://www.opengroup.org/itac/).

Existem outros programas de certificação baseados no conhecimento da tecnologia e que não envolvem qualquer processo de entrevista. Quase sempre, são programas específicos de tecnologia. Por exemplo, a Sun Microsystems oferece um programa para certificação na tecnologia J2EE (http://www.sun.com/training/certification/java/scea.xml).

Grupos e fóruns

Existem muitos blogs, grupos e fóruns disponíveis para que arquitetos escolham as melhores mentes de colegas arquitetos e relacionem-se com a comunidade arquitetural. Relaciono abaixo alguns dos mais notáveis:

Conclusão

A experiência e as qualidades de liderança formam a base da função de arquiteto. Você também precisa de perspicácia técnica, boas habilidades para comunicar-se e capacidade para gerenciamento de domínio e programa. Existem à disposição, muitas fontes educacionais e certificações. Mentores experimentados são outra fonte importante, já que treinamento, apenas, é insuficiente para o desenvolvimento das muitas capacidades necessárias. Aspirantes a arquitetos devem considerar vários fatores ao fazer escolhas de carreira, de tipos de projetos a acesso a mentores. Arquitetura é uma profissão exigente, mas gratificante: demanda determinação e bom planejamento para o desenvolvimento pleno de suas capacidades e amadurecimento na função.

Sobre o autor

Amit Unde é arquiteto-líder da L&T Infotech. É um arquiteto de soluções certificado pela Microsoft (MCA) e, também, profissional de gerenciamento de projeto qualificado, certificado pela PMA. Sua experiência em arquitetura corporativa, integração e desenvolvimento de aplicativo é superior a dez anos com tecnologia .NET e J2EE. Amit trabalhou com organizações de grande porte dos setores de seguro e manufatura nos Estados Unidos, na Europa e Ásia, implementando programas estratégicos como Definição do roadmap de estratégia de TI, Racionalização de TI, Reengenharia de aplicativos e Implementação de SOA. Trabalha na L&T Infotech's Insurance Solution Office como líder de pensamento da conceitualização de soluções inovadoras para várias questões contemporâneas do negócio, no domínio de seguros.