Enterprise Architecture: como você gerencia seu portfolio de aplicações?

Olá pessoal, tudo certo?

Essa semana tive um almoço de arquitetura com um grande amigo (super arquiteto Diego). Falamos muitos sobre os desafios presentes na mesa do arquiteto de TI e como os departamentos ou gerências de TI são confrontados por resultados, melhor time-to-market e acima de tudo, alinhamento com o resto da empresa.

Um dos assuntos mais importantes na pauta de um CIO ou Diretor de TI/Arquitetura é o gerenciamento do portfolio de aplicações. Como você gerencia o portfolio de aplicações presentes em sua TI?

Existem diversas maneiras de se fazer esse tipo de gerenciamento e esse post realmente não teria espaço para cobrir todos eles. Mas vale aqui algumas ideias e tópicos de destaque.

Sempre falamos que um dos principais pensamentos de todo CIO é construir ou melhorar o alinhamento entre TI e Negócio. Porém, um grande desafios para essa realização está nos próprios inibidores presentes na TI. Entre eles, o fato de termos um número muito maior de sistemas e aplicações do que as reais necessidades de negócio. Ou seja, passamos a maior parte do tempo inibidos/ocupados com manutenções, operações e evoluções de um número grande de aplicativos, que não suportam as necessidades dos times de negócio. Concorda?

Isso é ilustrado em diversos cenários e indústrias. Por exemplo, alguns bancos possuem entre 3 a 5 portais de comunidades técnicas e repositórios de documentos para seus projetos, quando na verdade apenas um seria suficiente. Essa duplicidade de portais gera manutenções de servidores, migrações, versionamento de páginas, operações duplicada, etc.

Outras empresas possuem ainda versões históricas de seus sistemas de apoio, como CRM’s ou cadastros de negócio que ficaram obsoletos com o tempo. Porém, continuam instalados, operando e exigindo manutenção contínua, devido umas poucas funcionalidades presentes para alguns poucos usuários de negócio.

Qual é o papel da Arquitetura num cenário como esse? Como um time de Arquitetura ou um Arquiteto pode ajudar a empresa a eliminar esse tipo de impedimento na TI?

Em pesquisa recente da Capgemini (https://www.capgemini.com/insights-and-resources/by-publication/application-landscape-report-2011-edition/) confirmamos que uma das principais preocupações dos CIO’s de hoje é a RACIONALIZAÇÃO de aplicações. Esse processo busca otimizar o portfolio de aplicações presentes na TI.

Como fazer uma otimização do portfolio de aplicações?

Existem diversos modelos para abordar o problema, como:

Modelo top-down: modela a arquitetura da organização de cima para baixo, definindo serviços baseados nos modelos de negócio da organização, agrupando serviços em componentes e orientando a implementação desses componentes junto aos times de sistemas e desenvolvimento. Esse modelo exige uma visão ampla sobre as linhas de negócio da empresa, além da definição prévia de processos e modelos de negócio.

Modelo de comando e controle: aqui, o grupo de arquitetura define o portfolio de aplicações que será empregado e orientada a implementação de suas escolhas. Vejo muitas empresas criando grupos de arquitetura baseados nesse modelo, que possuem vantagens e desvantagens. O maior desafio aqui está na correta condução das definições de arquitetura que serão implementadas, além de um bom plano de comunicação com os times de negócio, sobre essas definições. Tanto para o modelo top-down como para o comando e controle, é importante identificar quais capacidades de negócio estão sendo atendidas na arquitetura proposta.

Baseado nos modelos da organização: o gerenciamento do portfolio de aplicações baseado em modelos exige uma rígida disciplina de modelos pré-definidos na organização. Tenho visto poucas empresas com esse mapeamento completo para todas as linhas de negócio, por isso o maior desafio desse tipo de gerenciamento.

Modelo padronizado para a plataforma de tecnologia adotada: esse modelo é muito comum hoje em dia, quando temos um time de arquitetura focado apenas em plataformas e tecnologias presentes no ambiente de TI. Em muitos casos, o resultado é um bom blueprint de arquitetura, padronizado e organizado para os tipos de componentes e sistemas que suportam linhas de negócio. Porém, pode não ser suficiente para uma visão maior de integração de linhas de negócio, podendo ser simplista para cenários multi-plataforma ou ambientes complexos de TI. Também pode pecar na falta de um alinhamento mais alto-nível com as linhas de negócio da empresa.

Modelo baseado na consolidação de aplicações: nesse modelo, o foco é manter um regime de racionalização de aplicações de negócios, buscando sempre a consolidação/merge de aplicações, consolidando tecnologias nas plataformas adotadas. A consolidação de aplicações gera um menor esforço de operação na produção, simplificando o ambiente de TI. Porém, pode não ser a melhor escolha para cenários com linhas de negócio muito diversas, que exigem customizações ou soluções domésticas nativas da indústria.

Com certeza, não será apenas um modelo de gerenciamento de aplicações que irá resolver seu problema. Na verdade, um MIX desses modelos e ainda outras estratégias emergentes irão ajudá-lo na difícil tarefa de RACIONALIZAÇÃO e OTIMIZAÇÃO de seu portfolio de aplicações.

A pergunta final continua sendo: como o time de arquitetura pode ajudar a empresa na otimização da TI?

Cada vez mais, seremos cobrados como arquitetos para devolver resultados para a compania, seja através de redução de custos operacionais, simplificação de arquiteturas e sistemas, melhorias de processos, inovação e geração de novos negócios.

Pense nisso!

Por enquanto é só! Até o próximo post :)

Waldemir.