Necessidade de Qualidade no Software
Para a maioria das organizações atuais, os sistemas de informação são críticos para o negócio, o que faz da qualidade do software um fator de primordial importância por quatro ordens de razões:
Primeiro, uma cada vez maior dependência em relação a sistemas transversalmente integrados e que penetram profundamente todas as funções da organização, quando não são a própria organização, tem por consequência que as funções disponibilizadas pelas aplicações informáticas devem ser confiáveis e sempre disponíveis.
Segundo, a “desintermediação” (utilização direta do software da organização por parte dos clientes), provocada pela generalidade das "nets" e a crescente exigência dos utilizadores – internos ou externos - fruto de uma cada vez maior incapacidade para lidarem com erros aplicativos ou com a consulta e aprendizagem através de qualquer tipo de documentação, coloca uma pressão acrescida sobre os serviços de suporte técnico.
Terceiro, a exigência para a inovação. Os utilizadores esperam que as aplicações informáticas evoluam de uma forma contínua de forma a permanentemente responder às alterações das suas necessidades.
Quarta, a pressão dos custos e a incapacidade para flexibilizar e ajustar as competências internas, tem originado uma perda de qualidade dos departamentos internos de desenvolvimento, muitas vezes assoberbados pela necessidade de manter sistemas antigos e complexos.
Acresce que, o pendor excessivamente tecnológico e, em muitos casos, a dependência da estratégia dos fornecedores, ainda presente em alguns departamentos de SI/TI, conduz ao agravar da situação, contribuindo para o acelerar da substituição tecnológica e tornando obsoleto o conhecimento interno, antes que as organizações possam tirar rendimento das anteriores tecnologias, agora supostamente inadequadas.
Neste contexto, a criticidade que as questões da qualidade assumem, é incompatível com o paradigma vigente em que, cabe a departamentos de qualidade, colocados no final do ciclo de vida do desenvolvimento, testar os sistemas e aplicações desenvolvidas, mais com a preocupação de precaver problemas no ambiente de produção, no âmbito do processo de gestão de alterações, do que garantir a conformidade do novo software face aos requisitos – funcionais e não funcionais.
Apesar de este ser um problema amplamente discutido e da maioria das organizações reconhecer a necessidade de dispor de um processo de qualidade de SI transversal. O que na prática se constata é que os processos implementados tendem a não abordar as questões da qualidade de uma forma estruturada a qual, durante o levantamento de requisitos, tenha como objectivo a elaboração de um modelo de qualidade, específico do sistema a desenvolver, e adequado às expectativas da totalidade das partes interessadas.
Nesta perspetiva, dedicaremos os próximos artigos à apresentação de um processo de qualidade transversal, integrando qualidade de processo e de produto, em que esta última é abordada de acordo com as normas, ISO/IEC 14598 – Processo de Qualidade – e 9126 – Modelo de Qualidade e Proposta de Métricas – as quais preconizam, a implementação de um processo constituído por quatro etapas – Estabelecer os requisitos de avaliação; Especificar a Avaliação; Projectar a Avaliação e Executar a avaliação.
O modelo em causa trata a qualidade como um atributo que está relacionado com a utilização final do produto a desenvolver, dispondo de metodologias que permitem definir o conjunto de características e sub-características relevantes num determinado contexto de uso, para cada uma das partes interessadas, fazendo a sua avaliação, à luz de um conjunto de métricas, previamente definidas e comummente aceites.
A implementação de um modelo deste género garante, que as questões de qualidade do produto estão presentes, desde o início do processo de desenvolvimento e que os testes e validações faseados, não são deixados ao critério, mais ou menos discricionário, do técnico desenvolvedor. Para além disso, do envolvimento explícito de todos os interessados, e do tratamento das suas expectativas, segundo uma visão estruturada e de conjunto, resultará um produto melhor, mais equilibrado, com menor necessidade de correções e reformulações ao longo do processo de desenvolvimento e uma esperança de vida mais longa.
Um sistema de qualidade deste tipo permitirá, o estabelecimento de um processo de desenvolvimento a duas velocidades em que, só um grupo restrito de aplicações muito críticas passará pelo ambiente de qualidade, sem um aumento do risco inerente à implementação de novo software evolutivo ou corretivo em ambiente de produção. No extremo, as organizações poderiam mesmo prescindir do ambiente de qualidade com evidentes vantagens em termos de custo e tempo.
Sobre este tema consulte também os seguintes artigos:
Sobre este tema consulte também os seguintes artigos: