Ter os requisitos funcionais bem definidos e entendidos pelo time faz toda a diferença no desenvolvimento de um produto de software. Entretanto, isso nem sempre é algo fácil de ser feito. Aqui será demonstrada uma técnica para o entendimento de requisitos e assim permitir a elaboração de user stories utilizando a ferramenta 5w2h.

INTRODUÇÃO

Em um meio ágil e competitivo, como é o ambiente corporativo, um maior entendimento do que precisa ser feito contribui muito nas atividades que serão desenvolvidas por colaboradores de setores ou áreas diferentes. Quando se desenvolve um produto, a sua concepção deve conter o mínimo de erros, pois isto gera custos, tanto para o cliente quanto para a empresa.

No desenvolvimento de software com boas práticas ágeis o foco é na entrega de valor ao cliente. Sendo assim, necessita-se que as definições de requisitos sejam realizadas de forma eficaz, para que as necessidades do cliente sejam atendidas. Uma prática bastante difundida é o uso de User Stories para escrever os requisitos, pois é uma forma resumida para descrever as funcionalidades que trarão valor ao produto. Para auxiliar no entendimento dos requisitos e na criação das suas respectivas user stories, pode ser utilizada a técnica 5W2H.

E DE ONDE VEM?

A user story deriva da metodologia ágil e foca mais na comunicação verbal do que na documentação. Esta técnica traz uma comunicação clara entre o time de desenvolvimento e o Product Owner (cliente).

É composta por 3 aspectos: descrição usada para planejamento, discussão para concretizar detalhes e critérios de aceitação, que indicam quando a história está pronta. As histórias são independentes, negociáveis, necessitam de valor, estimáveis e pequenas.

Exemplo:

Como hóspede, quero cancelar minha reserva.

  • Constate que um membro Premium poderá cancelar a reserva no mesmo dia sem ter que pagar uma multa.
  • Verificar que um membro deverá pagar uma multa de 10% ao cancelar a reserva no mesmo dia.
  • Comprovar se um e-mail é enviado ao final da transação.

FERRAMENTA 5W2H

O 5w2h é considerado uma ferramenta de planejamento, que é muito utilizada em Administração de Empresas. É um checklist contendo determinadas atividades que os colaboradores da organização precisam desenvolver com o máximo de clareza. Tem um destaque relevante na solução dos problemas, pois elimina por completo qualquer dúvida que possa surgir sobre um processo ou atividade.

O nome desta ferramenta foi definido por juntar as primeiras letras dos nomes (em inglês) das diretrizes utilizadas neste processo. Abaixo você pode ver cada uma delas e o que elas representam:

  • What – O que será feito (etapas)?
  • Why – Por que será feito (justificativa)?
  • Where – Onde será feito (local)?
  • When – Quando será feito (tempo)?
  • Who – Por quem será feito (responsabilidade)?
  • How – Como será feito (método)?
  • How much – Quanto custará fazer (custo)?

ADAPTAÇÃO DO 5W2H PARA O CONTEXTO DE DESENVOLVIMENTO ÁGIL

O atual processo de desenvolvimento da NeoGrid está baseado em boas práticas de métodos ágeis utilizando user stories como forma para descrever os requisitos funcionais. Entretanto, quando começamos a utilizar as user stories, em algumas vezes nos deparávamos com a falta de aprofundamento na descrição. Mesmo tendo um padrão de escrita, nem sempre os dados descritos auxiliavam a concepção correta do requisito. Então, foi preciso inovar!

Adaptamos o 5W2H para o nosso contexto para compor as user stories, onde foi possível conceber os requisitos de forma eficaz e criar critérios de aceitação, que permitem identificar os cenários dos testes a serem realizados. A utilização não é complexa. Na concepção do requisito, basta aplicar as perguntas e coletar as informações. De posse dos dados já é possível compor a user story.

EXEMPLO PRÁTICO

Contexto do Projeto

# O Cliente:

  • é uma rede de produtos manipulados.
  • a partir da centralização dos pedidos de manipulação e da identificação dos produtos mais comumente solicitados, iniciou-se a produção e distribuição de medicamentos próprios com 20 produtos.
  • possui 4 centrais de manipulação em diferentes estados, conta com uma equipe de 40 farmacêuticos e 220 técnicos de manipulação.
  • produz 140 medicamentos distintos.
  • venda de 22 milhões de unidades/ano.
  • a área administrativa dividida em Financeira (Contas a Pagar e Contas a Receber), Recursos Humanos e Administração de Materiais (Controle de Estoque).
  • as fórmulas dos produtos foram desenvolvidas pela própria empresa, detendo os direitos autorais e de produção.
  • os processos de compra e venda se dá através de dois departamentos: Compras e Vendas.
  • tem como objetivo estratégico tornar-se o maior laboratório de criação de fórmulas e manipulação da América Latina até 2015.

# Descrição do Problema:

Um dos problemas da rede está no controle de produção...

  • As centrais de manipulação possuem o controle dos estoques realizado de modo manual, o que gera um alto grau de desperdício de matéria-prima.
  • As centrais de manipulação utilizam matéria-prima crítica e controlada que, ocasionalmente, deixa de constar no estoque sem que o fim seja identificado.

# Objetivos de Negócio:

  • Controlar o uso da matéria-prima ao longo do processo de manipulação.

# Objetivo Específico do Sistema:

  • O sistema deverá controlar a matéria-prima utilizada, identificando precisamente a necessidade de matéria-prima e controlando seu uso.

A TÉCNICA 5W2H ADAPTADA...

  1. Qual é o objetivo do requisito?
  2. Por que o requisito deve ser implementado?
  3. Onde poderá ser visualizado o requisito?
  4. Quais são os pré-requisitos para este requisito?
  5. Qual é o perfil de acesso para este requisito?
  6. Quais são os critérios de aceitação para este requisito?
  7. Quais serão as mensagens de validação para este requisito?

APLICANDO A TÉCNICA NO CONTEXTO DO PROJETO

1. Qual é o objetivo do requisito?
R: Implementar um ambiente de controle de produção de medicamentos manipulados.

2. Por que o requisito deve ser implementado?
R: Para permitir a identificação precisa da necessidade de matéria-prima e controlar o seu uso eliminando o alto grau de desperdício.

3. Onde poderá ser visualizado o requisito?
R: Em um item de menu específico, conforme layout de tela Homes.

4. Quais são os pré-requisitos para este requisito?
4.1. Ter sido identificado o fluxo de produção.
4.2. Ter acesso às fórmulas dos medicamentos.

5. Qual é o perfil de acesso para este requisito?
R: Responsável pelo controle da produção, por exemplo: técnico em manipulação.

6. Quais são os critérios de aceitação para este requisito?
6.1. O estoque de segurança para matérias-primas críticas deverá ser de 5 dias de produção e para matérias prima simples deverá ser de 3 dias de produção.
6.2. O sistema deverá sinalizar a necessidade de compra de matéria-prima quando tiver estoque para produção para, pelo menos, 7 dias úteis, sem considerar o prazo do estoque de segurança.
6.3. O sistema não deverá disparar um aviso de compra de matéria-prima crítica se não houver produção de medicamentos que utilizem este tipo de insumo nos últimos 30 dias.

7. Quais serão as mensagens de validação para este requisito?
Para o critério de aceitação: O sistema deverá sinalizar a necessidade de compra de matéria-prima quando tiver estoque para produção para, pelo menos, 7 dias úteis, sem considerar o prazo do estoque de segurança.

A mensagem de validação deverá ser:
"Há estoque de matéria-prima X para produção de medicamento durante 7 dias úteis. Deseja efetuar novo pedido de compra? Sim/Não"

CRIANDO UMA USER STORY...

"Como técnico de manipulação, necessito que seja implementado um ambiente de controle de produção de medicamentos manipulados, pois assim poderei identificar de forma precisa a necessidade de matéria-prima e controlar o seu uso."

Para aceitar:

  1. O estoque de segurança para matérias-primas críticas deverá ser de 5 dias de produção e para matérias prima simples deverá ser de 3 dias de produção.
  2. O sistema deverá sinalizar a necessidade de compra de matéria-prima quando tiver estoque para produção para, pelo menos, 7 dias úteis, sem considerar o prazo do estoque de segurança.
  3. Conforme item anterior, quando houver a necessidade de compra, o sistema deverá exibir a seguinte mensagem:
    "Há estoque de matéria-prima X para produção de medicamento durante 7 dias úteis. Deseja efetuar novo pedido de compra? Sim/Não"
  4. O sistema não deverá disparar um aviso de compra de matéria-prima crítica se não houver produção de medicamentos que utilizem este tipo de insumo nos últimos 30 dias.
  5. O usuário terá acesso ao menu Produção > Controle da Produção.

Para considerar:

  • O acesso às fórmulas deverá estar de acordo com as regras estabelecidas pela empresa.
  • São matérias-primas críticas os insumos utilizados para a fabricação de medicamentos manipulados de uso controlado (tarja preta).
  • Este módulo deverá ser pré-requisito para o módulo ‘Compras’.

CONCLUSÃO

Ao adotar a ferramenta para compor as user stories, obtivemos resultados significativos no entendimento dos requisitos funcionais. Ganhamos mais habilidade crítica, pois conseguimos captar mais no detalhe o que o Product Owner queria nos dizer. Também conseguimos melhorar a cobertura de testes, uma vez que foi possível ter uma maior abrangência dos critérios de aceitação a partir das perguntas e assim poder sinalizar quando está efetivamente “pronta”. Nossas user stories estão com tamanho mais adequado, onde já se consegue identificar um “épico” e assim fracionar em requisitos menores. Para os requisitos não funcionais também é utilizado do mesmo procedimento, o que possibilitou uma melhoria na qualidade da escrita e, consequentemente, na implementação destes requisitos. Como estamos em um ambiente de melhoria contínua, identificamos a necessidade de ampliar a utilização da ferramenta para demais as áreas da empresa que trabalham com a ferramenta de SGR.

Autoras: Dieine da Silva e Patrícia Araújo Gonçalves.