Precisamos falar sobre qualidade de software

2

O software é um dos produtos mais importantes na nossa era atual. Ninguém vive sem ele. Temos software em locais e situações as mais variadas: dentro dos computadores, dos celulares, em aparelhos médicos, nos aviões, em qualquer ramo da indústria, dentro de robôs, da televisão… Nos nossos dias, o software é um produto imprescindível. E considerando esta realidade, podemos deduzir que qualquer problema ou defeito pode gerar de um simples transtorno até um problema realmente grande. Portanto, a qualidade do software é primordial. Examinemos algumas situações. Você vai retirar dinheiro em um caixa eletrônico, mas há um defeito e o programa não responde. É um contratempo para o cliente, que não conseguiu o que precisava. Já dentro de um avião, um erro de software pode causar até a perda de vidas humanas. Portanto, o cuidado e a atenção com a qualidade são muito importantes. É aí que entra a discussão a que se propõe este artigo: o que define a qualidade de um software?

Uma das primeiras questões é que o software deve atender as necessidades do cliente e suas expectativas – que dependem diretamente da finalidade do produto, para que ele vai servir.  Por exemplo, a minha necessidade no final de semana é levar a família para a chácara. O carro vai bastante carregado – bagagens, pessoas, animais – enfrentar uma estrada de terra. Um veículo esportivo pode me ajudar? Até pode, mas um 4×4 seria muito mais adequado. Ou seja, o carro esportivo não atende essa minha expectativa. Completando a analogia, não adianta um software ter a tela bonita, ser rápido, se ele não atende a expectativa do cliente. E para saber que expectativa é essa, deve-se saber qual o problema que o cliente gostaria de ver resolvido. A qualidade do software tem início, então, no atendimento da expectativa: ele deve cumprir os requisitos do cliente.

Um outro exemplo: vou ao caixa eletrônico para ver o saldo na minha conta e retirar dinheiro. Chego à máquina e vejo o saldo. Neste primeiro momento, o software atendeu minha necessidade. Mas para retirar o dinheiro, levo quase dez minutos na operação. E isso gera um contratempo, a demora. Ou seja, o software atendeu a necessidade (ver saldo e pegar dinheiro), mas houve o transtorno (demora). A lição é que além dos requisitos funcionais (permitir a verificação do saldo em conta corrente e a retirada de dinheiro, neste caso) a equipe de desenvolvimento deve estar atenta também aos requisitos não-funcionais (como estabilidade, segurança, desempenho, velocidade, confiabilidade, etc.), tão importantes quando os funcionais, mas que muitas vezes não são mencionados pelo cliente.

Existem, então, dois pilares para a qualidade do software: atendimento à expectativa do cliente em relação aos requisitos funcionais que ele passa; e atendimento aos requisitos não-funcionais – mesmo que o cliente não fale sobre eles.

Não ter o devido cuidado com esses requisitos não-funcionais é um pecado bastante comum na área de desenvolvimento hoje. Assim, entrega-se uma aplicação mais demorada do que o cliente desejava, ou com a tela difícil de lidar, porque nada disso foi mencionado pelo cliente ou lembrado pela equipe de desenvolvimento.

Para um software ter qualidade, então, é fundamental que o desenvolvimento se dê com pleno conhecimento e transparência tanto dos requisitos funcionais (que problemas do cliente o software deve resolver) quanto dos não-funcionais. Porque, ainda que o cliente não explicite isso ao falar das necessidades que tem e que o software deverá suprir, certamente vai querer segurança, telas claras e intuitivas, estabilidade, rapidez…. Tudo isso se traduz em qualidade. E se não houver, seu cliente vai reclamar, pode ter certeza.

Rosecler Maria Rodrigues, analista de Sistemas da NL Informática.

2 COMENTÁRIOS

  1. Realmente hoje em dia é imprescindível pensar também nos requisitos não funcionais.
    Parabéns, Rose. Excelente texto e excelentes analogias.

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.