Nas últimas décadas, muitas organizações de TI (tecnologias de informação) investiram seriamente na implementação das infra-estruturas e das ferramentas necessárias para aumentar a qualidade de software durante a fase de desenvolvimento. Como mostra a figura, a implementação de um "Ecossistema da Qualidade" é um passo chave para a melhoria da fiabilidade e para a redução dos custos relacionados com a qualidade.
No entanto, como muitas organizações de TI acabaram por descobrir - frequentemente às próprias custas - as tecnologias avançadas, como o J2EE, .NET e Web Services, disponibilizam as suas reais vantagens quando são impostos standards e boas práticas ao longo de todo o ciclo de vida das aplicações. Os programas de garantia da qualidade da arquitectura e do código são factores chave que garantem a fiabilidade das aplicações, a agilidade das TI e o mais baixo TCO (custo total de posse) das aplicações ao longo do tempo.
Como resultado, cada vez mais organizações de TI estão a investir em recursos para medir e controlar activamente a qualidade da arquitectura e do código das suas aplicações durante o desenvolvimento, antes da entrada em produção e durante a fase de manutenção.
Actualmente, a maior parte das análises de arquitectura e de código ainda são realizadas manualmente e de forma aleatória por líderes de equipas ou por um equipa dedicada à garantia da qualidade. Devido ao elevado custo inerente à análise manual de cada linha de código, os programas só são analisados de forma aleatória, através de secções que servem como amostras das aplicações. Não é analisada a totalidade do código.
Apesar desta abordagem disponibilizar um equilíbrio "suficientemente bom" entre a cobertura e o custo para os ambientes mainframe, é muito menos aceitável para os sistemas distribuídops e multi-tier. Por exemplo, o desenvolvimento bem sucedido de aplicações J2EE requer frequentemente a implementação de uma framework Java e o controlo da sua implementação estrita por todos os membros da equipa representa um verdadeiro desafio quando é realizado manualmente.
A amostragem de código manual também é insuficiente quando existem defeitos de programação recorrentes em toda a aplicação. Só uma solução automatizada consegue verificar toda a aplicação para detectar todos os problemas, listando cada ocorrência para assegurar a completa resolução dos mesmos.
À medida que as aplicações avançam para a fase de manutenção, a tendência costuma ir no sentido de considerar os standards e as melhores práticas como algo supérfluo. Na realidade, o controlo manual das alterações do código, ou a geração de métricas de qualidade e de painéis de controlo relativos à capacidade de manutenção são aspectos difíceis e caros.
Infelizmente, os ordenados dos membros das equipas de manutenção das aplicações são elevados e verifica-se frequentemente a falta de conhecimento sobre a aplicação, a adopção insuficiente de standards de programação e a falta de controlo automatizado. Neste contexto, os problemas relacionados com a qualidade do software acabam por vir à com o tempo, repercutindo-se na satisfação dos utilizadores e no aumento dos custos de manutenção.
Auditorias de qualidade automatizadas
As soluções de inteligência aplicacional fornecem "inteligência de garantia da qualidade" durante o ciclo de vida das aplicações, graças a análises regulares e extensivas à arquitectura e ao código. Estas análises são realizadas por quem desenvolve, pelo seu gestor de equipa, ou por especialistas em garantia da qualidade. Esta mesma tecnologia pode ser utilizada quando uma nova aplicação está a ser submetida à aceitação técnica, sobretudo quando o trabalho de desenvolvimento foi realizado por terceiros. O controlo da qualidade das aplicações durante a fase de manutenção, sobretudo quando se trata de sistemas que são modificados com bastante frequência, também ajuda a conter os custos.
As soluções de application intelligence verificam a totalidade da aplicação ao longo de todos os tiers para produzirem uma avaliação objectiva e relatórios detalhados das excepções. Estas avaliações e relatórios listam todos os standards e todas as regras que foram infringidos. Tal como um filtro concebido para apanhar partículas flutuantes num líquido, as soluções de inteligência aplicacional podem processar automaticamente a totalidade do código base e identificar qualquer defeito específico no código.
Uma vez que a inteligência aplicacional se destina a suportar qualquer ambiente e qualquer linguagem, o "motor de detecção de regras de qualidade" pode ser facilmente programado para verificar regras específicas e boas práticas relacionadas com uma data tecnologia. De igual modo, a verificação exaustiva do código fonte permite a medição de atributos de qualidade específicos, como os índices de capacidade de manutenção e de complexidade necessários para suportar iniciativas de qualidade como o CMMI e a ISO 9126-3.
Como se pode verificar pela figura, a inteligência aplicacional é o mecanismo que faz com que a garantia da qualidade deixe de ser um centro de custos para se tornar numa forma de redução de custos, contribuindo ao mesmo tempo para o aumento da satisfação dos utilizadores.
Os standards de software e as boas práticas permitem poupar dinheiro, sobretudo quando são implementados de forma completa, automatizada e atempada no ciclo de desenvolvimento. As soluções de inteligência aplicacional respondem directamente a estes aspectos chave, aumentando o valor global das iniciativas de garantia da qualidade.
Baseado num documento publicado pela Cast com o título "Information Series on Application Management".
Produzido em 2005