Neste artigo, exploramos os resultados do uso da ferramenta de análise de histórias de usuários, ScopeMaster, em um exemplo de conjunto de histórias de usuários (acesse os originais aqui). As histórias que utilizamos são publicadas por Mike Cohn no site Mountain Goat e descrevem as funções de um site interativo a ser construído.

Exemplos de histórias de usuários - analisadas pelo ScopeMaster

Sobre os exemplos de histórias de usuários

Escolhemos esses exemplos de histórias de usuários porque estão disponíveis gratuitamente e são publicadas por um conhecido autor de livros sobre como escrever histórias de usuários de software. São exemplos que qualquer pessoa pode baixar. (Na verdade, o PDF contém exemplos para três projetos diferentes). Para este exercício, apenas olhamos para as histórias dos Site ScrumAlliance .  Baixe o CSV com exemplos de histórias de usuários

O objetivo do exercício é explorar o que o ScopeMaster pode revelar sobre um conjunto típico de histórias de usuários.

Preparação

Passo 1. Converta o PDF em CSV

O documento PDF contém uma lista com marcadores de histórias de usuários. Para preparar a lista para importação, primeiro copiamos cada história de usuário em uma linha de uma planilha. A planilha foi então salva como CSV pronta para importação para o ScopeMaster. Esta foi a parte mais demorada de todo o exercício! Felizmente, a maioria das histórias de usuários hoje em dia está contida em uma estrutura que pode ser facilmente formatada como um arquivo CSV e, portanto, essa etapa normalmente seria evitada.

No total, são 98 histórias de usuários. Aproveitamos para gerar um ID de referência exclusivo para cada um antes de importá-los. Você pode reutilizar o csv que criamos, se desejar, aqui: Exemplos de histórias de usuários originais do Mountain Goat – ScrumAlliance CSV

Passo 2. Importar para o ScopeMaster

Criamos então um novo projeto no ScopeMaster e selecionamos a opção “importar CSV”

Use o diagrama de modelo de caso do conjunto de histórias de usuário de exemplo

Recomendamos a separação da parte funcional da história do usuário do texto de benefícios, por isso solicitamos que a importação do ScopeMaster fizesse isso para nós.

Etapa 3. Analise tudo

Em seguida, iniciamos a análise automatizada. Basta pressionar o botão verde.

Use o diagrama de modelo de caso do conjunto de histórias de usuário de exemplo

É aqui que a mágica acontece. O mecanismo de análise do ScopeMaster funciona em cada história de usuário por vez, é interpretada, analisada, testada, dimensionada e com referências cruzadas.

Em apenas menos de 3 minutos, o ScopeMaster analisou cada palavra de todas as 98 histórias de usuários e realizou quase 112 mil testes.

Use o diagrama de modelo de caso do conjunto de histórias de usuário de exemplo
ScopeMaster analisou todo o backlog de 98 histórias de usuários em menos de 3 minutos

Resultados

Agora vamos dar uma olhada no que o ScopeMaster nos conta sobre essas histórias de usuários.

Cada história de usuário: interpretada, testada e dimensionada (se possível)

  • O ScopeMaster examinou cada palavra de cada história de usuário para determinar se consegue estabelecer uma intenção funcional clara. Está claro?
  • Se sim, o ScopeMaster determinou quem é o do utilizador e o que eles querem/precisam alcançar. ou seja. É orientado ao usuário e funcional?
  • A partir da intenção funcional determinada acima, o ScopeMaster estimou o tamanho funcional nos pontos de função COSMIC dos padrões ISO. Qual é o tamanho?

Visão dos exemplos de histórias de usuários

O diagrama do modelo de caso de uso foi gerado a partir da interpretação do o conjunto de histórias de usuários. Este diagrama revela instantaneamente insights sobre muitos aspectos de qualidade do conjunto de histórias de usuários que simplesmente não são visíveis em repositórios de requisitos como Trello, Jira, Azure DevOPs. Este diagrama revela o relacionamento lógico entre histórias de usuários. Este diagrama ajuda você a determinar se você tem os requisitos corretos.

Use o diagrama de modelo de caso do conjunto de histórias de usuário de exemplo
A interpretação funcional do conjunto de histórias de usuários é muito esclarecedora e mantida de forma dinâmica.

Das histórias de usuários ao modelo de dados

A partir das intenções funcionais determinadas pelo ScopeMaster, um diagrama de classes sugerido de todas as classes prováveis e seus métodos são determinados a partir do texto das histórias de usuárioIsso pode ajudar os desenvolvedores a entender quais dados eles precisam considerar e como eles podem ser armazenados e manipulados. Este não é um diagrama de classes definitivo, mas um ponto de partida muito útil.  Este diagrama ajuda a determinar como organizar e estruturar os dados para atender aos requisitos.

Diagrama de classes - automatizado
Classes e métodos sugeridos automaticamente do conjunto de histórias de usuários

Testes gerados diretamente de histórias de usuários

Exemplo de pseudocódigo para cenários de teste, gerado a partir do texto da história do usuário

Determinando o tamanho do backlog

Para todas as equipes, todos os projetos, as histórias de usuários variam em tamanho e no esforço para entregá-las. Essa variabilidade pode ser muito alta. O ScopeMaster foi projetado desde o início para automatizar o dimensionamento funcional de requisitos de software escritos. Isso significa que ele foi projetado para eliminar ou reduzir o trabalho administrativo de leitura de requisitos para determinar uma estimativa formal do tamanho funcional do software que eles descrevem. O tamanho funcional é um indicador de magnitude independente da tecnologia e orientado ao usuário. O ScopeMaster estima o tamanho funcional nos dois principais padrões ISO para dimensionamento de software, a saber: Pontos de Função CÓSMICO e IFPUG Pontos de Função. Recomendamos o primeiro porque é mais adequado para arquiteturas de software modernas e lida melhor com requisitos incompletos. ScopeMaster estima o funcional tamanho de todas as histórias em todo o seu backlog em questão de minutos, evitando que a equipe perca tempo com discussões inúteis sobre pontos da história ou tamanho de camisetas.

Dimensionamento automatizado de um conjunto de histórias de usuários
O ScopeMaster dimensiona automaticamente histórias de usuários em pontos de função COSMIC padronizados

Análise de Qualidade

Em menos de 3 minutos, o ScopeMaster identificou centenas de problemas com as histórias de usuários.

Exemplos de histórias de usuários de Mike Cohn analisadas e testadas pelo ScopeMaster - captura de tela
Relatório de qualidade do ScopeMaster sobre exemplos de histórias de usuários de Mike Cohn do site ScrumAlliance

Ambiguidades

51 das 98 histórias de usuários tinham significado funcional ambíguo, que se não fosse resolvido levaria a bugs. 51 defeitos identificados.

Histórias de usuários de segurança básica ausentes

Não houve menção a login, autenticação, autorização, permissão ou logout em todas as histórias de usuário. Esta é evidentemente uma omissão importante. Normalmente esperamos que isso exija pelo menos várias histórias de usuários. (embora a história da “senha esquecida” esteja aí). 5 defeitos identificados:

• Conecte-se
• Validar email
• Alterar a senha
• Sair
• E então, com cada história de usuário sensível à função, será necessário haver uma verificação de função e/ou permissões

O conjunto original de histórias de usuários não descrevia completamente a funcionalidade necessária.

Termos inconsistentes para usuários/personas

O ScopeMaster identificou 26 tipos de usuários potenciais. É provável que existam apenas 10 personas distintas. 16 defeitos identificados.

Termos inconsistentes para usuários/personas

Da mesma forma, o ScopeMaster identificou 41 tipos de objetos potenciais, enquanto provavelmente existem apenas cerca de 25 a 30. 16 defeitos identificados.

Integralidade da manutenção de dados (análise CRUD)

Para cada tipo de objeto válido deve haver pelo menos 1 função para cada evento CRUD. Depois de eliminar os tipos de objetos redundantes, isso leva a cerca de 80 histórias de usuários funcionais ausentes. 80 defeitos identificados.

Valores discrepantes de capacidade

O Diagrama do Modelo de Caso de Uso revelou outros requisitos ausentes com base na função/personas. Estimamos pelo menos 1 ou 2 por tipo de usuário. 10 defeitos identificados

Declarações de valor

O ScopeMaster identificou que apenas 58 dos 98 usaram a frase “de modo que”, no entanto, todos, exceto 3, incluem o termo “so”. 3- 40 defeitos identificados

NFRS

Além disso, a detecção de Requisitos Não Funcionais do ScopeMaster identificou que existem diversas categorias relevantes de NFRs que não foram mencionadas neste conjunto de histórias de usuários: acessibilidade, auditabilidade, observabilidade. 3 Defeitos identificados

Resumo dos resultados de qualidade

Em apenas 3 minutos, o ScopeMaster identificou 211 problemas prováveis (97 + 114) com essas histórias de usuários. Ele também inferiu por meio da análise CRUD que apenas metade das prováveis histórias de usuários necessárias estão realmente listadas. (este conjunto de exemplos de histórias de usuários pode ter sido cortado deliberadamente antes da publicação).

Além disso, o ScopeMaster gerou mais de 140 cenários de testes essenciais, que ajudarão a acelerar a iniciativa de testes funcionais, uma vez criada a funcionalidade.

O objetivo deste exercício não foi criticar os exemplos de histórias de usuários, mas destacar o valor do uso do ScopeMaster em qualquer conjunto de histórias de usuários.

Agradecemos quaisquer comentários do pessoal da Mountain Goat.

Conclusão

A partir deste exercício, podemos ver que o ScopeMaster realiza um trabalho valioso neste conjunto de exemplos de histórias de usuários. Tem:

  • Revelou mais de 200 problemas que podem ser prontamente resolvidos antes de se tornarem inadvertidamente causa de retrabalho.
  • Escopo ausente revelado
  • Revelou um design de dados potencial
  • Produziu cenários de teste básicos utilizáveis para cada história de usuário, incluindo testes positivos e negativos.
  • Estimou o tamanho funcional de cada história (incluindo as faltantes) nos padrões ISO de tamanho funcional.

Tudo isso resulta em uma quantidade substancial de trabalho útil e perspicaz que ajuda a trazer certeza ao escopo e reduzir o risco de qualquer projeto de software.

Seria ótimo ouvir Mike Cohn ou qualquer pessoa que trabalhou no site ScrumAlliance sobre sua experiência no uso dessas histórias de usuários e sobre suas opiniões sobre a análise do ScopeMaster. Até agora, ninguém de sua equipe esteve disponível para comentar.