Uma técnica universal para melhorar a qualidade do software

Todos desejam melhorar ao máximo a qualidade do software, desde que isso não atrase a entrega de novas funcionalidades.

Acontece que existe uma única técnica que pode melhorar drasticamente a qualidade do desenvolvimento de software. Neste artigo, você aprenderá dois fundamentos principais:

  1. O conhecimento do tamanho do software ajuda a melhorar a qualidade do software
  2. O processo de dimensionamento de software ajuda a melhorar a qualidade do software
  3. Esta técnica pode encontrar e ajudar a eliminar 7-10% de todos os defeitos antes da codificação.

Vamos começar com alguns fundamentos sobre desenvolvimento de software. Todo software possui defeitos (bugs). Os bugs podem ser causados por codificação inadequada ou por outra coisa. Talvez tenhamos entendido mal os requisitos, talvez tenhamos entendido mal os requisitos, talvez tenhamos esquecido alguns requisitos importantes.

Muitas vezes, os requisitos são a causa raiz dos bugs de software. Mas raramente perdemos tempo analisando a qualidade dos requisitos. Por que? É importante, mas raramente urgente. A revisão e o refinamento dos requisitos quase nunca são considerados uma atividade crítica em um plano de projeto. Tenho visto alguns requisitos muito ruins sendo usados “apenas para que os desenvolvedores possam começar”. Mas este é um processo ineficiente e levará a atrasos e retrabalhos desnecessários e significativos.

Melhore a qualidade do software conhecendo o tamanho

Se você já trabalhou com dimensionamento de software antes, também saberá que o potencial de defeito (o número provável de defeitos/erros) nos requisitos é previsível. Esse único conhecimento pode orientá-lo para ser mais eficiente. Ele pode informá-lo para introduzir apenas a quantidade ideal de esforço na qualidade dos requisitos antes da codificação, removendo bugs de requisitos, antes do início da codificação.

Exemplo

Hoje em dia um carro típico possui cerca de 5 milhões de linhas de código. A partir de dados históricos, sabemos que isso provavelmente equivalerá a cerca de 100.000 pontos de função (medida ISO do tamanho do software). Também a partir de dados históricos sabemos que existe (em média) um potencial de defeito de 0,7 – 1,0 defeitos de requisitos por ponto de função. Portanto, haverá (terão) 100.000 defeitos de requisitos. Se você monitorar o número de defeitos encontrados e removidos, poderá determinar aproximadamente quantos ainda restam. Além disso, se você realizar revisões e exames de requisitos para encontrar e corrigir defeitos de requisitos antecipadamente, reduzirá os defeitos de requisitos que são transportados quando a codificação é iniciada.

Saber quantos defeitos existem potencialmente informa quanto trabalho você precisa fazer para removê-los. Se você otimizar seu trabalho de controle de qualidade (requisitos) visando (não 100%, mas) remoção de defeitos 95%, você estará no caminho certo para uma entrega enxuta e eficiente.

Por exemplo, se você usar o ScopeMaster para examinar e testar seus requisitos antes da codificação, provavelmente poderá encontrar cerca de 50.000 desses defeitos (50%) e evitar que cheguem aos desenvolvedores.  Imagine quão mais eficientes seriam seus desenvolvedores se começassem com requisitos que tivessem menos defeitos 50%?

Métricas de qualidade válidas a partir do conhecimento do tamanho do software

Nota CFP = Pontos de Função COSMIC

Melhore a qualidade do software com dimensionamento funcional

Melhorando a qualidade com o processo de dimensionamento

O processo de dimensionamento funcional formal é ideal para esclarecer a intenção funcional, ou seja, ambigüidades. Ocasionalmente, termos diferentes são usados, mas na verdade significam a mesma coisa. Ao examinar os usuários funcionais e os tipos de objetos que estão sendo manipulados pelos usuários em um conjunto de requisitos, você pode identificar facilmente inconsistências. Se duas funções executam a mesma ação em um objeto, você pode ter um duplicado requerimento. Se você tem um objeto que deveria ser totalmente mantido pelo seu software, mas seus requisitos não possuem uma função crítica de manutenção de dados, você pode muito bem ter um requisito ausente.  Se um requisito envolve muitas etapas funcionais, pode ser muito complicado de codificar, pode precisar de simplificação, podemos considerar isso um defeito de complexidade.  Coletivamente, essas cinco categorias de defeitos de requisitos representam cerca de 40% de todos os defeitos potenciais.Esses defeitos provavelmente serão expostos por processo de dimensionamento funcional. O dimensionamento manual de requisitos é, portanto, uma atividade de controle de qualidade eficiente e válida. O dimensionamento automatizado de requisitos com o ScopeMaster é ainda mais eficaz e completo. Ele detectará e relatará esses defeitos de forma mais rápida e completa do que os humanos poderiam conseguir manualmente.

Conclusão

Mostramos neste artigo que tanto o conhecimento do tamanho funcional quanto o processo de dimensionamento melhorarão drasticamente a qualidade do software. Especificamente, 7-10% de todos os bugs de software podem ser removidos através do processo (automatizado) de dimensionamento de software. Então, o conhecimento do dimensionamento pode ajudar a otimizar as atividades de controle de qualidade para ajudar a remover os bugs restantes.