Qualidade de software: como avaliar e usar a seu favor

O sistema que sua empresa usa para cuidar de funções muito importantes da gestão do negócio já deixou sua equipe na mão? Tudo travou, clientes passaram a reclamar, a cancelar pedidos ou sua produção deixou de dar conta das demandas por que um bug apareceu no software? Se as respostas a essas questões for “sim” é bom você passar a dar mais atenção à avaliação de qualidade de software.

Antes de tudo, porém, alguns avisos importantes:

  • Qualidade é um conceito que pode ser influenciado por questões ou gostos pessoais;
  • Ninguém está imune a falhas – muito menos os softwares.

A partir dessas duas afirmações, como avaliar a qualidade de um produto de software sem que a subjetividade prevaleça e sem punir o resultado de uma equipe de desenvolvedores que, um dia, deu problema?

Ao longo desse artigo, vamos discorrer sobre essa avaliação, bem como a importância de avaliar a qualidade de seu sistema antes de colocá-lo para gerenciar seus negócios. Confira!

Por que é importante avaliar a qualidade de software?

Em um mercado cada vez mais competitivo e com uma demanda crescente por tecnologia, qualidade é requisito básico para qualquer empresa que desenvolva esses produtos que deseje se manter em um nível de competitividade.

Qualidade (excelente, diga-se) garante que o produto oferecido ao cliente não vai deixá-lo em problemas em caso de uma falha. Qualidade significa entender que isso pode acontecer e que o produto tem condições de ser corrigido ou alterado de forma simples, talvez até automatizada, retornando às suas funções em pouco tempo.

Qualidade não significa ser perfeito, mas uma preocupação em chegar perto disso.

De fato, quanto mais longe de um padrão de qualidade, mais próximo de problemas no mercado.

Sem qualidade suficiente, com muitas falhas e pouca atenção, cria-se um círculo vicioso. E o cliente talvez seja o que mais vai sentir os impactos disso.

E por mais que o cliente deva fazer parte do desenvolvimento de um produto de software, observando se suas necessidades explícitas e implícitas estão sendo atendidas, ainda se corre o risco de algum bug.

O que contribui para evitar esses problemas na fase de desenvolvimento é recorrer aos aprendizados passados com essas e outras falhas.

Em outras palavras: a avaliação de software deve ser um processo recorrente, contínuo. E deve ser muito bem documentado.

É essa documentação nos casos de problemas que irão ajudar clientes e desenvolvedores a entenderem mais quais soluções possíveis podem ser feitas. Ou até mesmo qual a frequência de falhas daquele produto.

Isso sem contar que essas avaliações de qualidade contribuem, ainda, para a evolução do próprio software.

O que você precisa avaliar para garantir a qualidade do software?

São vários os critérios ou indicadores que servem ao propósito de avaliar a qualidade de um software. Vale sempre lembrar que, ao definir esses aspectos, convém sempre ter em mente as necessidades do cliente.

É que dependendo do problema ao qual o software se destina, um ou outro indicador ganha mais peso.

Outra observação que vale a pena é levantar indicadores que não fazem parte do software em si, mas que são afetados pelo mau funcionamento deste.

Um exemplo simples é a quantidade de vendas perdidas pelo cliente durante o tempo de uma falha. Ou o aumento do nível de insatisfação do cliente a partir da experiência dele ao usar o software.

Essas métricas ajudam a dar uma visão mais concreta do que uma falha pode trazer de prejuízo.

E o que mais levar em conta? Aqui vão alguns critérios que ajudam a colocar a subjetividade de lado:

Funcionalidade

É um indicador básico: o produto atende às necessidades explícitas (finalidade) e implícitas do cliente (como ser seguro)? Um produto de software que é bom nesse quesito gera resultados conforme o estipulado, corretos e a que se destina.

Confiabilidade

Os resultados devem ser confiáveis, caso contrário, para quê usar o software? Mas existem falhas, não? Sim, e a frequência baixa de falhas pode ser entendida como um sinal de confiabilidade, bem como a reação, digamos assim, que o software tem após uma ocorrência dessa natureza. Ele trava definitivamente? Consegue recuperar dados?

Usabilidade

Aqui entra em cena a avaliação se o software é amigável para quem vai operá-lo. Se é intuitivo. Muitas vezes, o problema pode estar na peça entre o encosto da cadeira e o teclado. Sim, às vezes a falha é causada involuntariamente pelo usuário que, talvez não tenha sido bem treinado para usar a ferramenta ou que não tenha entendido alguns conceitos do programa. Em outras palavras: pessoas e software falam a mesma língua para se entenderem? Esse critério afeta muito a experiência do usuário.

Eficiência

O software demanda mais do que entrega? Saber se os recursos de que ele necessita são suficientes para que ele execute bem a função é muito importante. Assim como a usabilidade, este também tem um impacto forte na UX. No entanto, é sempre bom lembrar que parte dessa eficiência depende de alguns fatores externos.

Por exemplo: será que há espaço de memória para o software rodar em um computador? Qual é a capacidade de processamento da máquina? De nada adianta cobrar eficiência, no caso, rapidez, se a pessoa ainda usa o bom e (muito) velho 486.

Manutenibilidade

Pela palavra é fácil perceber do que se trata este critério: manutenção. Para ser bom nesse aspecto, o produto de software precisa permitir algumas ações. A primeira é óbvia: encontrar o problema. É fácil encontrar? Ótimo, ponto positivo.

E depois? Precisamos de mais facilidades da parte do software. É preciso ser fácil consertar o problema, seja alterando algo ou fazendo uma atualização. É importante, também, que o software não sofra danos durante uma possível modificação e que apresente o funcionamento correto depois.

Portabilidade

Ele é amigável para além da relação com pessoas? Quer dizer, o software em questão pode ser usado ou rodado em várias plataformas, mesmo que para isso seja preciso mudar pouquíssimas coisas?

Se sim, ponto positivo. Isso porque alguns são dependentes de uma única plataforma e não se comunicam bem, ou melhor, não interagem ou se integram com outros softwares ou sistemas que provêm uma empresa de informações importantes.

Talvez, mais do que portabilidade seria “comportabilidade”: como ele se comporta em outras plataformas e interagindo com outros “amigos”?

Quais os benefícios de avaliar a qualidade de um software?

Vimos que realizar essa tarefa de forma recorrente auxilia a reduzir o número de falhas e, a reboque, problemas com o relacionamento com o cliente e com o relacionamento do cliente com os clientes dele.

Repassando e aumentando a lista temos:

  • Contribui para o aprendizado do time de desenvolvedores (aprender com os erros)
  • Permite oferecer um produto de melhor qualidade em um mercado altamente competitivo e dependente de tecnologia;
  • Seguindo os critérios mencionados, a avaliação é mais objetiva e menos subjetiva – o que pode ajudar nas estratégias de vendas;
  • Melhora a experiência do usuário

Depois dos benefícios que a avaliação de qualidade de software oferece, torna-se clara a razão pela qual ela se faz necessária.

A busca contínua pela qualidade de software é um fator decisivo para a sobrevivência das empresas em um mercado cada vez mais exigente e globalizado.

Qual é a experiência que sua empresa quer levar para seu cliente?

Aliás, falando em cliente, que tal dar uma olhadinha sobre o conceito Customer Centric para aprofundar sua jornada do consumidor.