Aqui estão alguns insights sobre o valor de encontrar defeitos de requisitos  antes do design ou codificação.

Para uma equipe de desenvolvimento de software é muito valioso encontrar defeitos antecipadamente. Melhor ainda, é prevenir completamente os defeitos. Requisitos excelentes são uma forma eficaz de prevenção de defeitos e prevenção de retrabalho. Um requisito ambíguo pode levar a um desperdício substancial de esforço.

Os defeitos surgem antes do início da codificação

Refinamento de requisitos de software – encontrando defeitos de requisitos antecipadamenteOs defeitos surgem nos requisitos e na arquitetura antes mesmo de a codificação começar. Imaginemos que estamos num negócio de seguros e os empresários decidiram que é necessário um sistema novo (ou alterado). Eles se propõem a descrever o que desejam e repassar para a TI fazer uma estimativa. Tais requisitos são frequentemente escritos como histórias de usuários, normalmente isso é feito em um formato consistente: “Como um “….”Eu preciso “…. "para que" …

Assim que a caneta é colocada no papel, aparecem ambiguidades e omissões, é inevitável. Esses erros nos requisitos escritos (se não forem descobertos) podem levar a um retrabalho dispendioso posteriormente no projeto. O custo de tais defeitos não é trivial, o Reino Unido deverá perder £ 37 bilhões em projetos de TI (Ágeis) fracassados (referência). Para evitar estes custos evitáveis, precisamos de garantir que os requisitos são tão inequívocos e tão completos quanto possível. Mesmo os autores de requisitos mais qualificados cometerão erros não intencionais; acertá-los não é tão fácil. É aqui que a automação agora pode ajudar.

O custo dos requisitos de software de baixa qualidade na geração de retrabalho

Benefícios de encontrar defeitos de requisitos antecipadamente

Valorizar uma descoberta antecipada de defeitos de requisitos não é simples nem definitivo. A principal razão é que depende de quão tarde (no processo de desenvolvimento) esses defeitos poderiam ter sido encontrados. Se um defeito não for encontrado até um estágio muito posterior, será necessário um esforço significativamente maior para repará-lo, custando milhares. Se apenas um estágio do SDLC for encontrado antes, talvez algumas horas de esforço possam ser economizadas. Em média, estimamos uma economia modesta de 4 horas de equipe para cada defeito de requisitos descoberto antecipadamente – aproximadamente $200.

Esforço típico de encontrar, corrigir e verificar a correção de:

a defeito de requisitos encontrado durante o requisitos etapa: 20 minutos – 4 horas

a defeito de requisitos encontrado durante o projeto estágio: 1-10 horas

a defeito de requisitos encontrado durante o desenvolvimento estágio: 2 – 15 horas

a defeito de requisitos encontrado durante o teste do sistema estágio: 4 horas para cima

a defeito de requisitos encontrado durante o Produção estágio: 8 horas para cima

Observe que isso representa apenas o trabalho adicional para resolver o problema e não aborda as consequências do defeito.

Custo dos defeitos de requisitos encontrados na produção

Quando um defeito de requisito é encontrado na produção ele geralmente é reportado por um usuário, e devemos considerar:

  • Quantos usuários foram afetados antes de nos ser relatados.
  • Quantos mais usuários serão afetados até que isso possa ser corrigido.
  • Quais são os custos de fornecer uma solução alternativa para aqueles que foram afetados?
  • Qual é a perda consequente deste defeito para os clientes e para a nossa organização.
  • O efeito indireto (custo de oportunidade) de desviar a atenção para este problema em vez de outras oportunidades.

A soma desses custos geralmente supera o custo de reparo do conserto, por uma margem significativa. Em alguns casos extremos, a sobrevivência das empresas pode ser ameaçada por um único defeito numa aplicação importante voltada para o cliente. por exemplo, um sistema bancário que perdeu o controle dos saldos das contas

Defeitos de segurança – um caso especial

Defeitos de segurança não encontrados até a produção sempre serão caros para serem corrigidos, muitas vezes podem envolver ações legais contra a organização e são normalmente medidos em milhões de dólares. Encontrar defeitos de segurança antecipadamente (especialmente na fase de requisitos) pode, portanto, evitar potencialmente incidentes que podem custar milhões de dólares.

Valor do ScopeMaster Encontrando Defeitos nos Requisitos

Voltemo-nos para o valor fornecido pelo ScopeMaster ao expor antecipadamente os defeitos dos requisitos. Na verdade, existem vários benefícios em usar o ScopeMaster de acordo com suas necessidades:

  1. Maneira muito rápida de garantia de qualidade requisitos
  2. Encontra (alguns) possíveis requisitos ausentes – automaticamente. (Lembre-se: um requisito ausente é um defeito).
  3. Ao melhorar os requisitos, haverá menos defeitos em outros lugares, cronogramas e desenvolvimento e testes os custos reduzirão.
  4. Melhorar a clareza dos requisitos, reduz a discórdia potencial entre os membros da equipe causada por requisitos ambíguos.
  5. Gera uma métrica de tamanho funcional automatizada sem esforço manual, que pode ser usada para fornecer mais controle do projeto.
  6. Melhora o velocidade de medição de tamanho funcional por 200-400% (para os projetos que medem o tamanho funcional)
  7. Altera a linguagem usada pelos autores de requisitos de tal forma que, com o tempo, prevenir defeitos de requisitos de ser apresentado.

Nem todos têm o mesmo valor e a sua importância relativa varia de projeto para projeto. Em muitos casos, talvez o último ponto seja o mais importante. Se você puder evitar defeitos especificando requisitos de forma mais precisa e completa, haverá menos defeitos a serem procurados posteriormente.

Embora os benefícios potenciais do uso do ScopeMaster em um projeto possam estar na casa dos milhões, um modesto $200/defeito é uma estimativa muito conservadora de o valor de expor o defeito precocemente.

Conselho compartilhado recentemente com um cliente:
“Durante a fase de requisitos, encontrar defeitos levam mais tempo do que consertando combinados, geralmente levamos 1 hora para encontrar e consertar (ou 4 a 10 minutos com ScopeMaster).
Se os defeitos dos requisitos forem encontrados durante o teste do sistema, encontrar, consertar e verificar são TODOS muito demorados. (4-8 horas no total seria um intervalo razoável). Portanto, espere que cada defeito custe pelo menos 4x mais caro para ser corrigido posteriormente. Este projeto não é como construir um aplicativo onde os desenvolvedores possam ter uma conversa de alto nível sobre as necessidades do usuário e então adivinhar os detalhes; esses requisitos que descrevem quem recebe o quê e quando precisam ser específicos e corretos.
Esforço para encontrar e corrigir antecipadamente
  • Encontrar defeitos nos requisitos na fase de requisitos normalmente é feito com 3-4 amigos discutindo-os; depois disso, leva alguns minutos para consertar. 15 minutos de discussão entre amigos equivalem a 1 hora de tempo da equipe. (Muitos deles podem ser encontrados e corrigidos em 4 a 10 minutos de equipe com o ScopeMaster.)

Encontrar e corrigir defeitos de requisitos em testes de sistema

  • Encontrar os defeitos dos requisitos na fase de teste do sistema ainda pode levar apenas 1 hora, mas a correção levará consideravelmente mais tempo porque:
  • Quando um (defeito de requisitos) é encontrado no teste do sistema, ele deve ser copiosamente documentado e, em seguida, requer uma coordenação extraordinária dos testadores e desenvolvedores da PME para fazer a triagem e verificar como um defeito de requisitos real e, finalmente, o requisito é corrigido.
  • A implementação da correção pode ser um trabalho de configuração modesto, mas as novas camadas de teste em torno desse defeito e todas as funcionalidades relacionadas que também devem ser testadas em regressão novamente não são triviais.
  • A descoberta tardia de um defeito nos requisitos significa que há uma maior probabilidade de correções incorretas. ou seja. um defeito causa mais um ou dois (cada um com sua própria documentação, triagem e ciclo de correção e verificação).
  • Existe uma tendência humana de não questionar os requisitos em fases posteriores. Os testadores tendem a aceitar os requisitos como corretos e são mais propensos a desafiar a conformidade de codificação/configuração com os requisitos, e não com os requisitos em si. A consequência é que os defeitos (causados por requisitos inadequados) têm maior probabilidade de acabar na produção, com consequências muito negativas.”