Marco Mendes´s Blog

Artigos, Comentários e Opiniões sobre Engenharia de Software, SOA e Tecnologias Java

Quem é o arquiteto de Software?

O arquiteto de sistemas é ainda um papel recente na comunidade Brasileira de software. Por consequência, muita confusão ainda existe sobre o que este papel realiza dentro de um desenvolvimento de software. Diferentemente do senso comum, um arquiteto não é um desenvolvedor sênior que evoluiu em sua carreira. Um desenvolvedor é especialista e tático. Um arquiteto de sistemas é um generalista em sua essência e primordialmente estratégico. Isso não significa, entretanto, que o arquiteto vive em uma torre de marfim, criando decisões desconectadas da realidade. Um arquiteto deve trabalhar em intensa e forte colaboração com a equipe, apoiando o time na investigação dos pontos de relevância técnica de um projeto. Um arquiteto deve atuar como um coach, realizando a identificação dos mecanismos arquiteturais relevantes, motivando o time para a investigação e resolução destes mecanismos e apoiando o time do início ao fim do projeto.

Um arquiteto deve possuir as seguintes características:

  • Possuir liderança técnica
  • Ser hábil negociador
  • Possuir conhecimentos de desenho e programação
  • Possuir Conhecimentos do domínio da aplicação
  • Ser capaz de tomar decisões e conduzir times de projetos.

Um arquiteto de sistemas deve conhecer também outras disciplinas (ex: Gerência de Projetos) ou domínios (Hardware, Dados ou Segurança), além da pura implementação J2EE ou .NET.

Podemos definir os macro-conhecimentos técnicos de um arquiteto de sistemas nos seguintes domínios:

Arquiteto de Software - Apoio no desenvolvimento de softwares em tecnologias como J2EE, .NET ou CORBA. Um arquiteto de software é responsável pela arquitetura executável que suporte os requisitos não-funcionais de um sistema bem como os requisitos funcionais mais críticos.
Arquiteto de Hardware e Redes - Apoio na definição de topologias físicas de redes e máquinas, operação destas máquinas e manutenção de acordos de níveis de serviço - SLAs .
Arquiteto de Comunicação/Dados - Apoio nos processos de comunicação e troca de informações tais como EDI, EAI, B2C, B2B, SOA e ESB, entre outros padrões.
Arquiteto de Segurança - Apoio nos procesos de segurança, tais como autenticação, autorização, transporte, single sign-on, criptografia, entre outros.
Arquiteto de Processos - Apoio na definição e estruturação de processos de negócio em BPEL e na coreografia de processos de negócios em ambientes SOA/ESB.
Além disso, um arquiteto também deve possuir excelente capacidade de conduzir debates e realizar comparações entre as arquiteturas candidatas dos problemas do dia a dia. A paciência e a capacidade de apoiar os times de projetos também é muito bem-vinda dentro do perfil de um arquiteto, como ressaltado anteriormente.

Dada a dificuldade e grande desta tarefa, é muito comum que empresas formem o que chamamos de time de arquitetura, composta por um conjunto de pessoas com bom domínio de cada um dos itens acima e excelente capacidade de conduzir discussões e realizar apoio ao times de projetos.

O time de arquitetura ou arquiteto é peça fundamental para a garantia de sucesso de projetos, e tem como principais atividades:

  • Identificação, análise, mitigação e contigência de riscos técnicos;
  • Definição, coordenação e execução das estratégias técnicas do projetos;
  • Treinamento e acompanhamento da equipe nos mecanismos arquiteturais definidos (ex: Políticas de Single Sign-On, Frameworks J2EE ou uso de protocolos como IIOP ou RMI);
  • Garantia que projetos sejam repassados para operações sem maiores contratempos.
  • Coletamos também um conjunto de artigos onde autores de renome descrevem o que é o arquiteto de software e o que não é o arquiteto de software.

Quem é o arquiteto de software?
http://www.bredemeyer.com/who.htm

Quem precisa de um arquiteto?
http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf

O papel do arquiteto de software.
http://www-128.ibm.com/developerworks/rational/library/mar06/eeles/index.html



 | Enviar por e-mail  | Hits para esta publicação: 1013

Uma resposta para “ Quem é o arquiteto de Software? ”

  1. […] Quem é o arquiteto de software?, por Marco Aurélio Mendes, 9 de outubro de 2006. […]

Deixe uma resposta.