5. Engenharia de Requisitos¶
A partir das informações apresentadas nas seções anteriores, foram estabelecidas as atividades da Engenharia de Requisitos (ER), suas práticas e técnicas, em alinhamento ao processo ScrumXP definido na seção 4. Como a operação da associação é predominantemente manual e conduzida por voluntárias com pouco tempo disponível, foram priorizadas técnicas de contato direto (entrevistas e brainstorming) e de análise dos registros já existentes, viáveis dentro da disponibilidade real da equipe e da coordenação.
Ao longo desta seção, distingue-se prática (o objetivo exercido, ex.: priorizar requisitos), técnica (o método concreto usado para isso, ex.: MoSCoW) e artefato/resultado (o produto gerado pela técnica, ex.: backlog priorizado). O backlog, os épicos, as user stories, os critérios de aceitação e os wireframes citados abaixo são tratados como artefatos — resultado de uma técnica — e não como técnicas em si.
5.1 Atividades e Técnicas da ER e ScrumXP¶
Planejamento da Release¶
Elicitação e Descoberta:
- Entrevistas: entrevistas com Daiane e com as demais coordenadoras (Maria Guerra, Luzia, Liz e Cleide) para entender como funcionam hoje o registro das doações de itens em caderno, o cadastro das famílias e a chamada em papel.
- Análise Documental: analisar os cadernos de doações, o cadastro existente no computador da sede e as listas de chamada em papel ajuda a identificar quais dados já são coletados e em que formato, a partir de cópias ou fotografias dos registros compartilhadas por Daiane ou Makio.
- Brainstorming: sessões com a equipe e a coordenação para levantar ideias sobre o portal institucional, o registro de doações de itens e os relatórios desejados pelos parceiros.
Análise e Consenso:
- Priorização MoSCoW: classificar as funcionalidades em Must have, Should have, Could have e Won't have, considerando que o registro das doações de itens e a agenda pública são as dores mais urgentes relatadas.
- Análise de Custo/Benefício: avaliar o esforço de desenvolvimento e o aprendizado necessário frente ao benefício de cada funcionalidade, já que o projeto é pro bono e o prazo é de um semestre.
Declaração:
- Temas, Épicos e User Stories: organizar os requisitos em temas (portal institucional, doações de itens, cadastro e presença, relatórios e acessos), usando os termos que a associação já emprega, como Sacola Verde, senha, rodízio e Domingo Recreativo. Os temas, épicos e histórias resultantes são, ao mesmo tempo, a declaração do requisito e a estrutura usada para organizar o backlog.
Planejamento da Sprint¶
Elicitação e Descoberta:
- Entrevistas: conversas pontuais com a coordenadora responsável pela frente tratada na sprint, para detalhar regras como a das cinco faltas sem justificativa e o rodízio mensal do Domingo Recreativo.
- Análise de Tarefas: analisar as etapas realizadas pelas coordenadoras para registrar uma doação de itens, realizar a chamada ou organizar o atendimento, identificando dificuldades, decisões e oportunidades de simplificação.
- Análise Documental: revisar os registros existentes daquela frente (caderno de doações, lista de chamada) para detalhar campos e formatos antes de implementar.
Análise e Consenso:
- Spike Técnico: investigação técnica curta e prática, conduzida pela dupla envolvida na história, para resolver dependências técnicas antes da sprint começar, como o controle de perfis de acesso das coordenadoras e o armazenamento seguro dos dados das famílias.
Declaração:
- Especificação de Critérios de Aceitação (Given-When-Then): definir critérios objetivos para cada user story, incluindo o tempo máximo aceitável para registrar uma doação, requisito crítico, já que a falta de tempo é a principal causa dos registros perdidos hoje. Os critérios de aceitação são o artefato produzido por essa técnica.
Organização e Atualização:
- Refinamento do Backlog (Backlog Grooming): refinar o backlog com a equipe e com Daiane, ajustando prioridades conforme as necessidades que surgem no dia a dia da associação. O backlog atualizado é o artefato gerido por essa técnica.
Execução da Sprint¶
Representação:
- Prototipação de Baixa Fidelidade (Wireframing): criar protótipos das telas do painel administrativo e do portal e validá-los com as coordenadoras antes de programar, já que a simplicidade da interface é condição para que a ferramenta substitua o caderno. Os wireframes são o artefato produzido por essa técnica.
Verificação e Validação:
- Checklist, Revisão de Critérios de Aceitação e Critério INVEST: verificar se os requisitos estão claros, consistentes, completos e testáveis, utilizando checklists, critérios de aceitação e o modelo INVEST (Independente, Negociável, Valiosa, Estimável, Pequena, Testável) como critério de qualidade das histórias, com atenção especial à proteção dos dados pessoais e ao desempenho do registro de doações de itens.
Organização e Atualização:
- Acompanhamento do Backlog da Sprint: manter os requisitos atualizados e alinhados aos objetivos da sprint, permitindo ajustes rápidos diante de obstáculos técnicos ou de novas demandas da coordenação. Realizado por meio de reuniões diárias curtas (daily) entre a equipe, com atualização do quadro de tarefas.
Revisão da Sprint¶
Verificação e Validação:
- Teste com Usuárias Reais: apresentar as funcionalidades a Daiane e às demais coordenadoras e pedir que elas próprias executem a tarefa (registrar uma doação de itens, fazer uma chamada), verificando se conseguem fazê-la sem ajuda.
Análise e Consenso:
- Negociação das Alterações: analisar o feedback recebido e negociar com a coordenação quais mudanças serão incorporadas, adiadas ou retiradas do escopo.
Organização e Atualização:
- Revisão das Histórias, Critérios de Aceitação e Prioridades: revisar as histórias de usuário, os critérios de aceitação e as prioridades a partir do feedback, respeitando o escopo do MVP definido na seção 2.6.
Retrospectiva da Sprint¶
Análise e Consenso:
- Análise de Causas e Resolução de Conflitos: analisar problemas relacionados à compreensão, declaração e validação dos requisitos, identificando ambiguidades, conflitos e dificuldades de comunicação com a coordenação. Conduzida no formato Start/Stop/Continue, por ser simples de aplicar em um grupo pequeno e rápido de repetir a cada sprint.
Organização e Atualização:
- Ações de Melhoria do Processo de Requisitos: ajustar a forma de registrar, priorizar, rastrear e atualizar os requisitos com base nas melhorias identificadas durante a retrospectiva.
Planejamento da Próxima Release¶
Elicitação e Descoberta:
- Entrevistas de Acompanhamento e Análise de Domínio de Negócio: conversas de acompanhamento com a coordenação para identificar novas necessidades a partir do uso real da plataforma e de frentes que voltarem a funcionar, como a Informática Básica e o Crochê e Bordado.
Análise e Consenso:
- Priorização MoSCoW, Mapeamento de Valor: priorizar as funcionalidades da próxima release considerando o valor para a associação e para seus parceiros institucionais.
Declaração:
- Criação de Épicos e User Stories: criar épicos e user stories detalhando os novos requisitos levantados. A qualidade das histórias criadas é verificada posteriormente pelo critério INVEST, já aplicado na atividade de Verificação e Validação da Execução da Sprint.
Organização e Atualização:
- Revisão do Backlog da Release: revisar os requisitos da release, mantendo suas prioridades, fontes, dependências e critérios de aceitação atualizados para o próximo ciclo.
5.2 Rastreabilidade dos Requisitos¶
Para que cada requisito possa ser rastreado desde sua origem estratégica até sua validação, a equipe adota a seguinte cadeia de rastreabilidade, ligando artefatos já definidos nas demais seções do projeto:
Objetivo Específico (OE) → Característica de Produto (CP) → Requisito Funcional/Não Funcional (RF/RNF) → Épico → User Story → Critério de Aceitação → Evidência de Validação
- Cada Objetivo Específico (seção 2.2) se conecta a uma ou mais Características de Produto (CP1 a CP7, seção 2.3). A priorização e as dependências determinam se o requisito compõe o MVP: CP2 e partes mínimas de CP6 e CP7, com CP1 condicionada à confirmação da prioridade pela coordenação, conforme a seção 2.6.
- Cada característica de produto origina requisitos funcionais e não funcionais, incluindo RNFs decorrentes dos efeitos emergentes identificados na seção 3, como privacidade e proteção de dados pessoais.
- Cada requisito é declarado como parte de um épico e detalhado em uma ou mais user stories, que por sua vez possuem critérios de aceitação no formato Given-When-Then.
- Cada critério de aceitação é validado por uma evidência concreta — teste automatizado, teste com usuária real ou registro da homologação com Makio ou Daiane.
A tabela a seguir exemplifica essa cadeia com CP1 e CP2, sem representar todo o escopo do MVP, como ponto de partida da matriz de rastreabilidade a ser mantida pela equipe (planilha ou quadro no board do projeto) e atualizada a cada sprint:
| OE | CP | RF/RNF (exemplo) | Épico → User Story | Critério de Aceitação | Evidência de Validação |
|---|---|---|---|---|---|
| OE2 | CP2 — Registro de doações de itens | RF: registrar entrada e saída de itens doados (tipo, quantidade, data); RNF: meta preliminar de concluir o registro em até dois minutos, pendente de validação conforme a seção 2.7 | Registro de Doações → "Como coordenadora, quero registrar uma doação digitalmente, para não perder o registro por falta de tempo" | Dada uma doação fictícia e uma coordenadora autorizada, quando ela informa os dados e confirma o registro, então os dados ficam disponíveis para consulta; medir o tempo total da tarefa para avaliar a meta preliminar da seção 2.7 | Teste com Cleide, Luzia ou Liz usando dados fictícios, sem apoio da equipe, com registro do tempo da tarefa |
| OE1 | CP1 — Portal institucional e agenda de atividades | RF: exibir a agenda com a situação de cada atividade (ativa, suspensa ou dependente de doação) | Portal Institucional → "Como visitante, quero ver quais atividades estão ativas, para saber como participar ou ajudar" | Dado que uma atividade está suspensa, quando o visitante acessa a agenda, então essa situação aparece de forma clara | Homologação com Makio antes da publicação da página |
As demais características seguem o mesmo modelo de rastreabilidade. As partes mínimas de CP6 e CP7 necessárias ao MVP devem ser detalhadas no backlog junto à CP2; as demais capacidades serão priorizadas nas releases seguintes.
5.3 Engenharia de Requisitos e o ScrumXP¶
O quadro a seguir apresenta o mapeamento das atividades, práticas e técnicas da ER aos momentos do processo ScrumXP definido para a condução do projeto.
| Momentos do ScrumXP | Atividades da ER | Prática | Técnica | Resultados Esperados |
|---|---|---|---|---|
| Planejamento da Release | Elicitação e Descoberta | Levantamento de Requisitos | Entrevistas, Análise Documental, Brainstorming | Rotinas manuais da associação compreendidas e requisitos de alto nível identificados. |
| Planejamento da Release | Análise e Consenso | Priorização de Requisitos | Priorização MoSCoW, Análise de Custo/Benefício | Escopo do MVP priorizado e acordado com a coordenação: CP2, controle de acesso mínimo (parte da CP7) e consulta/exportação (parte da CP6); CP1 condicionada à confirmação de sua prioridade. |
| Planejamento da Release | Declaração | Especificação dos Requisitos | Temas, Épicos e User Stories | Temas, épicos e histórias registrados com o vocabulário usado pela associação, servindo também como estrutura de organização do backlog. |
| Planejamento da Sprint | Elicitação e Descoberta | Refinamento de Requisitos | Entrevistas, Análise Documental, Análise de Tarefas | Requisitos refinados a partir das rotinas reais das coordenadoras e preparados para a sprint. |
| Planejamento da Sprint | Análise e Consenso | Análise de Dependências e Viabilidade | Spike Técnico | Consenso sobre dependências, viabilidade técnica e prioridades da sprint. |
| Planejamento da Sprint | Declaração | Definição de Critérios de Aceitação | Especificação Given-When-Then | User stories com critérios de aceitação — o artefato produzido — claros e bem definidos. |
| Planejamento da Sprint | Organização e Atualização | Refinamento dos Requisitos | Backlog Grooming | Backlog refinado com a coordenação antes do início da sprint. |
| Execução da Sprint | Representação | Criação de Protótipos | Prototipação de Baixa Fidelidade (Wireframing) | Wireframes — o artefato produzido — validados com usuárias de baixa familiaridade digital. |
| Execução da Sprint | Verificação e Validação | Verificação dos Requisitos | Checklist, Revisão de Critérios de Aceitação, Critério INVEST | Requisitos e histórias verificados quanto à clareza, consistência, completude e testabilidade. |
| Execução da Sprint | Organização e Atualização | Acompanhamento do Backlog | Reuniões Diárias (Daily) | Backlog atualizado e alinhado com os objetivos da sprint em andamento. |
| Revisão da Sprint | Verificação e Validação | Validação com a Coordenação | Coleta de Feedback, Teste com Usuárias Reais | Requisitos e funcionalidades validados pelas coordenadoras em situações reais de uso, com feedback coletado. |
| Revisão da Sprint | Análise e Consenso | Negociação das Alterações | Análise do Feedback, Negociação | Alterações analisadas e classificadas como incorporadas, adiadas ou retiradas do escopo. |
| Revisão da Sprint | Organização e Atualização | Atualização dos Requisitos | Revisão das Histórias de Usuário, Critérios de Aceitação e Prioridades | Requisitos e backlog atualizados conforme o feedback, respeitando o escopo do MVP. |
| Retrospectiva da Sprint | Análise e Consenso | Análise de Problemas da ER | Retrospectiva Start/Stop/Continue | Problemas relacionados aos requisitos e à comunicação identificados e analisados. |
| Retrospectiva da Sprint | Organização e Atualização | Atualização da Organização dos Requisitos | Ações de Melhoria Contínua | Melhorias incorporadas à organização e atualização dos requisitos. |
| Planejamento da Próxima Release | Elicitação e Descoberta | Identificação de Novos Requisitos | Entrevistas de Acompanhamento, Análise de Domínio de Negócio | Novos requisitos identificados e requisitos existentes revisados a partir do uso real da plataforma. |
| Planejamento da Próxima Release | Análise e Consenso | Priorização Estratégica | Priorização MoSCoW, Mapeamento de Valor | Requisitos priorizados para atender às necessidades da próxima release. |
| Planejamento da Próxima Release | Declaração | Definição de Épicos e User Stories | Criação de Épicos e User Stories | User stories claramente definidas e vinculadas aos objetivos da próxima release. |
| Planejamento da Próxima Release | Organização e Atualização | Revisão do Backlog | Revisão e Reordenação do Backlog | Backlog da release atualizado e preparado para o próximo ciclo. |
5.4 Integração da ER com as Práticas de XP¶
Além dos eventos do Scrum mapeados acima, a ER se conecta às seis práticas de XP já adotadas pela equipe (seção 4.4):
- Testes automatizados: os critérios de aceitação definidos na Declaração da Sprint alimentam a escrita dos testes automatizados das funcionalidades críticas.
- Integração contínua: o pipeline de CI verifica os critérios de aceitação (RF) e os requisitos não funcionais críticos antes de qualquer entrega ser considerada concluída.
- Design simples: cada história é implementada da forma mais simples que atenda ao seu critério de aceitação, sem antecipar requisitos especulativos.
- Refatoração contínua: mudanças de requisito identificadas na Revisão ou Retrospectiva da Sprint podem disparar refatorações no código já existente.
- Programação em pares: as user stories e seus critérios de aceitação orientam a dupla durante a implementação, especialmente nas tarefas de maior risco técnico.
- Propriedade coletiva do código: a rastreabilidade descrita na seção 5.2 permite que qualquer integrante entenda o requisito por trás de um trecho de código que não escreveu.