A técnica 5W2H será fundamental para que você faça um bom levantamento de requisitos, algumas perguntas farão mais sentido do que outras. Em alguns casos, algumas perguntam nem farão sentido ao contexto aplicado. Durante o projeto, pode ser que algumas perguntas sejam mais interessantes para um determinado objetivo da modelagem, enquanto que em momentos futuros outras perguntas farão mais sentido.
Exemplo: talvez todas as perguntas sejam importantes na elaboração de casos de uso, perguntas do tipo “o que” são mais importantes para definição de classes, perguntas do tipo “como” mais importantes para relacionar classes, diagramas de sequência e de estado.
Esta é a primeira pergunta a se fazer: o que é isso? O que estamos tratando aqui? A resposta desta pergunta irá te dar a noção do trabalho a ser feito, ajudando-o a definir e delimitar o escopo do projeto de software. Muitas vezes é necessário repetir a mesma pergunta várias vezes a fim de identificar todos os detalhes. Também é muito comum que usemos todas as perguntas da técnica ao mesmo tempo, ajudando a esclarecer melhor o trabalho.
Exemplo: O que é o sistema? É um sistema que irá gerar boletos bancários para pagamento de compras que os clientes efetuarem no sistema da empresa. Que outro sistema é esse? O sistema que proverá as informações para esse sistema de emissão de boletos chama-se “Sistema de Compras”.
XEsta pergunta tem por objetivo fundamentar o seu projeto, trazendo informações que garantam a importância daquilo que será feito. Quando aplicamos essa pergunta temos que ter em mente que a resposta dada justifique o projeto.
Exemplo: Por que faremos esse projeto? Porque o corpo de executivos da empresa decidiu que além dos pagamentos em dinheiro, cheque e cartão de crédito, os clientes agora poderão efetuar pagamentos por meio de boletos bancários.
XEsta pergunta traz informações acerca de quando as coisas acontecem, ela funciona muito bem junto com a pergunta “como” (que está logo abaixo). Ajuda também a identificar prioridades, sequenciamento ou atividades que podem ocorrer em paralelo. Tudo isso formam regras de negócio.
Exemplo: Quando o boleto bancário deve ser gerado? Em dois momentos, ou quando o cliente conclui a compra ou no último dia do mês para os pagamentos que não foram efetivados. Nesse segundo caso, o sistema deve enviar os boletos por e-mail para os clientes (veja como várias regras de negócio aparecem).
XEssa pergunta traz informações dos usuários do sistema e outras entidades que de alguma forma participam do negócio.
Exemplo: Quem participa dessa rotina? Participam:
A pergunta onde, assim como a pergunta como logo a seguir, possui dois focos:
Exemplo: onde o sistema ficará hospedado? O sistema ficará hospedado no mesmo servidor de aplicação do sistema de compras. Onde fica esse servidor? Fica no datacenter na sede da empresa, na cidade de São Paulo. Onde no sistema ficará as funcionalidades previstas? Ficará num sistema totalmente à parte, um novo sistema.
XPergunta importantíssima, muitas vezes feita junto com a pergunta “o que”, possui vários focos distintos:
Exemplo: Como funcionará a lógica do sistema: o sistema possui dois fluxos básicos. O primeiro deve ser integrado ao sistema de compras, onde o cliente poderá optar por essa nova forma de pagamento, e assim, o sistema deverá emitir o boleto de pagamento para a compra efetuada; confirmado o pagamento, o sistema deve registrá-lo na compra, autorizando a entrega dos produtos comprados. No último dia do mês, o sistema deve identificar quais clientes possuem compras pendentes de pagamento, nesse caso, deverá automaticamente, gerar boletos de pagamento nos valores das compras e enviá-los para os clientes. Ao efetivar o pagamento, o sistema deve registrá-lo no sistema de compras (veja que aqui surge várias complicações para serem tratadas com mais perguntas: a parte que permite o pagamento via boleto no sistema de compras precisa ser programado no sistema de compras, e não no sistema de boletos. Como o sistema de boletos saberá que um boleto foi pago? Será feita integração com o sistema bancário? Como isso será feito?). Como será a arquitetura de hardware do sistema: O sistema rodará em servidores Linux/Apache/Postgree, na linguagem PHP, assim como os demais sistemas da organização. Como será a arquitetura de desenvolvimento? A equipe utilizará o padrão da empresa que é baseado em Scrum, o projeto será definido para entregas pontuais mensais. A arquitetura de desenvolvimento envolve um ambiente de programação, outro de homologação e outro de produção, todos idênticos, a linguagem de programação será a PHP.
XEsta pergunta foca em aspectos orçamentários e financeiros, de como será estimado o custo do projeto, como ele será pago, como a equipe de desenvolvimento será contratada e paga, como demais recursos computacionais necessários serão adquiridos.
Exemplo: Qual é o orçamento previsto para o projeto? R$ 50.000,00. Como esse custo está estimado? Todo para pagamento de salários de analistas, não será necessário adquirir novos equipamentos.
X