Muitos profissionais da nossa área têm dificuldades em definir qualidade de software devido à quantidade de aspectos que precisam ser considerados para avaliar se um software possui ou não qualidade. Apesar do processo de avaliação da qualidade ser amplo e complexo, a definição de qualidade de software é simples de ser compreendida.
Para avaliar a qualidade de um computador, avaliamos separadamente a qualidade de seus componentes, como vídeo, som, capacidade de processamento e quantidade de memória. A qualidade do computador pode ser considerada uma média das avaliações individuais de seus componentes. No software, a mesma idéia pode ser aplicada, porém, ao invés de olharmos para os componentes que o formam devemos olhar para como ele atende aos seus stakeholders: o cliente que paga pelo software, o usuário que trabalha diretamente com o software no seu dia-a-dia e o fornecedor que constrói ou mantém o software.
Um software que atende ao cliente é aquele que atende ao objetivo para o qual ele foi construído (atender ao objetivo é mais importante do que respeitar o escopo inicial). Outro fator importante é fazer com que o software seja construído de forma a preservar o investimento do cliente, ou seja, fazer com que o trabalho de mapeamento do domínio e de seus processos não se perca quando uma tecnologia específica precisar ser substituída (a camada de apresentação, por exemplo).
Um software que atende ao usuário é aquele que resolve os principais problemas do seu dia-a-dia de forma simples e objetiva e usa como base da comunicação a linguagem que o usuário domina: A linguagem de seu domínio.
Um software que atende ao fornecedor é aquele que visa não só a construção rápida do projeto, mas também práticas de engenharia e testes que possibilitem à equipe responsável pela manutenção do sistema tenham total autonomia na execução de suas tarefas. Usar práticas que facilitem a manutenção do software é fazer com que o investimento do cliente dure ao máximo, e todo profissional da área tem a responsabilidade de construir softwares pensando na próxima pessoa que irá manter o projeto.
Um software de qualidade é a base para um bom relacionamento com o cliente, com os usuários e com as equipes de desenvolvimento. Um software que não atende aos três stakeholders terá uma vida curta e será responsável por muitas dores de cabeça.
Cada área de estudo citada aqui direta ou indiretamente possui métodos e processos específicos para garantia da qualidade. É dever de todo profissional de desenvolvimento conhecer essas técnicas e utilizá-las da melhor forma possível visando obter um bom resultado ao final da jornada de desenvolvimento.
Abraços!
[Crédito da Imagem: Qualidade de Software – ShutterStock]
You must be logged in to post a comment.