Engenharia de Requisitos
5.1 Atividades e Técnicas de ER
Abaixo, detalhamos as atividades da Engenharia de Requisitos (ER) associadas às técnicas que serão utilizadas no contexto do RAD, cujo foco é o engajamento contínuo do cliente por meio de prototipagem e desenvolvimento em ciclos curtos.
Planejamento de Requisitos
-
Elicitação e Descoberta:
- Entrevistas e Brainstorming: Utilizados no início do projeto e a cada iteração para capturar as dores dos usuários e propor soluções em conjunto com os stakeholders.
-
Análise e Consenso:
- Priorização MoSCoW: Técnica de priorização compatível com ambientes iterativos como o RAD, responsável por classificar os requisitos em Must have (essenciais para o protótipo/MVP), Should Have, Could Have e Won't Have, garantindo que a equipe foque no que gera mais valor em menos tempo.
- Matriz Avaliação Técnica × Valor de Negócio: Para ir além do MoSCoW, esta técnica posiciona os requisitos cruzando o valor percebido pelo cliente com a complexidade/esforço técnico estimado pela equipe, permitindo identificar entregas de alto valor e organizando o esforço de forma mais realista.
- Para definir o eixo de esforço técnico de forma colaborativa, a equipe utilizará o Planning Poker como técnica auxiliar: uma estimativa ágil baseada em consenso onde os requisitos são debatidos, votados simultaneamente em complexidade usando a sequência modificada de Fibonacci (1,2, 3, 5, 8, 13, ...), e as divergências são discutidas até o consenso, garantindo uma avaliação realista e democrática antes de organizar as entregas na matriz.
-
Declaração de Requisitos:
- Temas, Épicos, User Stories (Histórias de Usuário) e Critérios de Aceitação: Como complemento à abordagem de prototipação do RAD e para dar suporte ao caráter ágil da abordagem híbrida, os requisitos são organizados em temas e épicos, e detalhados em histórias focadas no usuário. As histórias possuem os seus próprios Critérios de Aceitação (condições que o requisito deve atender para ser considerado válido). Separadamente, para gerenciar o fluxo de trabalho, a equipe utiliza políticas de entrada e saída, como a Definition of Ready (DoR) e a Definition of Done (DoD). Essa estrutura é essencial, pois auxilia na organização do backlog inicial e no alinhamento com os stakeholders, especialmente usuários com baixo letramento digital.
-
Verificação e Validação de Requisitos:
- V&V Contínua e Iterativa: Avaliação para garantir que os requisitos estão estruturalmente corretos (verificação) e atendem às reais necessidades de negócio (validação). No RAD, essa prática não se limita ao início do projeto; ela ocorre a cada iteração, em trabalho conjunto entre a equipe e os clientes, mantendo o alinhamento constante das expectativas.
-
Organização e Atualização:
- Matriz de Rastreabilidade: Estruturação do backlog e garantia da rastreabilidade explícita dos requisitos. Para manter a coerência do que será construído, a equipe utilizará o mapeamento contínuo seguindo a cadeia de rastreabilidade: OE (Objetivos Específicos) - CP (Característica do Produto) - requisito/user story - critério de aceitação - protótipo - validação - entrega.
Design do Usuário (Prototipagem Iterativa)
-
Análise e Consenso: Negociação contínua com os stakeholders sobre quais funcionalidades farão parte do protótipo atual, avaliando trade-offs entre usabilidade e viabilidade técnica.
-
Declaração de Requisitos: Atualização das histórias de usuário e criação de novos critérios de aceitação à medida que a interação com o protótipo exige refinamentos textuais e técnicos.
-
Representação de Requisitos:
- Prototipagem Rápida (Wireframes e Mockups): No RAD, a representação visual é a técnica central para tornar os requisitos concretos, visíveis e validáveis. Consiste na criação iterativa de protótipos de interface, telas e fluxos navegáveis, que servem como principal modelo visual para que os stakeholders compreendam, validem e refinem a solução antes do desenvolvimento completo.
-
Verificação e Validação de Requisitos:
- Validação de Protótipos com o Cliente: Sessões onde os protótipos são testados em sessões nas quais o cliente interage diretamente com as interfaces e fluxos propostos. O feedback imediato, obtido de forma visual e prática, permite validar se o entendimento dos requisitos, incluindo as histórias de usuário associadas, está correto e alinhado às necessidades reais.
-
Elicitação e Descoberta (Refinamento):
- Refinamento Iterativo: Durante a avaliação dos protótipos, novos requisitos ou ajustes (refinamentos) são descobertos iterativamente a partir da interação visual do usuário.
Construção Rápida (Iterativa)
-
Organização e Atualização:
- Gerenciamento e Refinamento de Backlog (Grooming): Manutenção contínua da lista de requisitos (backlog) ao longo dos ciclos iterativos, ajustando prioridades e detalhando histórias à medida que novos aprendizados surgem a partir dos protótipos avaliados.
-
Verificação e Validação de Requisitos:
- Verificação (Checklists e Revisão Técnica): Verificação técnica realizada ao final de cada ciclo de construção rápida, a equipe realiza a aplicação de checklists internos e a revisão contra a Definition of Done (DoD) para atestar que o incremento foi construído de forma correta, consistente e testável.
Transição (Cutover)
- Verificação e Validação de Requisitos:
- Validação Final (Homologação / UAT Final): Validação definitiva do sistema consolidado. Acontece diretamente com o cliente e usuários finais em um ambiente de homologação. Enquanto as fases de "Design" e "Construção Rápida" validavam protótipos e incrementos a cada ciclo, esta etapa garante que o produto completo soluciona o problema real e atende aos Objetivos Específicos (OE) que motivaram o projeto. É a confirmação que encerra a cadeia de rastreabilidade, autorizando a entrega e o lançamento oficial da solução.
5.2 Engenharia de Requisitos e o RAD
| Fases do Processo RAD | Atividades ER | Prática | Técnica | Resultado Esperado |
|---|---|---|---|---|
| Planejamento de Requisitos | Elicitação e Descoberta | Levantamento intensivo de necessidades | Entrevistas e Brainstorming | Escopo preliminar, funcionalidades mapeadas e objetivos alinhados com stakeholders. |
| Análise e Consenso | Definição de Escopo, Prioridade e Esforço Técnico | Priorização MoSCoW, Matriz Avaliação Técnica × Valor de Negócio (Planning Poker auxiliar) | Requisitos críticos (Must have) priorizados, avaliados e acordados para o primeiro protótipo | |
| Declaração de Requisitos | Registro Inicial de Requisitos | Temas, Épicos, User Stories, Critérios de Aceitação, DoR e DoD | Backlog inicial estruturado com histórias focadas nas necessidades do usuário, com políticas de entrada e saída definidas. | |
| Verificação e Validação | V&V Contínua e Iterativa | Alinhamento contínuo com stakeholders | Requisitos estruturalmente corretos e validados quanto ao atendimento das necessidades de negócio desde o início. | |
| Organização e Atualização | Estruturação de Rastreabilidade | Matriz de Rastreabilidade (OE - CP - requisito - critério - protótipo - validação - entrega) | Cadeia de rastreabilidade explícita garantindo coerência entre objetivos específicos e entregas. | |
| Design do Usuário (Prototipagem Iterativa) | Análise e Consenso | Negociação Contínua com Stakeholders | Trade-offs entre usabilidade e viabilidade técnica | Definição clara das funcionalidades que farão parte do protótipo atual. |
| Declaração de Requisitos | Refinamento de Histórias | Atualização contínua de histórias de usuário e critérios de aceitação | Histórias refinadas e ajustadas conforme interações com protótipos. | |
| Representação de Requisitos | Criação de Interfaces Visuais | Prototipagem Rápida (Wireframes e Mockups) | Protótipos de interface e fluxos navegáveis desenvolvidos iterativamente para avaliação visual do cliente. | |
| Verificação e Validação | Avaliação com Stakeholders | Validação de Protótipos com o Cliente | Confirmação visual de que o design atende às histórias de usuário e necessidades reais antes da codificação. | |
| Elicitação e Descoberta | Refinamento Iterativo | Sessões de entrevistas Contínuas | Novos requisitos ou ajustes detalhados a partir da interação visual do cliente com os protótipos. | |
| Construção Rápida (Iterativa) | Organização e Atualização | Manutenção Contínua do Backlog | Gerenciamento e Refinamento de Backlog (Grooming) | Histórias de usuário detalhadas, estimadas e ajustadas no backlog (DEEP) conforme mudanças da fase de design. |
| Verificação e Validação | Verificação Técnica | Revisão de Critérios de Aceitação, Checklists e Definition of Done (DoD) | Incremento de software construído rapidamente verificado quanto à correção, consistência e testabilidade. | |
| Transição (Cutover) | Verificação e Validação | Homologação Final | Validação Final (Teste de Aceitação pelo Cliente - UAT / Homologação) | Produto consolidado validado no ambiente de homologação com aprovação para lançamento oficial. |