Skip to main content

Engenharia de Requisitos

Nesta seção são estabelecidas as atividades da Engenharia de Requisitos (ER), suas práticas e técnicas em alinhamento ao processo de ESW escolhido para o nosso projeto, o RAD. Cada uma das atividades foi descrita a partir de algumas técnicas e práticas que mais estavam alinhadas com a equipe em relação ao projeto. Suas evidências estarão disponíveis em uma ata da reunião que representa o momento no qual executamos tal atividade de Engenharia de Requisitos.

Atividades e Técnicas de ER

Fase 1 - Planejamento de Requisitos

Elicitação e Descoberta:

  • Entrevista: Foi feita nesta fase uma primeira reunião da equipe com o cliente com o intuito de entender melhor o negócio e a sua atuação, suas dores, para traçarmos uma solução adequada.
  • Análise de Tarefas: Ao entender o cenário em que o cliente estava inserido, foi feita dentro da segunda entrevista com o cliente uma análise precisa da sua tarefa de avaliar o período de estoque dos produtos na sua planilha.
  • Brainstorming: A partir da entrevista, reuniões de brainstorming tendo todos os integrantes da equipe, principalmente a participação do P.O., para melhor organizarmos as ideias gerais do grupo sobre o que poderia ser a nossa solução.

Resultados gerados: Visão de Produto, Proposta de Solução, Personas, Lista de Stakeholders, Declaração do Problema

Análise e Consenso:

  • Análise de priorização MoSCoW: aplicada durante o refinamento do Backlog para classificação de requisitos em Must, Should, Could e Won’t have e assim ajudar na priorização do MVP.
  • Análise de critérios técnicos: houve a criação de critérios de avaliação da complexidade técnica numa escala de 1 a 3 sobre a lógica de negócios e algoritmo; complexidade de dados e combinações analíticas; complexidade de interface e experiência do usuário UI/UX.

Resultado gerado: Documento de Visão de Produto e Projeto: Consolidação sobre o documento de Visão de Produto e Projeto, nos trazendo uma ideia mais clara sobre o problema do cliente e sobre os objetivos da nossa solução.

4.1.3 Declaração de Requisitos:

  • Especificação de Requisitos: A partir da especificação inicial dos requisitos, a declaração foi iniciada para auxiliar na clareza do entendimento sobre quais seriam os objetivos e possíveis critérios de aceitação para cada um deles, dado em conta o que inicialmente precisariam ter.
  • Features: Foram declaradas features de acordo com o fluxo de tarefas parcelado por etapas, primordiais para o trabalho do cliente, que foram analisadas através da observação da explicação do cliente no uso das planilhas até chegar no objetivo final de cada análise.
  • Prompt IA: A partir do contexto do cliente, do Diagrama de Ishikawa, e dos objetivos da solução, foram avaliados alguns requisitos que poderiam ser utilizados para a solução, alinhados também com as necessidades do cliente.
  • Temas Estratégicos: Após melhor entendimento do escopo do projeto, foram elencados temas estratégicos que nos guiam de forma mais direta sobre a organização dos requisitos em relação à priorização de cada tema, que possui features correlacionadas.
  • Critérios de aceitação: cada requisito contém critérios iniciais de aceitação para que seja testável e validado posteriormente.
  • Refinamento dos requisitos: Foi feito um refinamento em relação aos RF’s e RNF’s do projeto, para que estivessem alinhados com a ideia do que é funcional ou não, o que terá interação do usuário ou não a partir da arquitetura MVC planejada.

Resultado gerado: Product Backlog com as nomenclaturas dos Requisitos de Software corretamente declaradas.

4.1.4 Verificação e Validação de Requisitos:

  • Após a declaração inicial, os requisitos foram verificados e atualizados a partir de feedbacks de outro grupo da matéria e do professor, como nomenclatura dos mesmos.
  • Testes de aceitação: realizados à medida que os protótipos foram feitos para verificar se os critérios de aceitação foram atendidos.
  • Análise de priorização MoSCoW: aplicada durante o refinamento do Backlog para classificação de requisitos em Must, Should, Could e Won’t have e assim ajudar na priorização do MVP.
  • Análise de critérios técnicos: Houve a criação de Critérios de Avaliação Técnica em relação à complexidade técnica numa escala de 1 a 3 sobre a lógica de negócios e algoritmo; complexidade de dados, combinações analíticas, complexidade de interface e experiência do usuário UI/UX;

Resultado gerado: Análise da priorização dos requisitos com base na complexidade e valor de negócio.

4.1.5 Verificação e Validação de Requisitos && Análise e Consenso:

  • Validação de Requisitos e Negociação: Durante a reunião com o cliente para a validação do MVP houve um conflito sobre a complexidade e valor de negócio dos requisitos do tema: Análises Avançadas, os quais julgávamos de maior complexidade.
  • Análise de Domínio de Requisito: A partir de uma reunião de validação com o cliente sobre o MVP, entendemos com mais profundidade as regras de negócio e como elas impactaram nos requisitos que havíamos declarado para a solução.
  • Feedback: Após melhor explicação e visão do cliente, entendemos que eles não tinham uma complexidade elevada, mas tinham um alto impacto no valor de negócio para o cliente, o que ficou em consenso geral, que os RF’s presentes neste tema seriam desenvolvidos, após a construção de requisitos mais simples, acordando que ele fará parte do MVP.

Resultado gerado: Feedback do cliente em relação ao escopo do MVP, valor de negócio e priorização

4.1.6 Organização e Atualização:

  • Feedbacks: Após comentário do professor ao nosso pitch do projeto foram realizadas atualizações sobre a rastreabilidade dos requisitos do MVP, alinhando com os O.E’S do produto elencado inicialmente junto às características da solução.
  • Priorização de Requisitos: Após o feedback do cliente e a avaliação a partir da rastreabilidade dos requisitos, foi atualizado o tema de Análises Avançadas no MVP.
  • Refinamento dos requisitos: Foi feito um refinamento em relação aos RF’s e RNF’s do projeto, para que estivessem alinhados com a ideia do que é funcional ou não, o que terá interação do usuário ou não a partir da arquitetura MVC planejada.

Resultado gerado: Backlog do MVP atualizado, alinhado com a rastreabilidade dos O.E’S do produto, da avaliação técnica e valor de negócio do cliente.

Fase 2 - User Design

4.1.7 Representação de Requisitos:

  • Prototipagem: a materialização dos requisitos foi por meio de Figma para melhor verificação e validação posteriormente.

Resultado gerado: Protótipo de baixa e média fidelidade

4.1.8 Análise e Consenso:

  • Inspeção de protótipos: Foram utilizados os protótipos de média fidelidade para melhor análise dos requisitos em relação à interação do usuário e organização da manipulação de dados no backend da aplicação, de acordo com o que cada página iria exibir, alinhado com o que foi acordado no Backlog com o objetivo de domínio de cada requisito.

Resultado gerado: Protótipo Analisado, consenso da equipe sobre os primeiros RF a serem implementados com base nos protótipos

4.1.9 Verificação e Validação de Requisitos:

  • Walkthrough: Foi realizado um walkthrough no protótipo para simular a jornada de interação do usuário. Essa técnica nos permitiu percorrer o fluxo de tarefas e validar se a sequência de passos para executar as funcionalidades principais era lógica e simples de ser executada pelo usuário.
  • Decomposição Funcional: Através da inspeção, cada tela e interação foram analisadas detalhadamente. A decomposição funcional foi aplicada para quebrar as tarefas maiores em passos menores, verificando a consistência e a clareza de cada etapa do processo.

Resultado: Protótipo verificado: Clareza da equipe em relação ao passo a passo seguido pelo usuário para executar os primeiros RF’s.

4.1.10 Declaração de Requisitos:

  • Decomposição Funcional: Utilizamos das funcionalidades representadas no protótipo para traçar como seria a interação do usuário com a aplicação e especificar melhor quais eram os resultados que deveriam aparecer para o usuário por meio de uma de nossas reuniões.

  • Histórias de Usuário: Através de uma reunião com o cliente foram coletadas ass histórias de usuário do projeto para assim conectá-las aos RF’s e OE’s aos quais estavam relacionados para assim mapear a rastreabilidade do projeto.

Resultado gerado: Product Backlog populado com a US’s

4.1.11 Organização e Atualização de Requisitos:

  • Histórias de Usuário: Foi realizado no board do Miro da equipe a relação entre os RF’s e OE’S do projeto às US coletadas com o cliente.

Resultado gerado: Mapa de Rastreabilidade e Mapa de Relações entre Requisito

4.1.12 Validação:

  • Protótipo de Alta Fidelidade: Para validação da concepção da aplicação foi realizada uma validação através do protótipo de alta fidelidade gerada pela equipe com foco na interação do usuário com a inteface, para além de visualizar os componentes, procurando garantir mais conexão do cliente com a proposta final do do que será o projeto antes da fase de construção.

  • Feedback: Através de um formulário com critérios de aceitação específicos sobre cada para do protótipo foram deixados checklists e espaços livre para comentários e sugestões em que o cliente poderia preencher rapidamente para coletarmos este feedback antes de iniciarmos a implementação.

Resultado gerado: Formulário com o checklist da validação do cliente e comentários adicionais sobre o protótipo de alta fidelidade

Fase 3 - Construção

4.1.13 Verificação:

  • Definition of Ready (DoR): Foram utilizados para garantir que as novas construções a serem feitas estejam alinhadas com idea da concepção do produto representada pelo protótipo, não causando implementação que fujam muito do escopo que foi validado, conforme conversado com o cliente.

  • Revisão: Durante todo processo de construção ao adicionar uma nova funcionalidade ou alteração considerável no código é preciso passar pela revisão de pelo menos um outro membro da equipe (realizando um Pull Request), que irá garantir a não quebra das funcionalidades já implementadas, o funcionamento esperado do que está sendo implementado, e também o alinhamento da implementação do requisito em relação ao (DoD).

Resultado gerado: Implementação alinhada aos DoD, DoR, Qualidade de Requisitos (testes), através do TDD, Resultados da Revisão de pelo menos um outro memebro (Pull Request).

4.1.14 Análise e Consenso && Organização e Atualização:

  • Backlog do Produto: Backlog de Requisitos: Através de uma nova análise dos requisitos no backlog e do MoSCoW gerado pelal equipe foi trago em uma das nossas reuniões semanais dada a produtividade da equipe, perspectiva de entrega do produto e também da maior priorização dos requisitos de Análises Avançadas foi votada a retirada dos requisitos da categoria de Notificações do MVP. Para além disso, também tivemos atualizações referentes aos requisitos RF11 e RF05 advindas do cliente.

  • Negociação: Foi tida uma conversa através do nosso grupo no whatsapp com o cliente para abordar sobre a possível mudança de escopo do MVP dado a produtividade da equipe em relação ao tempo de desenvolvimento necessário que os requisitos mais prioritários da categoria de Análises Avançadas estava maior do que o esperado. Dado os argumentos e explicação sincerada da proposta de mudança do MVP e análise das prioridades em relação ao que era mais necessário para o cliente a proposta de mundaça foi entendida com clareza e aceita com sucesso.

Resultado gerado: MVP Backlog Atualizado e Requisitos com espeficações mais definidas alinhadas com a necessidade do cliente.

4.1.15 Validação:

  • Feedback: Através do Sistema Executável gerado, foi possivel coletar o primerio feedback do cliente em relação a V1 do projeto. Com o uso de critérios de valiadção específicos para os requisitos propostos naquela fase utilizando um formulário, foi coletado as impressões do usúario sobre o uso da aplicação e os resultados gerado para que fosse possível melhorias, caso necessário.

Resultado gerado: Feedback do cliente sobre a implementação dos requisitos RF02, RF03, RF04, RF15

Fase 4 - Transição

4.1.16 Verificação:

  • Revisão: Durante todo processo de construção ao adicionar uma nova funcionalidade ou alteração considerável no código é preciso passar pela revisão de pelo menos um outro membro da equipe (realizando um Pull Request), que irá garantir a não quebra das funcionalidades já implementadas, a integração entre as implementações do backend e frontend com o funcionamento esperado definido pelos critérios de aceitação alinhado ao (DoD).

  • Análise da Qualidade de Requisitos: Por estarmos utilizando o TDD no nosso processo de desenvolvimento, os testes automatizaos em relação aos código do backend estão sendo realizado para garantir a confiabilidade necessária, dada a cobertura de teste que foi deferida para este projeto, garantido a sua funcionalidade dentro dos resultados esperados.

Resultado gerado: Qualidade de Requisitos, Resultados da Revisão e Executável Funcional do Projeto


4.2 Engenharia de Requisitos e o RAD

Aqui, as atividades da ER, suas práticas e técnicas devem ser mapeadas, a partir das fases (etapas) do RAD, para a condução do projeto. As evidências de cada uma das atividades estão linkadas através do nome da atividade às atas realizadas pelos membros da equipe.

AbordagemAtividades ERPráticaTécnicaResultado
Fase 1 - Planejamento de Requisitos
Elicitação e DescobertaDescoberta sobre o negócio e dor do clienteEntrevista e Análise de TarefasEntendimento sobre o negócio e contexto do cliente, Declaração do Problema, Personas
Análise e ConsensoDiscussões em Equipe, Reuniões com a equipeBrainstorming, Análise de Personas, Análise de ConcorrentesDeclaração do Problema, Lista de Necessidades, Personas, Proposta de Solução, Documento de Visão do Produto e Projeto
Declaração dos RequisitosRegistro dos RequisitosBrainstorming, Análise de Domínio de Requisito, Especificação de RequisitosLista de Requisitos (RFs) e Lista de Requisitos não funcionais (RNFs), BackLog do Produto e Requisitos de Software com nomenclaturas corrigidas
Verificação e ValidaçãoVerificação dos Requisitos && Refinamento dos requisitos && Priorização dos RequisitosReuniões, Feedbacks, MoSCoW, Critérios de Avaliação TécnicaBackLog do MVP priorizado
Verificação e ValidaçãoValidação de Requisitos && Resolução de Conflito (Valor e Acordo)Negociação, Reunião, Feedbacks, Análise de Domínio de RequisitoMVP validado pelo cliente, e consenso sobre os primeiros requisitos a serem implementados
Organização e AtualizaçãoPriorização de RequisitosFeedbacks do professor sobre rastreabilidade e da validação do clienteBacklog do MVP atualizado, alinhado com o Mapa de Rastreabilidade dos O.E’S do produto
Fase 2 - User Design
RepresentaçãoCriação de ProtótiposPrototipagemProtótipo de baixa e média fidelidade
Análise e ConsensoRefinamento dos requisitosProtótipos, Inspeção, Análise de Objetivo de DomínioProtótipo Analisado: Consenso da equipe sobre os primeiros RF a serem implementados com base nos protótipos
Verificação e ValidaçãoVerificação da jornada de interação do usuário em relação ao fluxo de tarefasWalkthrough, Decomposição funcionalProtótipo verificado: Clareza da equipe em relação ao passo a passo seguido pelo usuário para executar os primeiros RF’s
DeclaraçãoEspecificações da interação do usuário + Adição das histórias de usuário ao projetoPrótipos, Decomposição funcional + Reunião, Histórias de UsuárioPrimeiros RF’s do backlog do MVP a serem desenvolvidos com mais especificações em relação ao UI + Product Backlog populado com a conexão entre os RF’s e as US’s
Organização e AtualizaçãoAdequação dos RF’s e OE’S do projeto às US coletadas com o clienteUser History e ReuniãoMapa de Rastreabilidade & Mapa de Relações entre Requisito
Verificação e ValidaçãoValidação do Protótipo de Alta fidelidadePrótipos, Feedback e ChecklistProtótipo validado pelo cliente + Feedback do cliente
Fase 3 - Construção
VerificaçãoGarantir que os requisitos a srem implementados estavam dentro da ideia do protótipoDefinition of Ready (DoR),Definition of Done (DoD), Revisão, Qualidade dos RequisitosDoD, DoR, Qualidade de Requisitos (testes), Resultados da Revisão, Requisitos orientados à testes, com a revisão de pelo menos outro dev
Análise e Consenso && Organização e AtualizaçãoConversa com o cliente para validar a mudança de escopo do MVP // Atualização de especificações de Requisitos e do MVPNegociação // Backlog de Requisitos, Votação, MoSCoWMVP Backlog Atualizado e Requisitos com espeficações mais definidas alinhadas com a necessidade do cliente
ValidaçãoValidação do cliente em relação a entrega da V1 do projetoSistema Executável, Feedback e Checklist de ValidaçãoProtótipo validado pelo cliente + Feedback do cliente
Fase 4 - Transição
VerificaçãoGarantir Alinhamento do projeto em relação a integração do backend com o frontend e criação do executável do projetoDefinition of Done (DoD), Revisão, Análise de Qualidade de RequisitosQualidade de Requisitos, Resultados da Revisão e Executável Funcional do Projeto