terça-feira, 26 de junho de 2012

Processo de Arquitetura em TI

Estava revisitando os artigos do Peter Eeles sobre Arquitetura de Software, quando percebi que meu ex-professor Zé Luis escreveu um post sobre o livro “The Process of Software Architecting”. Não cheguei a ler esse livro mas, por ter lido vários dos posts do autor, acredito que o conteúdo do livro seja de excelente qualidade.

E o post do professor me incentivou a expor minhas impressões sobre o “Processo de Arquitetura em TI”. Abaixo, faço isso através de várias referências, principalmente para os posts do Peter Eeles.

Como o professor cita, a arquitetura, no escopo de engenharia de software, é um tema recente, buscando amadurecimento. Um exemplo da falta de amadurecimento é a confusão de termos. Quando falamos em “Arquitetura de Software”, a que estamos nos referindo? Peter Eeles explora um pouco isso no artigo “What is a software architecture?”.

Na fase de formação acadêmica, não há uma visão clara do tema, é difícil vislumbrar uma carreira de arquiteto, e fica muito à cargo dos professores de engenharia de software o grau de abordagem do assunto. Por outro lado, dentro das empresas, também não é comum uma preocupação em formar um profissional para assumir as responsabilidades de um arquiteto de software. Não é muito difícil perceber isso, pois o preenchimento de vagas de arquiteto são demorados. É claro que as pessoas possuem inclinações para diferentes perfis de atuação. Em “Characteristics of a software architect”, o autor parece descrever um super herói da engenharia de software. Mas, claro que não é isso, a questão é que são requeridas experiências, vivências. E poucos analistas ou desenvolvedores irão passar por tanta variedade de experiências. Alguns vão buscar por isso, mas a grande maioria não irá traçar isso como objetivo de carreira, pois é uma carreira técnica, e provavelmente assim será por um período bem maior do que aqueles que buscam um caminho de gestão. E isso não é muito claro. Ou seja, a carreira de um arquiteto de software não é bem planejada. E a busca por esta evolução não se limita à arquitetura que é parte de um todo que é a engenharia de software. Um grupo de renomados autores está buscando uma definição comum (tanto para academia como para o mercado) para a disciplina de engenharia de software num trabalho chamado SEMAT.

Mas, voltando à arquitetura, a sua importância já está bem mais clara. As empresas já estão conscientes da importância em se ter um time de arquitetura. Se não é o caso de sua empresa, veja em “The benefits of software architecting” alguns motivadores para promover mudanças. Algumas empresas estão um passo adiante, perceberam a importância de se ter um processo de arquitetura corporativa ou, como alguns preferem dizer, um framework de arquitetura corporativa. Neste escopo maior, a visão vai bem além da construção de um software, direcionando a objetiva para as áreas de negócio e mantendo o processo de arquitetura “vivo”.

Esta evolução do processo de arquitetura está vivendo um momento interessante no Brasil. Cada vez mais o mercado está se habituando a lidar com o tema. Recentemente, aconteceu o evento “The Open Group Brazil Conference”. Foi a primeira conferência do “The Open Group” no Brasil abordando a Arquitetura Corporativa (ou Enterprise Architecture). No caso, mais especificamente do framework TOGAF que é mantido pela instituição. No final de 2011, foi promovido um workshop na sede da Serasa/Experian, onde foram compartilhadas as visões e importância de se customizar um processo/framework de Arquitetura Corporativa. Esta customização precisa definir papéis, responsabilidades, entregáveis, roadmaps de evolução e ciclo de governança. É uma máquina em constante funcionamento, recebendo os insumos de TI e de negócio, produzindo resultados de forma controlada e se retroalimentando deles.

Para finalizar, vale a pena dar uma lida no post do Silvio Meira sobre uma pane nos sistemas do RBS (Royal Bank of Scotland). Reparem nas palavras-chave do post que estão diretamente relacionadas aos requisitos arquiteturais que são a essência de uma arquitetura.

Dica: vale a pena conferir a comunidade PANGEA que discute Arquitetura de Software nos mais diversos níveis.