diff --git a/docs/produto/cronograma-entregas.md b/docs/produto/cronograma-entregas.md index c5a1514..93b6d1a 100644 --- a/docs/produto/cronograma-entregas.md +++ b/docs/produto/cronograma-entregas.md @@ -2,19 +2,21 @@ | Sprint | Início | Fim | Objetivo Principal | Entregas Esperadas | Validação do Cliente | |------------|--------------|-------------|-------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------| -| Sprint 1 | 14/11/2024 | 27/11/2024 | Planejamento e Definição de Backlog | - Definição do backlog inicial
- Configuração da arquitetura (React, FastAPI, MongoDB)
- Ambiente de desenvolvimento configurado | Revisão do backlog e confirmação de prioridade | -| Sprint 2 | 28/11/2024 | 11/12/2024 | Implementação do Sistema de Cadastro e Autenticação | - Entrega Parcial 1:
- Desenvolvimento do sistema de cadastro e autenticação de usuários
- Testes de segurança e fluxo de login | Validação do sistema de autenticação e ajuste de fluxo | -| Sprint 3 | 12/12/2024 | 25/12/2024 | Implementação do Sistema de Perguntas e Respostas | - Criação de um sistema básico de perguntas e respostas
- Testes de funcionalidade para coleta de resposta | Feedback sobre usabilidade e ajustes nas perguntas | -| Sprint 4 | 26/12/2024 | 08/01/2025 | Implementação da Gamificação | - Entrega Parcial 2:
- Implementação de mecânicas de gamificação
- Funcionalidades de pontuação e recompensas para engajamento dos alunos | Feedback sobre motivação e ajustes nas mecânicas de gamificação | -| Sprint 5 | 09/01/2025 | 22/01/2025 | Implementação da Análise de Dados | - Coleta e análise das respostas dos alunos
- Desenvolvimento de relatórios para professores e educadores | Validação das análises e feedback sobre a utilidade dos dados | -| Sprint 6 | 23/01/2025 | 05/02/2025 | Integração Completa e Personalização | - Entrega Parcial 3:
- Integração das funcionalidades principais (autenticação, perguntas, gamificação e análise de dados)
- Ajustes finais de interface e personalização para cada usuário | Validação do sistema integrado e feedback sobre experiência do usuário | -| Sprint 7 | 06/02/2025 | 12/02/2025 | Testes de Segurança e Homologação | - Testes de segurança finais, revisão de vulnerabilidades, homologação | Feedback sobre estabilidade e segurança | -| Sprint 8 | 13/02/2025 | 18/02/2025 | Lançamento e Monitoramento | - Lançamento final da plataforma para usuários selecionados
- Monitoramento inicial e coleta de feedbacks | Ajustes finais com base no feedback dos usuários | +| Sprint 1 | 14/11/2024 | 27/11/2024 | Planejamento e Definição de Backlog | - Definição do backlog inicial
- Configuração da arquitetura (React, FastAPI, MongoDB)
- Ambiente de desenvolvimento configurado | Revisão do backlog e confirmação de prioridade | +| Sprint 2 | 28/11/2024 | 11/12/2024 | Implementação do Sistema de Cadastro e Autenticação | - Entrega Parcial 1:
- Desenvolvimento do sistema de cadastro e autenticação de usuários
- Testes de segurança e fluxo de login | Validação do sistema de autenticação e ajuste de fluxo | +| Sprint 3 | 12/12/2024 | 23/12/2024 | Implementação do Sistema de Perguntas e Respostas | - Criação de um sistema básico de perguntas e respostas
- Testes de funcionalidade para coleta de resposta | Feedback sobre usabilidade e ajustes nas perguntas | +| **Intervalo** | **24/12/2024** | **08/01/2025** | **Pausa no desenvolvimento devido ao intervalo festivo** | | | +| Sprint 4 | 09/01/2025 | 20/01/2025 | Implementação da Gamificação | - Entrega Parcial 2:
- Implementação de mecânicas de gamificação
- Funcionalidades de pontuação e recompensas para engajamento dos alunos | Feedback sobre motivação e ajustes nas mecânicas de gamificação | +| Sprint 5 | 21/01/2025 | 03/02/2025 | Implementação da Análise de Dados | - Coleta e análise das respostas dos alunos
- Desenvolvimento de relatórios para professores e educadores | Validação das análises e feedback sobre a utilidade dos dados | +| Sprint 6 | 04/02/2025 | 16/02/2025 | Integração Completa e Personalização | - Entrega Parcial 3:
- Integração das funcionalidades principais (autenticação, perguntas, gamificação e análise de dados)
- Ajustes finais de interface e personalização para cada usuário | Validação do sistema integrado e feedback sobre experiência do usuário | +| Sprint 7 | 17/02/2025 | 22/02/2025 | Testes de Segurança e Homologação | - Testes de segurança finais, revisão de vulnerabilidades, homologação | Feedback sobre estabilidade e segurança | +| Sprint 8 | 23/02/2025 | 25/02/2025 | Lançamento e Monitoramento + --- ### Considerações Importantes -- **Datas de Início e Fim**: Cada sprint tem duração de duas semanas, com exceção das últimas duas, iniciando em 14/11/2024 e terminando em 18/02/2025. +- **Datas de Início e Fim**: Cada sprint tem duração média de duas semanas,porém existem variações. - **Validações**: Cada sprint inclui uma revisão de entregas com o cliente para feedback contínuo e ajustes no backlog. - **Entregas Parciais**: Entregas das funcionalidades principais, como integração de conteúdo, gamificação e análise dos dados, são distribuídas ao longo do projeto para garantir uma validação contínua antes do lançamento final. diff --git a/docs/produto/estrategias.md b/docs/produto/estrategias.md index d63e3a2..c62a189 100644 --- a/docs/produto/estrategias.md +++ b/docs/produto/estrategias.md @@ -36,3 +36,137 @@ O quadro a seguir, apresenta algumas características relacionadas ao RAD e ao S - **Maior Flexibilidade nos Requisitos**: ScrumXP permite revisões e ajustes de requisitos a cada sprint, essencial para um projeto que precisa se adaptar rapidamente ao feedback e às demandas do cliente. RAD, por focar em protótipos rápidos, pode não acompanhar mudanças frequentes no mesmo nível de detalhe. - **Integração Contínua com o Cliente**: ScrumXP envolve o cliente de forma constante, promovendo feedback a cada sprint. No RAD, o feedback do cliente é mais pontual e menos estruturado, o que pode resultar em um desalinhamento nos requisitos ao longo do projeto. + + +# ENGENHARIA DE REQUISITOS + +## Atividades e Técnicas de ER + +### Planejamento da Release + +#### Elicitação e Descoberta: +- **Entrevistas:** Entrevistas realizadas com o cliente, representante da Ideia Space, com o objetivo de entender melhor suas expectativas (associada a prioridades e necessidades) para uma nova versão. +- **Brainstorming:** Reuniões que permitem o surgimento de novas ideias para agregar na solução do produto de software. + +#### Análise e Consenso: +- **Storyboarding:** Narrativa para ilustrar o funcionamento esperado de novas funcionalidades. +- **Mapas mentais:** Utilização de mapas mentais para a organização de ideias e desenvolvimento de conceitos quando informações relacionadas ao produto não estão claras. +- **Sessões de validação:** Apresentação e validação de propostas com o cliente e a equipe para alinhamento e consenso. +- **Análise de custo-benefício:** Avaliação do impacto e custo de cada funcionalidade para definição da melhor escolha no momento. + +#### Declaração de Requisitos: +- **Critérios de aceitação:** Estabelecer critérios para cada funcionalidade para ajudar na validação e desenvolvimento. +- **Temas, Épicos e User Stories:** A organização dos requisitos em diferentes níveis proporciona uma melhor clareza do que deve ser desenvolvido. + +### Planejamento da Sprint + +#### Elicitação e Descoberta: +- **Refinamento de Requisitos:** Revisão e detalhamento dos requisitos no backlog, priorizando os itens para a sprint. +- **Análise Documental:** Avaliação de relatórios ou registros existentes para detalhar requisitos adicionais. + +#### Análise e Consenso: +- **Planning Poker:** Estimativa colaborativa do esforço e complexidade dos requisitos priorizados. +- **Diagramas de Sequência:** Representação visual de fluxos entre componentes do sistema para facilitar o entendimento técnico. +- **Discussões Técnicas:** Reuniões entre desenvolvedores para identificar dependências e alinhar estratégias de implementação. + +#### Declaração: +- **Definition of Done (DoD):** Lista de critérios para considerar uma funcionalidade concluída, incluindo testes e validações. +- **Critérios de Aceitação Detalhados:** Requisitos objetivos para validar que a funcionalidade atende às expectativas do cliente. +- **Kanban:** Utilizado para organizar e rastrear o progresso dos itens da sprint em colunas como "Planejado", "Em Progresso", "Em Teste" e "Concluído", proporcionando visibilidade contínua do status das funcionalidades e alinhamento com o DoD e os Critérios de Aceitação. + +#### Organização e Atualização: +- **Revisão do Backlog com Critérios DEEP:** Garantia de que os itens do backlog estão Detalhados, Estimáveis e Priorizados. +- **Priorização WSJF (Weighted Shortest Job First):** Técnica para priorizar tarefas com base em valor comercial, urgência e esforço necessário. + +--- + +### Execução da Sprint + +#### Elicitação e Descoberta: +- **Daily Scrum:** Reuniões diárias rápidas, geralmente de 15 minutos, realizadas para alinhar o progresso da equipe, identificar impedimentos e planejar as atividades do dia. + +#### Representação: +- **Protótipos:** Utilizados para validar a interface e o fluxo de funcionalidades antes do desenvolvimento completo. Eles permitem que a equipe visualize o produto final e realizem ajustes necessários no início da execução. + +#### Verificação e Validação: +- **Revisões de Código:** Atividade realizada entre pares para garantir que o código atenda aos padrões de qualidade e esteja alinhado aos requisitos. +- **Testes Automatizados:** Utilização de pipelines de integração contínua (CI) para validar o funcionamento correto das funcionalidades desenvolvidas. + +#### Desenvolvimento Colaborativo: +- **Pair Programming:** Técnica onde dois desenvolvedores trabalham juntos no mesmo código, alternando os papéis de "piloto" (quem escreve) e "navegador" (quem revisa). + +#### Organização e Atualização: +- **Kanban:** Quadro visual para acompanhar o progresso dos itens, com colunas como "Planejado", "Em Progresso", "Em Teste" e "Concluído", proporcionando visibilidade contínua do progresso da sprint. + +--- + +### Revisão de Sprint + +#### Verificação e Validação: +- **Checklist de Validação:** Garantir que os requisitos implementados atendem a todas as necessidades do cliente; apenas requisitos que completam totalmente o checklist serão apresentados. +- **Checklist de Verificação:** Garante que os requisitos implementados foram realizados corretamente; requisitos que não completem a checklist não poderão ser apresentados. +- **Definition of Done (DoD):** Será usado como base para a elaboração das checklists de validação e verificação. +- **Feedback do Cliente:** Durante a reunião de revisão, os comentários e sugestões do cliente sobre os requisitos implementados que foram apresentados serão documentados para uso futuro. +- **Revisão Informal:** A forma de apresentar os requisitos implementados ao cliente será por meio de demonstrações e explicações do seu funcionamento. As explicações serão orais e não se concentrarão muito no aspecto técnico, favorecendo casos de uso práticos. + +#### Análise e Consenso: +- **Análise de Custo / Benefício:** Verificar se as modificações e sugestões apresentadas pelo cliente geram valor suficiente para o negócio para serem implementadas. +- **Análise de Risco / Viabilidade:** Revisar, considerando o conhecimento do equipamento e as limitações do software utilizado, se é possível implementar as modificações e sugestões apresentadas pelo cliente. +- **Casos de Uso:** Verificar se existem casos de uso para as modificações e sugestões apresentadas pelo cliente para determinar se tais funcionalidades são necessárias. Caso existam, verificar o que deveria ou não ser permitido em cada uma delas. + +--- + +### Retrospectiva da Sprint + +#### Análise e Organização: +- **Feedback da Equipe:** Coleta de opiniões dos membros da equipe sobre pontos positivos e desafios enfrentados, com foco na melhoria contínua do processo. + +#### Atualização do Processo: +- **Definição de Ações Corretivas:** Planejamento de medidas para resolver os problemas identificados durante a sprint e melhorar a colaboração e eficiência do time. + +### Planejamento da Próxima Release + +#### Elicitação e Descoberta: +- **Revisão de Requisitos Pendentes:** Avaliação dos requisitos que não foram concluídos em sprints anteriores para decidir se ainda são relevantes e devem ser priorizados na próxima release. +- **Revisão do Backlog:** Análise do backlog existente para identificar requisitos alinhados com os objetivos do projeto e as necessidades do cliente. + +#### Análise e Consenso: +- **Priorização MoSCoW:** Técnica utilizada para classificar os requisitos em Must Have, Should Have, Could Have e Won’t Have, permitindo uma priorização clara baseada em impacto e valor. +- **Estimativas de Esforço e Tempo:** Utilização de práticas como o Planning Poker para estimar o esforço necessário para implementar cada requisito e prever o cronograma da próxima release. + +#### Declaração: +- **Definição de Objetivos da Release:** Estabelecimento das metas da próxima release por meio de sessões de brainstorming e reuniões colaborativas, garantindo alinhamento entre a equipe e os stakeholders. + +#### Organização e Atualização: +- **Backlog Organizado:** Aplicação de técnicas para organizar e priorizar os requisitos do backlog, garantindo que estejam prontos para o início do desenvolvimento. +- **Atualização do Backlog:** Revisão contínua do backlog para refletir as mudanças nas prioridades e no escopo do projeto. + + + +### Engenharia de Requisitos e ScrumXP + +| **Fases do Processo** | **Atividades ER** | **Prática** | **Técnica** | **Resultado Esperado** | +|--------------------------------|------------------------------------|---------------------------------|------------------------------------------------------------------|---------------------------------------------------------------------------------------| +| **Planejamento da Release** | **Elicitação e Descoberta** | Levantamento de requisitos | Entrevistas, brainstorming | Requisitos na sua forma mais bruta levantados | +| | **Análise e Consenso** | Confirmação dos requisitos | Mapas mentais, sessões de validação, análise de custo-benefício, storyboarding | Entendimento dos requisitos levantados e seleção para a release | +| | **Declaração** | Registro dos requisitos confirmados | Critérios de aceitação, temas, épicos e user stories | Registros que auxiliam no desenvolvimento e validação das funcionalidades | +| **Planejamento da Sprint** | **Refinamento de Requisitos** | Revisão Colaborativa | Análise Documental | Requisitos detalhados e prontos para desenvolvimento | +| | **Estimativa e Priorização** | Estimativa de Complexidade | Planning Poker | Requisitos priorizados com estimativas consensuais entre a equipe | +| | **Representação de Fluxos** | Planejamento Técnico | Diagramas de Sequência | Fluxos entre componentes do sistema detalhados para facilitar o entendimento técnico | +| | **Discussões Técnicas** | Definição de Padrões | Reuniões entre desenvolvedores | Estratégias alinhadas para resolver dependências e implementar requisitos | +| | **Validação de Conclusão** | Planejamento Visual | Kanban, Definition of Done (DoD) | Funcionalidades validadas conforme critérios predefinidos e organizadas visualmente | +| | **Revisão do Backlog** | Alinhamento Estratégico | Critérios DEEP, Priorização WSJF | Backlog refinado, com tarefas organizadas, priorizadas e alinhadas com os objetivos | +| **Execução da Sprint** | **Alinhamento Diário** | Planejamento Operacional | Daily Scrum | Progresso da equipe alinhado diariamente, com impedimentos identificados e resolvidos rapidamente | +| | **Desenvolvimento Colaborativo** | Colaboração entre Desenvolvedores | Pair Programming | Código desenvolvido com maior qualidade e compartilhamento de conhecimento entre os membros da equipe | +| | **Validação de Interface** | Prototipagem Ágil | Protótipos | Interface e fluxo validados antes do desenvolvimento completo, reduzindo retrabalho | +| | **Garantia de Qualidade** | Revisão Contínua | Revisões de Código, Testes Automatizados | Funcionalidades desenvolvidas com qualidade garantida e alinhadas aos requisitos | +| | **Rastreamento do Progresso** | Monitoramento Visual | Kanban | Progresso visualizado e rastreado continuamente, com itens atualizados durante a sprint | +| **Revisão da Sprint** | **Verificação e Validação** | Definição de requisitos a serem apresentados | Checklist de Validação, Checklist de Verificação, Definition of Done (DoD) | Lista de requisitos que serão apresentados ao cliente para revisão | +| | **Verificação e Validação** | Aprovação ou rejeição dos requisitos implementados | Feedback do cliente, Revisão informal | Requisito concluído, lista de modificações a serem feitas | +| | **Análise e Consenso** | Definição de novos requisitos | Análise de Custo / Benefício, Análise de Risco / Viabilidade, Casos de Uso | Lista de Requisitos RFs e RNFs com base nas modificações solicitadas pelo cliente | +| **Retrospectiva da Sprint** | **Feedback da Equipe** | Análise e Organização | Discussões em Grupo | Opiniões coletadas sobre pontos positivos e desafios enfrentados na sprint | +| | **Definição de Ações Corretivas** | Atualização do Processo | Planejamento de Melhorias | Medidas planejadas para resolver problemas e melhorar a eficiência do time | +| **Planejamento da Próxima Release** | **Organização e Atualização** | Revisão dos Requisitos Pendentes | Revisão do backlog | Requisitos alinhados e priorizados novamente | +| | **Análise e Consenso, Representação** | Priorização e Seleção de Requisitos | Técnica MoSCoW | Backlog organizado | +| | **Análise e Consenso** | Estimativas de Esforço e Tempo | Planning Poker | Previsão de cronograma | +| | **Análise e Consenso** | Definição dos Objetivos da Release | Brainstorm, reuniões entre a equipe, entrevistas | Metas da release definidas | \ No newline at end of file