O papel do Arquiteto...

Comments
arquitetura
22 May 2008

De uns tempos pra cá venho percebendo que o papel do "Arquiteto de Software" tá na boca do povo e em muitos lugares as pessoas falam, falam e falam a respeito do que esse fulano deveria fazer e/ou não fazer. Hoje recebi o último Architecture Journal que fala apenas a respeito deste papel dentro das empresas e do processo de desenvolvimento e manutenção de sistemas e como estou cada vez mais assumindo esse título decidi tentar colocar resumidamente o que eu penso a respeito desta importante figura.

Na realidade, eu não gosto muito do título, pois por toda minha vida profissional (que não é tããããão longa assim) eu acreditei que esse cara era o guru da sapiência e que ele nunca ficaria sem respostas a qualquer pergunta que fosse feita. Então, soa como uma responsabilidade muitooooo grande (e é mesmo) pra um desenvolvedor de apenas 21 anos como eu. De fato, deveria ser assim, mas é humanamente impossível ser ao mesmo tempo generalista e especialista em todas as áreas. Isso me frustrou um pouco, mas ao mesmo tempo, por outro lado abriu minha cabeça e me fez reconhecer que existem diversos tipos de arquitetos, cada um na sua. E que existem pessoas, mesmo sem carregar o título, que também fazem arquitetura em um momento ou outro de um projeto. É baseado em conhecimento próprio e utilizando o conhecimento dos membros da equipe que o arquiteto deve trabalhar.

Inicialmente, dentro da área de software (imaginando que infra-estrutura não exista) eu identifico dois principais arquitetos: Arquiteto de Soluções ou Corporativo e Arquiteto de Sistemas. O primeiro deles define quais tecnologias, metodologias e ambientes serão utilizados para os sistemas da empresa e procura manter todos os sistemas seguindo essas linhas agindo de forma incisiva nas fronteiras entre implementação e processos de negócio sem dar muita atenção nos detalhes técnicos de cada sistema.

Já o segundo, que é onde eu me encaixo por trabalhar em consultoria atendendo a diversos clientes, é o cara que dado um projeto deve atuar em todas as etapas da construção do sistema. Desde levantamentos inicias, passando por implementação e até roll-out em produção. Além das habilidades técnicas que são imprescendiveis nesse papel e isso ninguém pode negar, o arquiteto deve ser um cara balanceado pra atuar como um mediador entre todos os stakeholders do projeto. Em um projeto com papéis bem definidos, a tendência é que cada um cuide das apenas das suas responsabilidades. Isso é bom, pois cada especialista atua onde mais conhece, mas se não houver cuidado, pode fazer com que os principios inicialmente definidos não sejam seguidos. É ai onde o arquiteto deve entrar pra fazer com que todas as diretivas sejam seguidas. Isso exige liderança, habilidades em negociação e muitas vezes pulso forte pra suportar caras feias que aparecem quando uma decisão não agrada a todos.

No âmbito técnico, além de definir um modelo a ser seguido para implementação, ele deve atuar junto a equipe de análise nas etapas de modelagem a fim de entender do negócio para que seja possível escolher as tecnologias que melhor se encaixam no domínio de negócio. Uma vez modelado o domínio de negócio e tendo as tecnologias definidas, ele deve atuar junto a equipe de desenvolvimento guiando a implementação e removendo possíveis roadblocks. Sempre que houver um conflito técnico, ele deve atuar em prol do projeto para decidir a questão independente de chateação ou não por parte dos membros da equipe.

E pra finalizar, deve conhecer metodologia e processos de desenvolvimento a fim de tornar o planejamento e execução dos projetos mais baratos e acertivos.

Dava pra ficar enumerando a respeito das skills e habilidades que um arquiteto deve ter, mas em resumo acho que isso é o principal. O importante é ter em mente que não importa o quanto estudemos nunca vamos chegar no que eu imaginava que existia: arquitetos-sabe-tudo.

Ao longo dos dias vou procurar postar entries nessa categoria pra ir complementando os pensamentos e ai, quem sabe um dia, eu formato tudo num grande apinhado de informações! ehehehe...

Soçarba


<< E quem disse que o WCF não tem limite?
Adoção de Scrum>> 
comments powered by Disqus
tucaz

tucaz

.NET Software Developer
About
All Posts
RSS
@tucaz
GitHub