From 7744aa0ca4d4cec90369fb53ad86c0e7a7921b37 Mon Sep 17 00:00:00 2001 From: Artur Rodrigues Date: Tue, 26 Sep 2023 22:39:52 -0300 Subject: [PATCH 01/15] Explicado o processo de engenharia de requisitos nos rituais do Scrum/XP MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: João Barreto <211039519@aluno.unb.br> --- docs/assets/facetas_ER.jpg | Bin 0 -> 37786 bytes docs/assets/processos_ER.jpg | Bin 0 -> 79595 bytes docs/doc-visao/4.processo-requisitos.md | 41 +++++++++++++++++++++++- 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 docs/assets/facetas_ER.jpg create mode 100644 docs/assets/processos_ER.jpg diff --git a/docs/assets/facetas_ER.jpg b/docs/assets/facetas_ER.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7487fa4a7687cd9575eacea9a10e80307d306e82 GIT binary patch literal 37786 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 Xpk1pZZ-GlMntr>D&=Jwe|z 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%0AbvJqM;%DGmdnP=CRjgmtWRB0 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 F{|9aKbyENU literal 0 HcmV?d00001 diff --git a/docs/assets/processos_ER.jpg b/docs/assets/processos_ER.jpg new file mode 100644 index 0000000000000000000000000000000000000000..380c78c89eb532e895cc2227db04621291a24b4a GIT binary patch literal 79595 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

IMP_r=tzH5~@ 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 Fe*h}R|8@WX literal 0 HcmV?d00001 diff --git a/docs/doc-visao/4.processo-requisitos.md b/docs/doc-visao/4.processo-requisitos.md index 6c14be4..adb4f44 100644 --- a/docs/doc-visao/4.processo-requisitos.md +++ b/docs/doc-visao/4.processo-requisitos.md @@ -10,8 +10,47 @@ | **Data** | **Versão** | **Descrição** | **Autor** | | --------- | ---------- | -------------------- | ------------------------------------------------------------- | | 26/9/2023 | 0.1 | Criação do documento | [Luciano de Freitas](https://github.com/luciano-freitas-melo) | +| 26/9/2023 | 0.2 | Documentação dos processos de Engenharia de Requisitos | [Artur Rodrigues](https://github.com/ArturRSA19) e [João Barreto](https://github.com/JoaoBarreto03)| +## Processos de Engenharia de Requisitos + +O Processo de Engenharia de Requisitos define quais são as etapas essenciais para a construção de um software, sendo aplicado em metodologias ágeis ou em processos dirigidos a plano. +

+![Processos Engenharia de Requisitos](../assets/processos_ER.jpg) +

+No desenvolvimento do projeto, utilizam-se o Scrum e o XP (Extreme Programming) que são duas metodologias ágeis populares para o desenvolvimento de software. Embora o Scrum se concentre principalmente na gestão de projetos ágeis e no planejamento de sprints, e o XP coloque uma ênfase maior em práticas de engenharia de software, ambos os métodos têm abordagens específicas para a engenharia de requisitos. A seguir serão descritos os processos de Engenharia de Requisitos nos rituais do Scrum/XP: + +### Scrum + +Os processos da metodologia Scrum que serão utilizados durante o desenvolvimento do projeto serão: + +- Sprints +- Brainstorming +- Dailies +- Product Backlog +- Releases + +### Extreme Programing (XP) + +No XP, os processos de Engenharia de Requisitos utilizados serão: + +- Desenvolvimento iterativo +- Presença do cliente para feedback contínuo +## Facetas do processo + +Uma vez que definidas as tarefas da Engenharia de Requisitos, é necessário estabelecer uma abordagem ou procedimento para realizá-las. No Handbook for the CPRE Foundation Level according to the IREB Standard, publicado pelo International Requirements Engineering Board (IREB), é apresentado um método para definir um processo de Engenharia de Requisitos com base na análise das diversas dimensões desse processo. É preciso analisar quais características extremas de cada aspecto se relacionam com o conhecimento atual e as expectativas em relação ao produto a ser desenvolvido. Com base nessa análise, juntamente com as definições previamente estabelecidas sobre o ciclo de vida e o processo de desenvolvimento de software, é possível estabelecer um processo a ser seguido para a execução das atividades de Engenharia de Requisitos. A Figura abaixo ilustra as diferentes dimensões desse processo. +

+![Facetas Engenharia de Requisitos](../assets/facetas_ER.jpg) +

Facetas da Engenharia de Requisitos (Fonte: Handbook IREB CPRE Foundation Level, Version 1.1.0, september 2022)
+

+ +A partir da descrição das facetas, é possível definir qual o melhor processo a ser utilizado no processo, sendo então escolhido o modelo Participativo, que engloba as facetas: iterativo, exploratório e cliente específico. Essa escolha foi baseada nos seguintes requisitos: + +- O projeto será desenvolvido em etapas de curto ciclo com um feedback contínuo por parte do cliente; +- Os requisitos do projeto não são totalmente conhecidos no início, havendo a necessidade de explorá-los ao longo de seu desenvolvimento; +- O projeto está sendo feito para atender às necessidades de um cliente específico. Logo, sua participação é de extrema importância no desenvolvimento do produto. ## Referências Bibliográficas -1. Material da disciplina disponivel no aprender +1. MARSICANO, George. Requisitos de Software: Introdução a Engenharia de Requisitos (ER). Brasília, 2023 +2. Handbook IREB CPRE Foundation Level, Version 1.1.0, september 2022. From ad5f02e3608c73613d5334fc1601799a8a03c1d0 Mon Sep 17 00:00:00 2001 From: Artur Rodrigues Date: Tue, 26 Sep 2023 23:34:07 -0300 Subject: [PATCH 02/15] =?UTF-8?q?Cria=C3=A7=C3=A3o=20da=20tabela=20de=20fe?= =?UTF-8?q?rramentas,=20explicando=20resumidamente=20sobre=20cada=20uma=20?= =?UTF-8?q?+=20adi=C3=A7=C3=A3o=20de=20imagens=20utilizadas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: João Barreto <211039519@aluno.unb.br> --- docs/assets/icones/chrome.svg | 1 + docs/assets/icones/figma.svg | 1 + docs/assets/icones/github.svg | 1 + docs/assets/icones/microsoft-teams.svg | 21 ++++++++++++++++ docs/assets/icones/mkdocs.svg | 18 ++++++++++++++ docs/assets/icones/visual-studio-code.svg | 1 + docs/assets/icones/wpp.svg | 29 +++++++++++++++++++++++ docs/assets/icones/youtube.svg | 1 + docs/doc-visao/4.processo-requisitos.md | 26 ++++++++++++++++++++ 9 files changed, 99 insertions(+) create mode 100644 docs/assets/icones/chrome.svg create mode 100644 docs/assets/icones/figma.svg create mode 100644 docs/assets/icones/github.svg create mode 100644 docs/assets/icones/microsoft-teams.svg create mode 100644 docs/assets/icones/mkdocs.svg create mode 100644 docs/assets/icones/visual-studio-code.svg create mode 100644 docs/assets/icones/wpp.svg create mode 100644 docs/assets/icones/youtube.svg diff --git a/docs/assets/icones/chrome.svg b/docs/assets/icones/chrome.svg new file mode 100644 index 0000000..3f64451 --- /dev/null +++ b/docs/assets/icones/chrome.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/icones/figma.svg b/docs/assets/icones/figma.svg new file mode 100644 index 0000000..80f057f --- /dev/null +++ b/docs/assets/icones/figma.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/icones/github.svg b/docs/assets/icones/github.svg new file mode 100644 index 0000000..18e9450 --- /dev/null +++ b/docs/assets/icones/github.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/icones/microsoft-teams.svg b/docs/assets/icones/microsoft-teams.svg new file mode 100644 index 0000000..b43c7b1 --- /dev/null +++ b/docs/assets/icones/microsoft-teams.svg @@ -0,0 +1,21 @@ + + + + + + + + + diff --git a/docs/assets/icones/mkdocs.svg b/docs/assets/icones/mkdocs.svg new file mode 100644 index 0000000..09ae0e6 --- /dev/null +++ b/docs/assets/icones/mkdocs.svg @@ -0,0 +1,18 @@ + + + + + + + + + diff --git a/docs/assets/icones/visual-studio-code.svg b/docs/assets/icones/visual-studio-code.svg new file mode 100644 index 0000000..67aee17 --- /dev/null +++ b/docs/assets/icones/visual-studio-code.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/assets/icones/wpp.svg b/docs/assets/icones/wpp.svg new file mode 100644 index 0000000..55298e9 --- /dev/null +++ b/docs/assets/icones/wpp.svg @@ -0,0 +1,29 @@ + + + + + + + + + diff --git a/docs/assets/icones/youtube.svg b/docs/assets/icones/youtube.svg new file mode 100644 index 0000000..dbedef6 --- /dev/null +++ b/docs/assets/icones/youtube.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/doc-visao/4.processo-requisitos.md b/docs/doc-visao/4.processo-requisitos.md index adb4f44..2a4597d 100644 --- a/docs/doc-visao/4.processo-requisitos.md +++ b/docs/doc-visao/4.processo-requisitos.md @@ -27,6 +27,7 @@ Os processos da metodologia Scrum que serão utilizados durante o desenvolviment - Sprints - Brainstorming - Dailies +- Entrevista com o cliente - Product Backlog - Releases @@ -50,7 +51,32 @@ A partir da descrição das facetas, é possível definir qual o melhor processo - Os requisitos do projeto não são totalmente conhecidos no início, havendo a necessidade de explorá-los ao longo de seu desenvolvimento; - O projeto está sendo feito para atender às necessidades de um cliente específico. Logo, sua participação é de extrema importância no desenvolvimento do produto. +## Ferramentas + +As ferramentas foram selecionadas de modo a facilitar a comunicação entre os membros da equipe e alavancar, na medida do possível, a produtividade e criatividade. Nesse sentido, as ferramentas são as seguintes, listadas na Tabela 1: + +
+ +Logo | Ferramenta | Finalidade | +|---|---|---| +| | Figma | Trabalhar com protótipos de alta fidelidade | +| | Google Chrome | Ferramenta de pesquisa e estudos | +| | Github | Armazenar os conteúdos no repositório da disciplina | +| | Microsoft Teams | Realizar as reuniões semanais e gravar os vídeos das apresentações | +| | Mkdocs | Criação do template da github pages | +| | VSCode | Programação e edição da github pages | +| | WhatsApp | Manter a comunicação entre os integrantes | +| | Youtube | Compartilhar apresentações e disponibilizar as reuniões semanais | + +
+ +
+

Tabela 1: Ferramentas utilizadas no projeto (Fonte: autor, 2023).

+
+ + ## Referências Bibliográficas 1. MARSICANO, George. Requisitos de Software: Introdução a Engenharia de Requisitos (ER). Brasília, 2023 2. Handbook IREB CPRE Foundation Level, Version 1.1.0, september 2022. +C:\Users\User\Desktop\REQ\2023-2-BeachTennisCoordiMate\docs\assets\icones\figma.svg \ No newline at end of file From 8f6a6d2646addb4a2ffcdb365cfdc2a03df81c52 Mon Sep 17 00:00:00 2001 From: Artur Rodrigues Date: Tue, 26 Sep 2023 23:45:53 -0300 Subject: [PATCH 03/15] =?UTF-8?q?Colocar=20as=20atividades=20de=20ER=20a?= =?UTF-8?q?=20serem=20feitas,=20juntamente=20com=20seus=20m=C3=A9todos,=20?= =?UTF-8?q?ferramentas=20e=20entregas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: João Barreto <211039519@aluno.unb.br> --- docs/doc-visao/4.processo-requisitos.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/doc-visao/4.processo-requisitos.md b/docs/doc-visao/4.processo-requisitos.md index 2a4597d..96f1321 100644 --- a/docs/doc-visao/4.processo-requisitos.md +++ b/docs/doc-visao/4.processo-requisitos.md @@ -74,6 +74,18 @@ Logo | Ferramenta | Finalidade |

Tabela 1: Ferramentas utilizadas no projeto (Fonte: autor, 2023).

+## Atividades de Engenharia de Requisitos + +A tabela abaixo mostra a relação entre as atividades do Processo de Engenharia de Requisitos, os métodos do Scrum e do XP utilizados, as ferramentas necessárias e a definição do que será entregue naquela etapa. + +| Atividades | Métodos | Ferramentas | Entrega +| --- | --- | --- | --- +| Elicitação e descoberta | Sprint e Brainstorming | Microsoft Teams, Whatsapp e Google Chrome | Conhecimento sobre o projeto e levantamento das atividades a serem realizadas +| Análise e consenso | Brainstorming, Sprint e Daily | Microsoft Teams, Whatsapp e GitHub | Comum acordo com relação aos requisitos levantados +| Declaração | Temas e Épicos | Microsoft Teams, WhatsApp e GitHub | Definição dos requisitos em um nível mais detalhado e estruturado +| Representação | Criação de protótipos, diagramas e rascunhos| Figma | Protótipos de baixa e alta fidelidade para desenvolvimento do projeto +| Validação e Verificação | Brainstorming e entrevista com o cliente | Whatsapp, GitHub e Microsoft Teams | Verificação de requisitos validados +| Organização e atualização | Daily e Sprint | GitHub | Organização dos requisitos estruturados juntamente com seu desenvolvimento ## Referências Bibliográficas From 2ba8d56839ddc2dc64ca82406b2a9de065d0e08e Mon Sep 17 00:00:00 2001 From: Weslley Barros Date: Wed, 27 Sep 2023 12:21:38 -0300 Subject: [PATCH 04/15] Adiciona template das sprints --- docs/sprints/template/planning.md | 39 +++++++++++++++++++++ docs/sprints/template/review.md | 56 +++++++++++++++++++++++++++++++ mkdocs.yml | 7 ++-- 3 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 docs/sprints/template/planning.md create mode 100644 docs/sprints/template/review.md diff --git a/docs/sprints/template/planning.md b/docs/sprints/template/planning.md new file mode 100644 index 0000000..d771315 --- /dev/null +++ b/docs/sprints/template/planning.md @@ -0,0 +1,39 @@ +# Sprint [Número da Sprint] +**Período: 15/09/2023 - 27/09/2023** + +## Planning + + + +### Objetivos da Sprint +- [Incluir uma breve descrição dos principais objetivos e metas que a equipe pretende alcançar durante esta Sprint.] + +### Itens do Product Backlog + + 1. [Nome/Título da História do Usuário ou Tarefa] + - Descrição: [Breve descrição da funcionalidade ou tarefa] + - Critérios de Aceitação: + - [Cada critério específico que deve ser atendido para considerar a história como concluída] + - Estimativa de Esforço: [Estimativa de pontos ou horas] + +### Capacidade da Equipe +- [Indicar a capacidade da equipe para esta Sprint, levando em consideração fatores como feriados, ausências etc.] + +### Compromissos Anteriores (se aplicável) +- [Listar quaisquer compromissos ou tarefas pendentes de sprints anteriores, se houver.] + +### Planejamento de Tarefas + + 1. Divisão de Tarefas para a História do Usuário 1:** + - [Membro 1]: [Tarefas atribuídas] + - [Membro 2]: [Tarefas atribuídas] + +### Observações/Notas Importantes +- [Incluir quaisquer observações, notas ou alertas importantes para a equipe durante esta Sprint.] + + +### Revisão do Backlog e Compromissos +- Revisão geral dos itens do Product Backlog e compromissos assumidos pela equipe. + +### Anotações Gerais: +- [Espaço para anotações adicionais ou informações relevantes.] diff --git a/docs/sprints/template/review.md b/docs/sprints/template/review.md new file mode 100644 index 0000000..e224ff6 --- /dev/null +++ b/docs/sprints/template/review.md @@ -0,0 +1,56 @@ +# Sprint [Número da Sprint] +**Período: 15/09/2023 - 27/09/2023** + +## Review + + +### Resumo da Sprint +- [Breve resumo do que foi planejado para a Sprint e os objetivos atingidos.] + +### Entregas Concluídas + +1. **Visão Geral:** + - [Breve descrição geral do progresso alcançado durante a Sprint.] + +2. **Itens do Backlog Concluídos:** + - [Lista de itens do backlog que foram concluídos e entregues.] + +3. **Demonstrações:** + - [Exibições ou demonstrações de funcionalidades concluídas, se aplicável.] + + + +### Comparação com Objetivos Iniciais + +- [Rever os objetivos estabelecidos no início da sprint e avaliar como foram alcançados.] + +### Pontos Fortes e Realizações + +- [Destacar os aspectos positivos, conquistas notáveis ou inovações durante a sprint.] + + +### Desafios e Lições Aprendidas + +- [Identificar desafios encontrados e discutir as lições aprendidas durante a sprint.] + +### Feedback do Cliente/Usuário + +- [Incluir qualquer feedback recebido dos stakeholders, clientes ou usuários.] + +### Próximos Passos + +- [Descrever os próximos passos com base no trabalho concluído e no feedback recebido.] + +### Agradecimentos e Reconhecimentos + +- [Reconhecer e agradecer o esforço da equipe durante a sprint.] + +### Pontos a Melhorar + +- [Identificar áreas específicas que podem ser aprimoradas na próxima sprint.] + + +### Agenda para a Próxima Sprint + +- [Listar tópicos a serem discutidos ou planejados para a próxima sprint.] + diff --git a/mkdocs.yml b/mkdocs.yml index ebd56ee..579e754 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -29,6 +29,7 @@ nav: - Processo de Desenvolvimento: doc-visao/3.processo-dev.md - Processo de Engenharia de Requisitos: doc-visao/4.processo-requisitos.md - Lições Aprendidas: doc-visao/5.licoes-aprendidas.md - - - \ No newline at end of file + - Sprints: + - template: + - Planning: sprints/template/planning.md + - Review: sprints/template/review.md \ No newline at end of file From 8d19b777ef9e8a8ec79afc722008ea33827db727 Mon Sep 17 00:00:00 2001 From: Weslley Barros Date: Wed, 27 Sep 2023 12:22:45 -0300 Subject: [PATCH 05/15] Adiciona template de PR e Issues --- .github/ISSUE_TEMPLATE/bug_report.md | 51 +++++++++++++++++++ .github/ISSUE_TEMPLATE/user_story.md | 33 ++++++++++++ .github/PULL_REQUEST_TEMPLATE/codigo.mc | 42 +++++++++++++++ .github/PULL_REQUEST_TEMPLATE/documentacao.mc | 27 ++++++++++ 4 files changed, 153 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/user_story.md create mode 100644 .github/PULL_REQUEST_TEMPLATE/codigo.mc create mode 100644 .github/PULL_REQUEST_TEMPLATE/documentacao.mc diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..61275a6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,51 @@ +--- +name: Bug report +about: Bug encontrado na aplicação +title: "[BUG] - " +labels: 'bug' +assignees: '' + +--- + +# Relatório de Bug + +## Descrição do Bug + +Descreva de forma clara e concisa qual é o bug. + +## Passos para Reprodução + +1. Liste os passos específicos para reproduzir o bug. +2. Certifique-se de incluir qualquer configuração ou pré-requisitos necessários. + +## Comportamento Esperado + +Descreva o que você esperava que acontecesse. + +## Comportamento Atual + +Descreva o que realmente está acontecendo. + +## Screenshots + +Se aplicável, inclua capturas de tela que ajudem a explicar o problema. + +## Contexto Adicional (opcional) + +Forneça qualquer informação adicional que possa ser relevante para entender o bug. + +## Possível Solução (opcional) + +Se você tiver alguma ideia sobre como corrigir o bug, por favor, compartilhe. + +## Logs e Mensagens de Erro (se disponíveis) + +Inclua quaisquer logs ou mensagens de erro relevantes. + +## Data de Descoberta do Bug + +Inclua a data em que o bug foi descoberto. + +## Prioridade + +Indique a prioridade do bug de acordo com sua gravidade (por exemplo, Baixa, Média, Alta). \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/user_story.md b/.github/ISSUE_TEMPLATE/user_story.md new file mode 100644 index 0000000..16fed4f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/user_story.md @@ -0,0 +1,33 @@ +--- +name: User Story Template +about: Template para user stories +title: "[US001] - " +labels: 'user story' +assignees: '' + +--- + +# US001 - História do Usuário + +## Descrição + +Eu, como [tipo de usuário], desejo [realizar uma ação] para [atingir um objetivo]. + +## Critérios de Aceitação + +- [ ] Critério 1 +- [ ] Critério 2 +- [ ] ... + +## Notas Adicionais (opcional) + +Inclua informações adicionais relevantes para a compreensão da história do usuário. + +## Critérios de Aceitação Detalhados (opcional) + +Detalhe mais os critérios de aceitação, se necessário. + +## Link para Wireframes ou Design (opcional) + +Inclua links para qualquer wireframe ou design relacionado à história do usuário. + diff --git a/.github/PULL_REQUEST_TEMPLATE/codigo.mc b/.github/PULL_REQUEST_TEMPLATE/codigo.mc new file mode 100644 index 0000000..db11478 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/codigo.mc @@ -0,0 +1,42 @@ +--- +name: Documentação Template +about: Template para Código +title: "" +labels: '' +assignees: '' +--- + +# Nome da Feature ou Melhoria + +## Descrição +[Inclua uma breve descrição do que essa alteração ou adição faz.] + +- [ ] Alteração/Acrescento em XXX +- [ ] Adição/Atualização/Remoção de XX +- [ ] Outra modificação específica (especifique) + +## Issues Relacionada + + +[#NúmeroDaIssue - TítuloDaIssue](https://github.com/mdsreq-fga-unb/2023-2-BeachTennisCoordiMate/issues/NúmeroDaIssue) +[#NúmeroDaIssue - TítuloDaIssue](https://github.com/mdsreq-fga-unb/2023-2-BeachTennisCoordiMate/issues/NúmeroDaIssue) + +Closes [#NúmeroDaIssue](https://github.com/mdsreq-fga-unb/2023-2-BeachTennisCoordiMate/issues/NúmeroDaIssue) + +## Tipos de Mudanças +Marque o tipo de mudança realizada: + +- [ ] _Bug fix_ (alteração que corrige uma _issue_ e não altera funcionalidades existentes) +- [ ] Nova _feature_ (alteração que adiciona uma funcionalidade e não altera funcionalidades já existentes) +- [ ] Alteração disruptiva (_Breaking change_) (Correção ou funcionalidade que causa alteração nas funcionalidades existentes) +- [ ] Documentação +- [ ] Outro (especifique) + +## Detalhes Adicionais +[Inclua informações adicionais relevantes sobre a mudança realizada.] + +## Testes Realizados +[Descreva os testes que foram realizados para garantir que a mudança funcione conforme esperado.] + +## Screenshots (se aplicável) +[Inclua qualquer captura de tela ou imagem que ajude a visualizar a mudança, se aplicável.] \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE/documentacao.mc b/.github/PULL_REQUEST_TEMPLATE/documentacao.mc new file mode 100644 index 0000000..a486853 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/documentacao.mc @@ -0,0 +1,27 @@ +--- +name: Documentação Template +about: Template para Documentação +title: "" +labels: 'documentation' +assignees: '' +--- + +# Nome da Feature ou Melhoria + +## Descrição +[Inclua uma breve descrição do que essa alteração ou adição faz.] + +- [ ] Alteração/Acrescento em XXX +- [ ] Adição/Atualização/Remoção de XX +- [ ] Outra modificação específica (especifique) + +## Issues Relacionada + + +[#NúmeroDaIssue - TítuloDaIssue](https://github.com/mdsreq-fga-unb/2023-2-BeachTennisCoordiMate/issues/NúmeroDaIssue) +[#NúmeroDaIssue - TítuloDaIssue](https://github.com/mdsreq-fga-unb/2023-2-BeachTennisCoordiMate/issues/NúmeroDaIssue) + +Closes [#NúmeroDaIssue](https://github.com/mdsreq-fga-unb/2023-2-BeachTennisCoordiMate/issues/NúmeroDaIssue) + +## Detalhes Adicionais (opcional) +[Inclua informações adicionais relevantes sobre a mudança realizada.] \ No newline at end of file From 851c823c54d20d5067ae54086e586f46d4dd429a Mon Sep 17 00:00:00 2001 From: Weslley Barros Date: Wed, 27 Sep 2023 12:27:44 -0300 Subject: [PATCH 06/15] Remove checkbox de documentacao --- .github/PULL_REQUEST_TEMPLATE/codigo.mc | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE/codigo.mc b/.github/PULL_REQUEST_TEMPLATE/codigo.mc index db11478..15a6f2a 100644 --- a/.github/PULL_REQUEST_TEMPLATE/codigo.mc +++ b/.github/PULL_REQUEST_TEMPLATE/codigo.mc @@ -29,7 +29,6 @@ Marque o tipo de mudança realizada: - [ ] _Bug fix_ (alteração que corrige uma _issue_ e não altera funcionalidades existentes) - [ ] Nova _feature_ (alteração que adiciona uma funcionalidade e não altera funcionalidades já existentes) - [ ] Alteração disruptiva (_Breaking change_) (Correção ou funcionalidade que causa alteração nas funcionalidades existentes) -- [ ] Documentação - [ ] Outro (especifique) ## Detalhes Adicionais From 309bc00a7e7c79e9a7bdc6dc8eaea31a5869d077 Mon Sep 17 00:00:00 2001 From: Weslley Barros Date: Wed, 27 Sep 2023 14:22:46 -0300 Subject: [PATCH 07/15] Adiciona data generica --- docs/sprints/template/planning.md | 2 +- docs/sprints/template/review.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sprints/template/planning.md b/docs/sprints/template/planning.md index d771315..31622e4 100644 --- a/docs/sprints/template/planning.md +++ b/docs/sprints/template/planning.md @@ -1,5 +1,5 @@ # Sprint [Número da Sprint] -**Período: 15/09/2023 - 27/09/2023** +**Período: xx/xx/2023 - xx/xx/2023** ## Planning diff --git a/docs/sprints/template/review.md b/docs/sprints/template/review.md index e224ff6..eb3a383 100644 --- a/docs/sprints/template/review.md +++ b/docs/sprints/template/review.md @@ -1,5 +1,5 @@ # Sprint [Número da Sprint] -**Período: 15/09/2023 - 27/09/2023** +**Período: xx/xx/2023 - xx/xx/2023** ## Review From 393aa0b38e56570ac5712bdbf34cf2c67c43cddb Mon Sep 17 00:00:00 2001 From: Weslley Barros Date: Wed, 27 Sep 2023 14:23:30 -0300 Subject: [PATCH 08/15] Adiciona retro --- docs/sprints/template/retrospective.md | 24 ++++++++++++++++++++++++ mkdocs.yml | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 docs/sprints/template/retrospective.md diff --git a/docs/sprints/template/retrospective.md b/docs/sprints/template/retrospective.md new file mode 100644 index 0000000..335b54f --- /dev/null +++ b/docs/sprints/template/retrospective.md @@ -0,0 +1,24 @@ +# Sprint [Número da Sprint] +**Período: xx/xx/2023 - xx/xx/2023** + +## Retrospective + +### O que deu certo + - Identificar e discutir as atividades, práticas ou ações que foram bem-sucedidas durante o último ciclo. + - Celebrar conquistas e marcos alcançados. + - Destacar as boas práticas e as razões por trás do sucesso. + +### O que pode ser melhorado + - Identificar e discutir os desafios, obstáculos ou áreas que precisam de melhoria. + - Analisar as causas subjacentes de problemas ou dificuldades. + - Focar em aprendizados e oportunidades de crescimento. + +### Ações a serem tomadas + - Definir ações específicas e tangíveis para abordar as áreas que precisam de melhoria. + - Atribuir responsabilidades claras para implementar as ações identificadas. + - Estabelecer prazos para a conclusão das ações e acompanhamento contínuo. + +### Feedback Final + - Permitir que os membros da equipe expressem quaisquer preocupações ou pensamentos finais. + - Encorajar a comunicação aberta e a construção de um ambiente de confiança. + - Agradecer à equipe pelo esforço e colaboração durante o ciclo. diff --git a/mkdocs.yml b/mkdocs.yml index 579e754..8aafb0b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -32,4 +32,5 @@ nav: - Sprints: - template: - Planning: sprints/template/planning.md - - Review: sprints/template/review.md \ No newline at end of file + - Review: sprints/template/review.md + - Retrospective: sprints/template/retrospective.md \ No newline at end of file From bdc904b8e9d68f695d57752caed40772a829bb08 Mon Sep 17 00:00:00 2001 From: Artur Rodrigues Date: Wed, 27 Sep 2023 17:01:31 -0300 Subject: [PATCH 09/15] =?UTF-8?q?Refatora=C3=A7=C3=A3o=20e=20corre=C3=A7?= =?UTF-8?q?=C3=A3o=20da=20documenta=C3=A7=C3=A3o=20dos=20processos=20de=20?= =?UTF-8?q?Engenharia=20de=20Requisitos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: João Barreto <211039519@aluno.unb.br> Co-authored-by: Luciano Freitas --- docs/assets/icones/discord.svg | 8 ++ docs/assets/icones/figma.svg | 1 - docs/doc-visao/4.processo-requisitos.md | 117 ++++++++++++++++-------- 3 files changed, 86 insertions(+), 40 deletions(-) create mode 100644 docs/assets/icones/discord.svg delete mode 100644 docs/assets/icones/figma.svg diff --git a/docs/assets/icones/discord.svg b/docs/assets/icones/discord.svg new file mode 100644 index 0000000..c03e8e1 --- /dev/null +++ b/docs/assets/icones/discord.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/docs/assets/icones/figma.svg b/docs/assets/icones/figma.svg deleted file mode 100644 index 80f057f..0000000 --- a/docs/assets/icones/figma.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/docs/doc-visao/4.processo-requisitos.md b/docs/doc-visao/4.processo-requisitos.md index 96f1321..ec9dc1b 100644 --- a/docs/doc-visao/4.processo-requisitos.md +++ b/docs/doc-visao/4.processo-requisitos.md @@ -9,57 +9,63 @@ | **Data** | **Versão** | **Descrição** | **Autor** | | --------- | ---------- | -------------------- | ------------------------------------------------------------- | -| 26/9/2023 | 0.1 | Criação do documento | [Luciano de Freitas](https://github.com/luciano-freitas-melo) | -| 26/9/2023 | 0.2 | Documentação dos processos de Engenharia de Requisitos | [Artur Rodrigues](https://github.com/ArturRSA19) e [João Barreto](https://github.com/JoaoBarreto03)| +| 26/9/2023 | 0.1 | Criação do documento | [Luciano de Freitas](https://github.com/luciano-freitas-melo) | +| 26/9/2023 | 0.2 | Documentação dos processos de Engenharia de Requisitos | [Artur Rodrigues](https://github.com/ArturRSA19) e [João Barreto](https://github.com/JoaoBarreto03)| +| 27/9/2023 | 0.2.1 | Refatoração e correção da documentação dos processos de Engenharia de Requisitos | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03) e [Luciano de Freitas](https://github.com/luciano-freitas-melo)| ## Processos de Engenharia de Requisitos -O Processo de Engenharia de Requisitos define quais são as etapas essenciais para a construção de um software, sendo aplicado em metodologias ágeis ou em processos dirigidos a plano. -

+*Segundo [MARSICANO (2023)¹](#referencias-bibliograficas), o Processo de Engenharia de Requisitos define quais são as etapas essenciais para a construção de um software, sendo aplicado em metodologias ágeis ou em processos dirigidos a plano. A Figura 1 mostra as atividades pertencentes à ER:* + +

Figura 1 - Atividades da Engenharia de Requisitos

+ ![Processos Engenharia de Requisitos](../assets/processos_ER.jpg) -

-No desenvolvimento do projeto, utilizam-se o Scrum e o XP (Extreme Programming) que são duas metodologias ágeis populares para o desenvolvimento de software. Embora o Scrum se concentre principalmente na gestão de projetos ágeis e no planejamento de sprints, e o XP coloque uma ênfase maior em práticas de engenharia de software, ambos os métodos têm abordagens específicas para a engenharia de requisitos. A seguir serão descritos os processos de Engenharia de Requisitos nos rituais do Scrum/XP: + +

Fonte: MARSICANO, George (2023)

+ +*No desenvolvimento do projeto, utilizam-se o Scrum e o XP (Extreme Programming) que são duas metodologias ágeis populares para o desenvolvimento de software. Embora o Scrum se concentre principalmente na gestão de projetos ágeis e no planejamento de sprints, e o XP coloque uma ênfase maior em práticas de engenharia de software, ambos os métodos têm abordagens específicas para a engenharia de requisitos. A seguir serão descritos os processos de Engenharia de Requisitos nos rituais do Scrum/XP:* ### Scrum -Os processos da metodologia Scrum que serão utilizados durante o desenvolvimento do projeto serão: +*Os processos da metodologia Scrum que serão utilizados durante o desenvolvimento do projeto serão:* -- Sprints -- Brainstorming -- Dailies -- Entrevista com o cliente -- Product Backlog -- Releases +- Product Backlog - Este processo é responsável por manter os requisitos do projeto em uma evolução constante e atribuir uma prioridade maior aos requisitos mais importantes, permitindo ajustes durante o desenvolvimento do produto a cada Sprint. +- Sprint Backlog - Com esse processo, é possível planejar quais requisitos deverão ser trabalhados naquela iteração, além de permitir o acompanhamento dos requisitos que já foram concluídos ou que estão em andamento. +- Definition of Done (DoD) - Esse processo é crucial para garantir que os requisitos sejam implementados de forma adequada e completa. Ela estabelece os critérios que um incremento de trabalho deve atender para ser considerado pronto para entrega. Isso ajuda a garantir que os requisitos tenham sido atendidos completamente e que o trabalho tenha alta qualidade. ### Extreme Programing (XP) -No XP, os processos de Engenharia de Requisitos utilizados serão: +*No XP, os processos de Engenharia de Requisitos utilizados serão:* + +- User Story (US) - Este processo auxilia na compreensão dos requisitos do projeto e pode ser utilizado para rastrear o ponto de desenvolvimento em que a equipe se encontra, a medida que as histórias são concluídas. Além disso, este processo pode ser muito utilizado no quesito de recebimento do Feedback do cliente a cada entrega, permitindo a atualização e melhoria dos requisitos. +- Tasks - Desempenham um papel importante no desenvolviemtno de software ágil. As Tasks são basicamente subdivisôes de itens do Product Backlog que descrevem o trabalho específico necessário para implementar um requisito. As Tasks estão relacionadas com à Engenharia de Requisitos justamente pela sua capacidade de detalhamento de requisitos, atribuição de trabalho, acompanhamento de progresso além da sinalização da conclusão de requisitos. -- Desenvolvimento iterativo -- Presença do cliente para feedback contínuo ## Facetas do processo -Uma vez que definidas as tarefas da Engenharia de Requisitos, é necessário estabelecer uma abordagem ou procedimento para realizá-las. No Handbook for the CPRE Foundation Level according to the IREB Standard, publicado pelo International Requirements Engineering Board (IREB), é apresentado um método para definir um processo de Engenharia de Requisitos com base na análise das diversas dimensões desse processo. É preciso analisar quais características extremas de cada aspecto se relacionam com o conhecimento atual e as expectativas em relação ao produto a ser desenvolvido. Com base nessa análise, juntamente com as definições previamente estabelecidas sobre o ciclo de vida e o processo de desenvolvimento de software, é possível estabelecer um processo a ser seguido para a execução das atividades de Engenharia de Requisitos. A Figura abaixo ilustra as diferentes dimensões desse processo. -

+*Uma vez que definidas as tarefas da Engenharia de Requisitos, é necessário estabelecer uma abordagem ou procedimento para realizá-las. No Handbook for the CPRE Foundation Level according to the IREB Standard, publicado pelo International Requirements Engineering Board (IREB), é apresentado um método para definir um processo de Engenharia de Requisitos com base na análise das diversas dimensões desse processo. É preciso analisar quais características extremas de cada aspecto se relacionam com o conhecimento atual e as expectativas em relação ao produto a ser desenvolvido. Com base nessa análise, juntamente com as definições previamente estabelecidas sobre o ciclo de vida e o processo de desenvolvimento de software, é possível estabelecer um processo a ser seguido para a execução das atividades de Engenharia de Requisitos. A **Figura 2** ilustra as diferentes dimensões desse processo:* + +

Figura 2 - Facetas da Engenharia de Requisitos.

+ ![Facetas Engenharia de Requisitos](../assets/facetas_ER.jpg) -
Facetas da Engenharia de Requisitos (Fonte: Handbook IREB CPRE Foundation Level, Version 1.1.0, september 2022)
-

-A partir da descrição das facetas, é possível definir qual o melhor processo a ser utilizado no processo, sendo então escolhido o modelo Participativo, que engloba as facetas: iterativo, exploratório e cliente específico. Essa escolha foi baseada nos seguintes requisitos: +

(Fonte: Handbook IREB CPRE Foundation Level, 2022)

+ + +*A partir da descrição das facetas, é possível definir qual o melhor processo a ser utilizado no processo, sendo então escolhido o modelo Participativo, que engloba as facetas: iterativo, exploratório e cliente específico. Essa escolha foi baseada nos seguintes requisitos:* - O projeto será desenvolvido em etapas de curto ciclo com um feedback contínuo por parte do cliente; - Os requisitos do projeto não são totalmente conhecidos no início, havendo a necessidade de explorá-los ao longo de seu desenvolvimento; -- O projeto está sendo feito para atender às necessidades de um cliente específico. Logo, sua participação é de extrema importância no desenvolvimento do produto. +- O projeto está sendo feito para atender às necessidades de um cliente específico. Logo, a participação do mesmo é de extrema importância no desenvolvimento do produto. ## Ferramentas -As ferramentas foram selecionadas de modo a facilitar a comunicação entre os membros da equipe e alavancar, na medida do possível, a produtividade e criatividade. Nesse sentido, as ferramentas são as seguintes, listadas na Tabela 1: +*As ferramentas foram selecionadas de modo a facilitar a comunicação entre os membros da equipe e alavancar, na medida do possível, a produtividade e criatividade. Nesse sentido, as ferramentas são as seguintes, listadas na **Tabela 1**:* -
+

Tabela 1 - Ferramentas utilizadas no projeto.

Logo | Ferramenta | Finalidade | |---|---|---| -| | Figma | Trabalhar com protótipos de alta fidelidade | +| | Discord | Realizar as Sprints e Dailies | | | Google Chrome | Ferramenta de pesquisa e estudos | | | Github | Armazenar os conteúdos no repositório da disciplina | | | Microsoft Teams | Realizar as reuniões semanais e gravar os vídeos das apresentações | @@ -68,27 +74,60 @@ Logo | Ferramenta | Finalidade | | | WhatsApp | Manter a comunicação entre os integrantes | | | Youtube | Compartilhar apresentações e disponibilizar as reuniões semanais | -
- -
-

Tabela 1: Ferramentas utilizadas no projeto (Fonte: autor, 2023).

-
+

(Fonte: Autores, 2023)

## Atividades de Engenharia de Requisitos -A tabela abaixo mostra a relação entre as atividades do Processo de Engenharia de Requisitos, os métodos do Scrum e do XP utilizados, as ferramentas necessárias e a definição do que será entregue naquela etapa. +*As **tabelas 2 a 5** mostram a relação entre as atividades do Processo de Engenharia de Requisitos, os métodos do Scrum e do XP utilizados, as ferramentas necessárias e a definição do que será entregue naquela etapa.* + + +### Sprint Planning e Release Planning + + +

Tabela 2 - Atividades, Métodos, Ferramentas e Entrega baseados nas Atividades de Engenharia de Requisitos.

| Atividades | Métodos | Ferramentas | Entrega | --- | --- | --- | --- -| Elicitação e descoberta | Sprint e Brainstorming | Microsoft Teams, Whatsapp e Google Chrome | Conhecimento sobre o projeto e levantamento das atividades a serem realizadas -| Análise e consenso | Brainstorming, Sprint e Daily | Microsoft Teams, Whatsapp e GitHub | Comum acordo com relação aos requisitos levantados -| Declaração | Temas e Épicos | Microsoft Teams, WhatsApp e GitHub | Definição dos requisitos em um nível mais detalhado e estruturado -| Representação | Criação de protótipos, diagramas e rascunhos| Figma | Protótipos de baixa e alta fidelidade para desenvolvimento do projeto -| Validação e Verificação | Brainstorming e entrevista com o cliente | Whatsapp, GitHub e Microsoft Teams | Verificação de requisitos validados -| Organização e atualização | Daily e Sprint | GitHub | Organização dos requisitos estruturados juntamente com seu desenvolvimento +| Elicitação e descoberta | User Story, Brainstorming e Observação | Microsoft Teams, Discord, Whatsapp e Google Chrome | Conjunto de User Story, lista de necessidades e Visão de Produto +| Análise e consenso | User Story Mapping | Microsoft Teams, Discord, Whatsapp e GitHub | User Stories priorizadas e funcionalidades que serão entregues na release. + +

(Fonte: Autores, 2023)

+ +### Sprint + +

Tabela 3 - Atividades, Métodos, Ferramentas e Entrega baseados nas Atividades de Engenharia de Requisitos.

+ +| Atividades | Métodos | Ferramentas | Entrega +| --- | --- | --- | --- +| Validação e Verificação | Definition of Done (DoD), Revisão e Testes | Discord, Github e Whatsapp| DoD, Resultado da revisão, testes aceitos e passando +| Organização e atualização | User Story Mapping | Discord, Github e Whatsapp| Mapa das User Story + +

(Fonte: Autores, 2023)

+ +### Sprint Review + +

Tabela 4 - Atividades, Métodos, Ferramentas e Entrega baseados nas Atividades de Engenharia de Requisitos.

+ +| Atividades | Métodos | Ferramentas | Entrega +| --- | --- | --- | --- +| Verificação e Validação | Product Backlog | Microsoft Teams, Discord, Whatsapp e GitHub | Revisão das atividades e do feedback gerado pelo cliente +| Organização e atualização | Definition of Done (DoD), Revisão e Testes | Discord, Github e Whatsapp| DoD, Resultado da revisão, testes aceitos e passando +

(Fonte: Autores, 2023)

+ +### Interation Planning + +

Tabela 5 - Atividades, Métodos, Ferramentas e Entrega baseados nas Atividades de Engenharia de Requisitos.

+ +| Atividades | Métodos | Ferramentas | Entrega +| --- | --- | --- | --- +| Elicitação de Requisitos | Entrevistas com o Cliente, Revisão de Documentação Existente | Microsoft Teams, Discord, Whatsapp | Lista de Requisitos Priorizados para a Iteração | + +

(Fonte: Autores, 2023)

+ + + ## Referências Bibliográficas 1. MARSICANO, George. Requisitos de Software: Introdução a Engenharia de Requisitos (ER). Brasília, 2023 -2. Handbook IREB CPRE Foundation Level, Version 1.1.0, september 2022. -C:\Users\User\Desktop\REQ\2023-2-BeachTennisCoordiMate\docs\assets\icones\figma.svg \ No newline at end of file +2. Handbook IREB CPRE Foundation Level, Version 1.1.0, september 2022. \ No newline at end of file From 658305c62a582a93bdcbd54d2ec6fa80a7c91144 Mon Sep 17 00:00:00 2001 From: luciano-freitas-melo Date: Wed, 27 Sep 2023 18:01:42 -0300 Subject: [PATCH 10/15] adiociona processo de desenvolvimento --- docs/doc-visao/3.processo-dev.md | 124 ++++++++++++++++++++++++++++++- 1 file changed, 123 insertions(+), 1 deletion(-) diff --git a/docs/doc-visao/3.processo-dev.md b/docs/doc-visao/3.processo-dev.md index 1c8ff49..d7b6efb 100644 --- a/docs/doc-visao/3.processo-dev.md +++ b/docs/doc-visao/3.processo-dev.md @@ -10,8 +10,130 @@ | **Data** | **Versão** | **Descrição** | **Autor** | | --------- | ---------- | -------------------- | ------------------------------------------------------------- | | 26/9/2023 | 0.1 | Criação do documento | [Luciano de Freitas](https://github.com/luciano-freitas-melo) | +| 26/9/2023 | 0.2 | Adiciona Abordagem, Ciclo de Vida e Processo | [Luciano de Freitas](https://github.com/luciano-freitas-melo) | +| 27/9/2023 | 0.3 | Insere as características do processo que serão desenvolvidos pela equipe| [Luciano de Freitas](https://github.com/luciano-freitas-melo) | + +## Abordagem de Desenvolvimento do Software + + *Segundo Sommerville(2018)¹, para decidir sobre uma abordagem para o desenvolvimento de um software é necessário responder a uma série de perguntas, de três tipos diferentes:* + + 1. **Questões técnicas** relacionadas ao sistema a ser desenvolvido + 2. **Questões humanas** relacionadas à equipe de desenvolvimento + 3. **Questões organizacionais** relacionadas ao contexto no qual o sistema será desenvolvido + +### Questões técnicas + +1. **Qual é o tamanho do sistema que está sendo desenvolvido?** + + Um sistema de pequeno porte. + +2. **Que tipo de sistema está sendo desenvolvido?** + + Uma aplicação web de complexidade média, com requisitos não muito bem definidos e que podem ser alterados durante o desenvolvimento. + +3. **Qual é a vida útil prevista para o sistema?** + + A princípio, vida útil de curto a médio período. + +4. **O sistema está sujeito a controle externo?** + + Sim, sujeito ao controle do cliente e do acompanhamento da disciplina. + +### Questões humanas + +1. **Qual é o nível de competência dos projetistas e programadores do time de desenvolvimento?** + + Os projetistas possuem conhecimento em áreas diversas do desenvolvimento de software. + +2. **Como está organizado o time de desenvolvimento?** + + O time é pequeno, e apesar de terem papéis definidos, todos devem participar da maioria das atividades. + +3. **Quais são as tecnologias disponíveis para apoiar o desenvolvimento do sistema?** + + Os escopo tecnológico do projeto está melhor descrito [nesta seção](1.visao-produto.md/#tecnologias-a-serem-utilizadas). + + +### Questões organizacionais + +1. **É importante ter uma especificação e um projeto (design) bem detalhados antes de passar para a implementação — talvez por motivos contratuais?** + + Não, existem partes da aplicação que podem ser resolvidos sem especificações de design. + +2. **É realista uma estratégia de entrega incremental, na qual o software é entregue aos clientes ou outros stakeholders e um rápido feedback é obtido?** + + Sim, pois dessa forma é possível corrigir os problemas por partes, antes de uma implementação completa do projeto, a qual poderia comprometer todo o produto. + +3. **Os representantes do cliente estarão disponíveis e dispostos a participar do time de desenvolvimento?** + + Não, os representantes do cliente participarão apenas no envio de feedbacks durante as fases de construção, não participando do desenvolvimento em si. + +4. **Existem questões culturais que possam afetar o desenvolvimento do sistema?** + + Não, pois o time é novo e não tem apego a determinado método de desenvolvimento. + + +### Conclusões + +*Levando em consideração as respostas das questões acima e outros fatores elencados pela equipe, foi decidido que a abordagem de desenvolvimento do software será a* **Abordagem Ágil***, pelos seguintes critérios:* + +- Complexidade ainda não mensurada e imprevisível das funcionalidades do sistema; +- Proximidade com o cliente e a possibilidade de feedbacks rápidos, além de não ser necessário uma formalização acentuada dos requisitos e do projeto como um todo; +- Time de desenvolvimento pequeno para um sistema de pequeno porte para um projeto de ciclo curto/médio; + +## Ciclo de Vida e Processo de Desenvolvimento do Software + +*Como a abordagem de desenvolvimento escolhida foi a Abordagem Ágil, o ciclo de vida do software será o* **Ciclo de Vida Iterativo/Incremental***, pois o desenvolvimento do software será feito em incrementos, com entregas parciais e contínuas, com o objetivo de atender as necessidades do cliente e se favorecer da disponibilidade de feedbacks constantes.* + +*O processo de desenvolvimento do software será o* **Scrum/XP***, que a união de duas metodologias complementares: O Scrum e o eXtreme Programming (XP). A metodologia Scrum servirá para organização e adaptação da equipe de desenvolvimento durante o projeto, o XP servirá para a execução das atividades de desenvolvimento do software.* + +*A escolha desse processo de software tem o objetivo de gerar uma melhor adaptação do projeto a mudanças de requisitos e de escopo, além de potencializar a participação do cliente por meio dos feedbacks constantes, todas características identificadas no projeto em questão.* + +## Características e Adaptações do Processo Escolhido + +### Scrum +*Todos os rituais e artefatos do Scrum que serão utilizados no projeto estão descritos na tabela 1, logo abaixo, seguindo as definições do The Scrum Guide(2020)².* + +

Tabela 1 - Características do Scrum a serem trabalhadas no projeto

+| **Rituais/Artefatos** | **Descrição** | +|:------------------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| +| Sprints | As sprints terão duração de 2 semanas, sempre iniciando aos sábados e terminando as quartas-feiras. | +| Sprint Planning | As plannings ocorrerão sempre aos sábados no início da sprint através de reuniões síncronas. | +| Daily Scrum | Serão feitas de forma assíncrona todos os dias pela equipe de desenvolvimento no decorrer da sprint. | +| Sprint Retrospective | As Retrospectives serão realizadas as quartas-feiras, ao final da sprint. | +| Sprint Review | A review da sprint ocorrerá no último dia da Sprint, quarta-feira, juntamente com Retrospective. | +| Product Backlog | O Backlog será utilizado para elencar e estruturar o conjunto inicial de requisitos do projeto. | +| Sprint Backlog | Esse artefato será a mesma coisa da Release Planning do XP, em que serão definidos os requisitos que serão desenvolvidos e entregues para a próxima release. | +| Definition Of Done (DoD) | Esse compromisso do Scrum será baseado nas características do XP, que estão descritas mais abaixo. | +

Fonte: Autores (2023)

+ +### eXtreme Programming (XP) + +*As características do XP que serão utilizadas no projeto estão descritas na tabela 2, seguindo as informações fornecidas por Don Wells(2013)³ sobre eXtreme Programming.* + +

Tabela 2 - Características do XP a serem trabalhadas no projeto

+ +| Característica | Descrição | +|:---:|:---:| +| User Stories (US) | As US serão a principal fonte de requisitos do projeto e auxiliaram para estimar os prazos para as entregas das funcionalidade do produto. | +| Release Planning | As releases serão planejadas durante a Sprint Planning do Scrum e servirá para definir o Backlog da Sprint de quais US serão implementadas. Devido ao espoco da disciplina de Requisitos as releases serão planejadas por prazos (by date). | +| Iteration Planning | Devem ocorrer pelo menos 2 iterações durante uma sprint, uma na Sprint Planning e outra no meio da sprint, com a "quebra" das US que serão desenvolvidas em tarefas (tasks). | +| Velocity Tracking | Tanto na Release Planning, como na Iteration Planning será utilizado o Velocity Tracking para auxiliar na definição dos prazos e nas estimativas de entrega das funcionalidades. | +| *Planning Game⁴* | Método que transforma as plannings do XP em uma espécie de jogo, deixando as iterações e a rotina da metodologia mais dinâmica. | +| Sustainable, Measurable, Predictable Pace | O ritmo da equipe será avaliado durante todas as etapas de projeto, principalmente através do Velocity Tracking e das Retrospectives do Scrum. | +| Stand up Meetings | Serão incorporadas as dailys do Scrum, com o propósito de responder as seguintes perguntas: O que foi feito ontem?; O que será tentado hoje?; e Quais problemas estão causando atrasos? | +| Pair programming e Move people around | O Pair Programming servirá para melhoria na qualidade do produto, além de compartilhamento de experiência pela equipe. Para isso, o Move People Around também será muito útil, pois fará com que toda a equipe esteja capacitada em todas as áreas do produto. | +| Unit Testing | Base para o XP programming, todo código que será entregue deverá ter testes unitários para assegurar qualidade, facilitar refatoração e proporcionar integração contínua do produto. Os testes unitários fazem parte do DoD do Scrum. | +| Acceptance Tests | Testes de aceitação derivam das US e serão utilizados para validar as User Story. O Acceptance Tests também fazem parte do DoD do Scrum. | + + +

Fonte: Autores (2023)

+ ## Referências Bibliográficas -1. Material da disciplina disponivel no aprender +1. Sommerville, Ian Engenharia de software/ Ian Sommerville; tradução Luiz Cláudio Queiroz; revisão técnica Fábio Levy Siqueira. 10. ed. São Paulo: Pearson Education do Brasil, 2018. Título original: Software engineering ISBN 978-65-5011-048-2 1. Engenharia de software I. Siqueira. +2. The 2020 Scrum Guide TM. Scrum Guides, 2020. Disponível no [link](https://scrumguides.org/scrum-guide.html#purpose-of-the-scrum-guide). Acesso em: 27 de setembro de 2023. +3. WELLS, Don. Extreme Programming: A gentle introduction. Extreme Programming, 2013. Disponível no [link](http://www.extremeprogramming.org/). Acesso em: 27 de setembro de 2023. +4. Wiki C2. Planning Game, 2013. Disponível no [link](https://wiki.c2.com/?PlanningGame). Acesso em: 27 de setembro de 2023. From 98fd0b3ec3299ae4cfe6b6ce08449c8714e8a939 Mon Sep 17 00:00:00 2001 From: luciano-freitas-melo Date: Wed, 27 Sep 2023 18:04:07 -0300 Subject: [PATCH 11/15] Merge branch 'main' into 4-processo-de-desenvolvimento-do-software --- docs/doc-visao/2.visao-projeto.md | 79 +++++++++++++++++-------------- 1 file changed, 44 insertions(+), 35 deletions(-) diff --git a/docs/doc-visao/2.visao-projeto.md b/docs/doc-visao/2.visao-projeto.md index 8ba482b..6b9b421 100644 --- a/docs/doc-visao/2.visao-projeto.md +++ b/docs/doc-visao/2.visao-projeto.md @@ -7,10 +7,11 @@ ## Histórico de Revisão -| **Data** | **Versão** | **Descrição** | **Autor** | -| ---------- | ---------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| 25/9/2023 | 0.4 | Inserção dos itens de Visão Geral do Projeto | [Victório Lázaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | -| 26/9/2023 | 0.5 | Realização das alterações pedidas no documento | [Victório Lázaro](https://github.com/Victor-oss) | +| **Data** | **Versão** | **Descrição** | **Autor** | +| --------- | ---------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------- | +| 25/9/2023 | 0.1 | Inserção dos itens de Visão Geral do Projeto | [Victório Lázaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | +| 26/9/2023 | 0.2 | Realização das alterações pedidas no documento | [Victório Lázaro](https://github.com/Victor-oss) | +| 26/9/2023 | 0.3 | Alteração na matriz de comunicação, adição da tabela de Gerenciamento de Riscos e adição de tópicos de Replanejamento | [João Barreto](https://github.com/JoaoBarreto03) e [Luciano de Freitas](https://github.com/luciano-freitas-melo) | ## Organização do Projeto @@ -18,13 +19,13 @@ *A tabela 1 apresenta uma visão geral da estrutura organizacional com foco em papéis e responsabilidades dentro da equipe. Ela detalha os principais perfis, suas atribuições e as pessoas responsáveis por cada um desses papéis, bem como os participantes associados.*

Tabela 1 - Organização do Projeto

-| Perfil | Atribuições | Responsável | Participantes | -|---|---|---|---| -| Líder/Scrum Master | Assegurar que a equipe siga os princípios e métodos do Scrum. | [Luciano Freitas](https://github.com/luciano-freitas-melo) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Pablo Santos](https://github.com/pabloheika), [Victorio Lazaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | -| Product Owner | Responsável por definir e priorizar o backlog de produto, representando as necessidades do cliente e otimizando o valor entregue. | [Pablo Santos](https://github.com/pabloheika) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Luciano Freitas](https://github.com/luciano-freitas-melo), [Victorio Lazaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | -| Desenvolvedores | Responsável por projetar, codificar e testar funcionalidades, trabalhando juntos para alcançar metas da equipe Scrum. | [Weslley Barros](https://github.com/weslley17w) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Luciano Freitas](https://github.com/luciano-freitas-melo), [Pablo Santos](https://github.com/pabloheika) e [Victorio Lazaro](https://github.com/Victor-oss) | -| Cliente | Responsável por fornece informações sobre requisitos e expectativas, garantindo que o produto atenda às suas necessidades. | Mateus | Mateus | -| Monitor | Responsável por retirar dúvidas, oferecer opiniões, acompanhar e, se necessário, ajudar a equipe para garantir a entrega de um bom trabalho. | João Matheus | João Matheus | +| Perfil | Atribuições | Responsável | Participantes | +| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| Líder/Scrum Master | Assegurar que a equipe siga os princípios e métodos do Scrum. | [Luciano Freitas](https://github.com/luciano-freitas-melo) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Pablo Santos](https://github.com/pabloheika), [Victorio Lazaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | +| Product Owner | Responsável por definir e priorizar o backlog de produto, representando as necessidades do cliente e otimizando o valor entregue. | [Pablo Santos](https://github.com/pabloheika) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Luciano Freitas](https://github.com/luciano-freitas-melo), [Victorio Lazaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | +| Desenvolvedores | Responsável por projetar, codificar e testar funcionalidades, trabalhando juntos para alcançar metas da equipe Scrum. | [Weslley Barros](https://github.com/weslley17w) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Luciano Freitas](https://github.com/luciano-freitas-melo), [Pablo Santos](https://github.com/pabloheika) e [Victorio Lazaro](https://github.com/Victor-oss) | +| Cliente | Responsável por fornece informações sobre requisitos e expectativas, garantindo que o produto atenda às suas necessidades. | Mateus | Mateus | +| Monitor | Responsável por retirar dúvidas, oferecer opiniões, acompanhar e, se necessário, ajudar a equipe para garantir a entrega de um bom trabalho. | João Matheus | João Matheus |

Fonte: Autores (2023)

## Planejamento das Fases e/ou Iterações do Projeto @@ -32,52 +33,60 @@ *A tabela 2 apresenta um resumo das sprints e entregas relacionadas ao nosso projeto. As informações incluem o número da sprint, o nome da entrega associada, a data de início da sprint e a data de conclusão da sprint. Utilize esta tabela para acompanhar o progresso do projeto e garantir que todas as tarefas sejam concluídas dentro do prazo estabelecido.*

Tabela 2 - Cronograma do Projeto

-| Sprint | Entrega | Data de início | Data de fim | -|---|---|---|---| -| Sprint 0 | Definição do produto e entrega da Visão do Produto e Projeto | 15/09/2023 | 27/09/2023 | -| Sprint 1 | Configuração do ambiente de desenvolvimento, nivelamento da equipe, definição do backlog, definição de user stories, definição de arquitetura, definição de MVP | 30/09/2023 | 11/10/2023 | -| Sprint 2 | Sistema de autenticação do sistema (Login e Registro), definição de Backlog SAFe e entrega da Missão 2 (26/10) | 14/10/2023 | 25/10/2023 | -| Sprint 3 | Funcionalidade de criação dos drills | 28/10/2023 | 08/11/2023 | -| Sprint 4 | Funcionalidade de criação dos drills | 11/11/2023 | 22/11/2023 | -| Sprint 5 | Definição de Backlog com PBB, definição situações de comportamento para cada User Story com o BDD, Entrega Missão 3 (23/11), funcionalidade de gestão das quadras e testes | 25/11/2023 | 06/12/2023 | -| Sprint 6 | Diagrama e especificação de casos de uso, Entrega Missão 4 (14/12) | 09/12/2023 | 20/12/2023 | +| Sprint | Entrega | Data de início | Data de fim | +| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ----------- | +| Sprint 0 | Definição do produto e entrega da Visão do Produto e Projeto | 15/09/2023 | 27/09/2023 | +| Sprint 1 | Configuração do ambiente de desenvolvimento, nivelamento da equipe, definição do backlog, definição de user stories, definição de arquitetura, definição de MVP | 30/09/2023 | 11/10/2023 | +| Sprint 2 | Sistema de autenticação do sistema (Login e Registro), definição de Backlog SAFe e entrega da Missão 2 (26/10) | 14/10/2023 | 25/10/2023 | +| Sprint 3 | Funcionalidade de criação dos drills | 28/10/2023 | 08/11/2023 | +| Sprint 4 | Funcionalidade de criação dos drills | 11/11/2023 | 22/11/2023 | +| Sprint 5 | Definição de Backlog com PBB, definição situações de comportamento para cada User Story com o BDD, Entrega Missão 3 (23/11), funcionalidade de gestão das quadras e testes | 25/11/2023 | 06/12/2023 | +| Sprint 6 | Diagrama e especificação de casos de uso, Entrega Missão 4 (14/12) | 09/12/2023 | 20/12/2023 |

Fonte: Autores (2023)

## Matriz de Comunicação -*Esta seção descreve a estratégia de comunicação adotada para monitoramento do progresso do projeto como mostrado na tabela 3. Identificar a periodicidade de reuniões e o envio dos relatórios exigidos pelo processo e opcionalmente outros relatórios exigidos pelo cliente.* +*A matriz de comunicação tem por objetivo auxiliar a equipe na organização da execução do projeto, uma vez que ela consiste em definir quais informações serão compartilhadas, as pessoas que as receberão e a frequência em que essa comunicação ocorrerá, como é mencionado no PMBOK (2017)¹.* + +*Esta seção descreve a estratégia de comunicação adotada para monitoramento do progresso do projeto como mostrado na tabela 3.*

Tabela 3 - Matriz de Comunicação

| **Descrição** | **Área/Envolvidos** | **Periodicidade** | **Produtos Gerados** | -|-------------------------------|------------------------------|-------------------|---------------------------------------------------------------------------------------------------------------------| -| Planejamento das atividades | Equipe do projeto | Quinzenal | Planejamento do que será feito no ciclo da sprint | +| ----------------------------- | ---------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------- | +| Planejamento das atividades | Equipe do projeto | Quinzenal | Planejamento do que será feito no ciclo da sprint | | Acompanhamento das atividades | Equipe do projeto | Diário | Relato por parte dos membros da equipe no whatsapp ou no discord sobre o andamento individual das partes do projeto | -| Revisão das atividades | Equipe do projeto, cliente | Quinzenal | Validação do produto | +| Encontro com o cliente | Product owner, cliente | Quinzenal | Validação do produto | | Retrospectiva das atividades | Equipe do projeto | Quinzenal | Identificação de oportunidades de melhoria | -| Comunicar situação do projeto | Equipe do projeto, professor | Quinzenal | Artefatos solicitados e relação de feedbacks do professor | +| Comunicar situação do projeto | Equipe do projeto, professor | Quinzenal | Artefatos solicitados e relação de feedbacks do professor |

Fonte: Autores (2023)

## Gerenciamento de Riscos -*De acordo com o PMBOK (2017)¹, risco é um evento ou condição que pode ter impacto positivo ou negativo em um projeto de software, podendo levar a atrasos ou prejuízos. Portanto, o gerenciamento de risco é crucial para garantir o sucesso do projeto, os tópicos abaixo trazem informações sobre os principais riscos do projeto e as ações para mitigá-los.* +*De acordo com o PMBOK (2017)¹, risco é um evento ou condição que pode ter impacto positivo ou negativo em um projeto de software, podendo levar a atrasos ou prejuízos. Portanto, o gerenciamento de risco é crucial para garantir o sucesso do projeto, a tabela 4 abaixo traz informações sobre os principais riscos do projeto e as ações para mitigá-los.* + +

Tabela 4 - Gerenciamento de Riscos

-- **Atraso nas entregas**: Baixa produtividade dos membros da equipe e/ou dimensionamento incorreto do escopo da iteração e dos MVPs. -- **Abandono do projeto**: A equipe pode tomar medidas para minimizar as chances de abandono do projeto, como a realocação de responsabilidades e a diminuição no escopo. -- **Abandono da disciplina por parte dos integrantes**: É importante garantir que haja uma comunicação clara e aberta entre a equipe e que as expectativas sejam estabelecidas e comunicadas claramente. Isso pode ajudar a minimizar o abandono da disciplina, pois os membros da equipe entenderão as expectativas esperadas para o projeto. -- **Comunicação Ineficiente entre stakeholders**: A falta de comunicação clara e efetiva entre os stakeholders pode levar a perda ou má interpretação de informações importantes. Isso pode causar atrasos e custos adicionais no projeto. -- **Comunicação ineficiente entre os integrantes da equipe**: Quando a comunicação não é efetiva, a equipe pode ter dificuldades em colaborar, alcançar seus objetivos e atender às expectativas do cliente. -- **Sobrecarga de trabalho de membros da equipe**: É importante que o gerente do projeto defina claramente as responsabilidades de cada membro da equipe. Isso ajuda a evitar situações em que uma pessoa é sobrecarregada com tarefas que não são de sua responsabilidade. -- **Inviabilidade de um requisito**: Requisitos que não podem ser implementados por questões técnicas ou de negócio. +| Tipos de Risco | Descrição | Probabilidade | Mitigação | +| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Risco de problemas de saúde | Em algum momento, algum dos integrantes pode ter que se afastar devido a problemas de saúde, o que prejudicaria o desenvolvimento do projeto. | Média | - Os demais membros da equipe podem repartir as funções que seria(m) exercida(s) pelo(s) membro(s) ausente(s), devido a existência de algum problema desse tipo. | +| Risco de abandono | A equipe pode não querer continuar o trabalho e abandoná-lo, devido à sua complexidade ou algum membro pode desistir da disciplina. | Média | - Diminuição do espoco do projeto e realocação de responsabilidades da equipe.

- Manter sempre uma boa comunicação com os membros para que eles possam esclarecer possíveis problemas que afetariam o desenvolvimento do projeto, para que os demais possam ajudá-lo ou substituí-lo em caso de desistência. | +| Risco de escopo | A solução proposta pode não satisfazer aos requisitos propostos, levando à construção de um projeto que não atende às necessidades do cliente. | Alta | - Realizar reuniões frequentes com o cliente, mostrando aquilo que está sendo elaborado naquela etapa, para que haja um feedback frequente. | +| Risco de prazo de entrega | O prazo determinado para a execução do projeto pode não ser o suficiente para a realização de determinada entrega, devido a baixa produtividade dos membros da equipe e/ou dimensionamento incorreto do escopo da iteração e dos MVPs. | Alta | - Criar um cronograma que possua em que as entregas sejam realizadas antes do prazo estipulado, dando uma margem de tempo para correção de possíveis problemas.

- Comunicação antecipada com o cliente sobre o problema surgido. | +| Comunicação Ineficiente entre stakeholders | A falta de comunicação clara e efetiva entre os stakeholders pode levar a perda ou má interpretação de informações importantes. Isso pode causar atrasos e custos adicionais no projeto. | Média | - Estabelecer reuniões quinzenais com o cliente e deixar claro as expectativas da equipe e do cliente quanto ao projeto ao decorrer do processo. | +| Comunicação ineficiente entre os integrantes da equipe | Quando a comunicação não é efetiva, a equipe pode ter dificuldades em colaborar, alcançar seus objetivos e atender às expectativas do cliente. | Média | - A equipe deve apresentar disponibilidade e transparências nas reuniões estabelecidas nas sprints do projeto e sempre comunicar em caso de dificuldade em qualquer problema que apareça | +|Sobrecarga de trabalho de membros da equipe|Os integrantes da equipe podem ser sobrecarregados com as demandas de entrega do projeto.|Média|- É importante que o gerente do projeto defina claramente as responsabilidades de cada membro da equipe. Isso ajuda a evitar situações em que uma pessoa é sobrecarregada com tarefas que não são de sua responsabilidade.| +

Fonte: Autores (2023)

## Critérios de Replanejamento *São condições que podem ocorrer durante o projeto que exijam uma revisão e adaptação do planejamento original. Deve ser feito o acompanhamento desses critérios a cada sprint, garantindo a qualidade do projeto até sua finalização.* +- **Mudanças significativas no cronograma**: O prazo para a entrega do projeto pode ser alterado, afetando o planejamento realizado inicialmente. Para isso, é importante que a equipe seja capaz de mensurar quais partes do projeto podem ser entregues com esse novo cronograma. - **Alteração nos requisitos**: Pode ser que ao longo do projeto surjam novas necessidades, diante disso, é importante que a equipe esteja preparada para lidar com essas alterações, avaliando seus impactos e definindo um plano adequado. - **Riscos não previstos**: Mesmo com um planejamento bem feito, sempre existe a possibilidade de que riscos não previstos ocorram durante o projeto. A equipe deve estar preparada para identificar esses riscos e definir um plano de ação para amenizá-los. - **Atrasos**: É importante que o planejamento do projeto seja realista e que a equipe trabalhe dentro dos prazo e metas estabelecidos, trabalhando de forma colaborativa visando maximizar a produtividade. -- **Alteração no cronograma**: Pode ser que com a saída de algum membro da equipe seja necessário revisar o cronograma e redistribuir a carga de trabalho entre os outros membros para efetuar a entrega no prazo estabelecido -- **Alteração no backlog**: Caso a comunicação com o cliente seja ineficiente e o cliente se sinta insatisfeito com os entregáveis apresentados pela equipe, é necessário marcar reuniões com o cliente para que a equipe alinhe sua visão do projeto com a do cliente e altere o backlog caso necessário +- **Alteração no backlog**: Caso a comunicação com o cliente seja ineficiente e o cliente se sinta insatisfeito com os entregáveis apresentados pela equipe, é necessário marcar reuniões com o cliente para que a equipe alinhe sua visão do projeto com a do cliente e altere o backlog caso necessário. +- **Problemas com a qualidade**: Pode ser que aplicação desenvolvida contenha erros que passaram despercebidos no teste ou algum problema de usabilidade que poderia ser corrigido. Assim, a equipe deverá replanejar suas atividades, reconhecer os erros/problemas e elaborar uma nova solução ## Referências Bibliográficas From 716ff7b71ff4ac7db4e5df33f64a079f5de8c1c1 Mon Sep 17 00:00:00 2001 From: luciano-freitas-melo Date: Wed, 27 Sep 2023 18:13:09 -0300 Subject: [PATCH 12/15] Revert "Merge branch 'main' into 4-processo-de-desenvolvimento-do-software" This reverts commit 98fd0b3ec3299ae4cfe6b6ce08449c8714e8a939. --- docs/doc-visao/2.visao-projeto.md | 79 ++++++++++++++----------------- 1 file changed, 35 insertions(+), 44 deletions(-) diff --git a/docs/doc-visao/2.visao-projeto.md b/docs/doc-visao/2.visao-projeto.md index 6b9b421..8ba482b 100644 --- a/docs/doc-visao/2.visao-projeto.md +++ b/docs/doc-visao/2.visao-projeto.md @@ -7,11 +7,10 @@ ## Histórico de Revisão -| **Data** | **Versão** | **Descrição** | **Autor** | -| --------- | ---------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------- | -| 25/9/2023 | 0.1 | Inserção dos itens de Visão Geral do Projeto | [Victório Lázaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | -| 26/9/2023 | 0.2 | Realização das alterações pedidas no documento | [Victório Lázaro](https://github.com/Victor-oss) | -| 26/9/2023 | 0.3 | Alteração na matriz de comunicação, adição da tabela de Gerenciamento de Riscos e adição de tópicos de Replanejamento | [João Barreto](https://github.com/JoaoBarreto03) e [Luciano de Freitas](https://github.com/luciano-freitas-melo) | +| **Data** | **Versão** | **Descrição** | **Autor** | +| ---------- | ---------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| 25/9/2023 | 0.4 | Inserção dos itens de Visão Geral do Projeto | [Victório Lázaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | +| 26/9/2023 | 0.5 | Realização das alterações pedidas no documento | [Victório Lázaro](https://github.com/Victor-oss) | ## Organização do Projeto @@ -19,13 +18,13 @@ *A tabela 1 apresenta uma visão geral da estrutura organizacional com foco em papéis e responsabilidades dentro da equipe. Ela detalha os principais perfis, suas atribuições e as pessoas responsáveis por cada um desses papéis, bem como os participantes associados.*

Tabela 1 - Organização do Projeto

-| Perfil | Atribuições | Responsável | Participantes | -| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| Líder/Scrum Master | Assegurar que a equipe siga os princípios e métodos do Scrum. | [Luciano Freitas](https://github.com/luciano-freitas-melo) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Pablo Santos](https://github.com/pabloheika), [Victorio Lazaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | -| Product Owner | Responsável por definir e priorizar o backlog de produto, representando as necessidades do cliente e otimizando o valor entregue. | [Pablo Santos](https://github.com/pabloheika) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Luciano Freitas](https://github.com/luciano-freitas-melo), [Victorio Lazaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | -| Desenvolvedores | Responsável por projetar, codificar e testar funcionalidades, trabalhando juntos para alcançar metas da equipe Scrum. | [Weslley Barros](https://github.com/weslley17w) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Luciano Freitas](https://github.com/luciano-freitas-melo), [Pablo Santos](https://github.com/pabloheika) e [Victorio Lazaro](https://github.com/Victor-oss) | -| Cliente | Responsável por fornece informações sobre requisitos e expectativas, garantindo que o produto atenda às suas necessidades. | Mateus | Mateus | -| Monitor | Responsável por retirar dúvidas, oferecer opiniões, acompanhar e, se necessário, ajudar a equipe para garantir a entrega de um bom trabalho. | João Matheus | João Matheus | +| Perfil | Atribuições | Responsável | Participantes | +|---|---|---|---| +| Líder/Scrum Master | Assegurar que a equipe siga os princípios e métodos do Scrum. | [Luciano Freitas](https://github.com/luciano-freitas-melo) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Pablo Santos](https://github.com/pabloheika), [Victorio Lazaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | +| Product Owner | Responsável por definir e priorizar o backlog de produto, representando as necessidades do cliente e otimizando o valor entregue. | [Pablo Santos](https://github.com/pabloheika) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Luciano Freitas](https://github.com/luciano-freitas-melo), [Victorio Lazaro](https://github.com/Victor-oss) e [Weslley Barros](https://github.com/weslley17w) | +| Desenvolvedores | Responsável por projetar, codificar e testar funcionalidades, trabalhando juntos para alcançar metas da equipe Scrum. | [Weslley Barros](https://github.com/weslley17w) | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03), [Luciano Freitas](https://github.com/luciano-freitas-melo), [Pablo Santos](https://github.com/pabloheika) e [Victorio Lazaro](https://github.com/Victor-oss) | +| Cliente | Responsável por fornece informações sobre requisitos e expectativas, garantindo que o produto atenda às suas necessidades. | Mateus | Mateus | +| Monitor | Responsável por retirar dúvidas, oferecer opiniões, acompanhar e, se necessário, ajudar a equipe para garantir a entrega de um bom trabalho. | João Matheus | João Matheus |

Fonte: Autores (2023)

## Planejamento das Fases e/ou Iterações do Projeto @@ -33,60 +32,52 @@ *A tabela 2 apresenta um resumo das sprints e entregas relacionadas ao nosso projeto. As informações incluem o número da sprint, o nome da entrega associada, a data de início da sprint e a data de conclusão da sprint. Utilize esta tabela para acompanhar o progresso do projeto e garantir que todas as tarefas sejam concluídas dentro do prazo estabelecido.*

Tabela 2 - Cronograma do Projeto

-| Sprint | Entrega | Data de início | Data de fim | -| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | ----------- | -| Sprint 0 | Definição do produto e entrega da Visão do Produto e Projeto | 15/09/2023 | 27/09/2023 | -| Sprint 1 | Configuração do ambiente de desenvolvimento, nivelamento da equipe, definição do backlog, definição de user stories, definição de arquitetura, definição de MVP | 30/09/2023 | 11/10/2023 | -| Sprint 2 | Sistema de autenticação do sistema (Login e Registro), definição de Backlog SAFe e entrega da Missão 2 (26/10) | 14/10/2023 | 25/10/2023 | -| Sprint 3 | Funcionalidade de criação dos drills | 28/10/2023 | 08/11/2023 | -| Sprint 4 | Funcionalidade de criação dos drills | 11/11/2023 | 22/11/2023 | -| Sprint 5 | Definição de Backlog com PBB, definição situações de comportamento para cada User Story com o BDD, Entrega Missão 3 (23/11), funcionalidade de gestão das quadras e testes | 25/11/2023 | 06/12/2023 | -| Sprint 6 | Diagrama e especificação de casos de uso, Entrega Missão 4 (14/12) | 09/12/2023 | 20/12/2023 | +| Sprint | Entrega | Data de início | Data de fim | +|---|---|---|---| +| Sprint 0 | Definição do produto e entrega da Visão do Produto e Projeto | 15/09/2023 | 27/09/2023 | +| Sprint 1 | Configuração do ambiente de desenvolvimento, nivelamento da equipe, definição do backlog, definição de user stories, definição de arquitetura, definição de MVP | 30/09/2023 | 11/10/2023 | +| Sprint 2 | Sistema de autenticação do sistema (Login e Registro), definição de Backlog SAFe e entrega da Missão 2 (26/10) | 14/10/2023 | 25/10/2023 | +| Sprint 3 | Funcionalidade de criação dos drills | 28/10/2023 | 08/11/2023 | +| Sprint 4 | Funcionalidade de criação dos drills | 11/11/2023 | 22/11/2023 | +| Sprint 5 | Definição de Backlog com PBB, definição situações de comportamento para cada User Story com o BDD, Entrega Missão 3 (23/11), funcionalidade de gestão das quadras e testes | 25/11/2023 | 06/12/2023 | +| Sprint 6 | Diagrama e especificação de casos de uso, Entrega Missão 4 (14/12) | 09/12/2023 | 20/12/2023 |

Fonte: Autores (2023)

## Matriz de Comunicação -*A matriz de comunicação tem por objetivo auxiliar a equipe na organização da execução do projeto, uma vez que ela consiste em definir quais informações serão compartilhadas, as pessoas que as receberão e a frequência em que essa comunicação ocorrerá, como é mencionado no PMBOK (2017)¹.* - -*Esta seção descreve a estratégia de comunicação adotada para monitoramento do progresso do projeto como mostrado na tabela 3.* +*Esta seção descreve a estratégia de comunicação adotada para monitoramento do progresso do projeto como mostrado na tabela 3. Identificar a periodicidade de reuniões e o envio dos relatórios exigidos pelo processo e opcionalmente outros relatórios exigidos pelo cliente.*

Tabela 3 - Matriz de Comunicação

| **Descrição** | **Área/Envolvidos** | **Periodicidade** | **Produtos Gerados** | -| ----------------------------- | ---------------------------- | ----------------- | ------------------------------------------------------------------------------------------------------------------- | -| Planejamento das atividades | Equipe do projeto | Quinzenal | Planejamento do que será feito no ciclo da sprint | +|-------------------------------|------------------------------|-------------------|---------------------------------------------------------------------------------------------------------------------| +| Planejamento das atividades | Equipe do projeto | Quinzenal | Planejamento do que será feito no ciclo da sprint | | Acompanhamento das atividades | Equipe do projeto | Diário | Relato por parte dos membros da equipe no whatsapp ou no discord sobre o andamento individual das partes do projeto | -| Encontro com o cliente | Product owner, cliente | Quinzenal | Validação do produto | +| Revisão das atividades | Equipe do projeto, cliente | Quinzenal | Validação do produto | | Retrospectiva das atividades | Equipe do projeto | Quinzenal | Identificação de oportunidades de melhoria | -| Comunicar situação do projeto | Equipe do projeto, professor | Quinzenal | Artefatos solicitados e relação de feedbacks do professor | +| Comunicar situação do projeto | Equipe do projeto, professor | Quinzenal | Artefatos solicitados e relação de feedbacks do professor |

Fonte: Autores (2023)

## Gerenciamento de Riscos -*De acordo com o PMBOK (2017)¹, risco é um evento ou condição que pode ter impacto positivo ou negativo em um projeto de software, podendo levar a atrasos ou prejuízos. Portanto, o gerenciamento de risco é crucial para garantir o sucesso do projeto, a tabela 4 abaixo traz informações sobre os principais riscos do projeto e as ações para mitigá-los.* - -

Tabela 4 - Gerenciamento de Riscos

+*De acordo com o PMBOK (2017)¹, risco é um evento ou condição que pode ter impacto positivo ou negativo em um projeto de software, podendo levar a atrasos ou prejuízos. Portanto, o gerenciamento de risco é crucial para garantir o sucesso do projeto, os tópicos abaixo trazem informações sobre os principais riscos do projeto e as ações para mitigá-los.* -| Tipos de Risco | Descrição | Probabilidade | Mitigação | -| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Risco de problemas de saúde | Em algum momento, algum dos integrantes pode ter que se afastar devido a problemas de saúde, o que prejudicaria o desenvolvimento do projeto. | Média | - Os demais membros da equipe podem repartir as funções que seria(m) exercida(s) pelo(s) membro(s) ausente(s), devido a existência de algum problema desse tipo. | -| Risco de abandono | A equipe pode não querer continuar o trabalho e abandoná-lo, devido à sua complexidade ou algum membro pode desistir da disciplina. | Média | - Diminuição do espoco do projeto e realocação de responsabilidades da equipe.

- Manter sempre uma boa comunicação com os membros para que eles possam esclarecer possíveis problemas que afetariam o desenvolvimento do projeto, para que os demais possam ajudá-lo ou substituí-lo em caso de desistência. | -| Risco de escopo | A solução proposta pode não satisfazer aos requisitos propostos, levando à construção de um projeto que não atende às necessidades do cliente. | Alta | - Realizar reuniões frequentes com o cliente, mostrando aquilo que está sendo elaborado naquela etapa, para que haja um feedback frequente. | -| Risco de prazo de entrega | O prazo determinado para a execução do projeto pode não ser o suficiente para a realização de determinada entrega, devido a baixa produtividade dos membros da equipe e/ou dimensionamento incorreto do escopo da iteração e dos MVPs. | Alta | - Criar um cronograma que possua em que as entregas sejam realizadas antes do prazo estipulado, dando uma margem de tempo para correção de possíveis problemas.

- Comunicação antecipada com o cliente sobre o problema surgido. | -| Comunicação Ineficiente entre stakeholders | A falta de comunicação clara e efetiva entre os stakeholders pode levar a perda ou má interpretação de informações importantes. Isso pode causar atrasos e custos adicionais no projeto. | Média | - Estabelecer reuniões quinzenais com o cliente e deixar claro as expectativas da equipe e do cliente quanto ao projeto ao decorrer do processo. | -| Comunicação ineficiente entre os integrantes da equipe | Quando a comunicação não é efetiva, a equipe pode ter dificuldades em colaborar, alcançar seus objetivos e atender às expectativas do cliente. | Média | - A equipe deve apresentar disponibilidade e transparências nas reuniões estabelecidas nas sprints do projeto e sempre comunicar em caso de dificuldade em qualquer problema que apareça | -|Sobrecarga de trabalho de membros da equipe|Os integrantes da equipe podem ser sobrecarregados com as demandas de entrega do projeto.|Média|- É importante que o gerente do projeto defina claramente as responsabilidades de cada membro da equipe. Isso ajuda a evitar situações em que uma pessoa é sobrecarregada com tarefas que não são de sua responsabilidade.| -

Fonte: Autores (2023)

+- **Atraso nas entregas**: Baixa produtividade dos membros da equipe e/ou dimensionamento incorreto do escopo da iteração e dos MVPs. +- **Abandono do projeto**: A equipe pode tomar medidas para minimizar as chances de abandono do projeto, como a realocação de responsabilidades e a diminuição no escopo. +- **Abandono da disciplina por parte dos integrantes**: É importante garantir que haja uma comunicação clara e aberta entre a equipe e que as expectativas sejam estabelecidas e comunicadas claramente. Isso pode ajudar a minimizar o abandono da disciplina, pois os membros da equipe entenderão as expectativas esperadas para o projeto. +- **Comunicação Ineficiente entre stakeholders**: A falta de comunicação clara e efetiva entre os stakeholders pode levar a perda ou má interpretação de informações importantes. Isso pode causar atrasos e custos adicionais no projeto. +- **Comunicação ineficiente entre os integrantes da equipe**: Quando a comunicação não é efetiva, a equipe pode ter dificuldades em colaborar, alcançar seus objetivos e atender às expectativas do cliente. +- **Sobrecarga de trabalho de membros da equipe**: É importante que o gerente do projeto defina claramente as responsabilidades de cada membro da equipe. Isso ajuda a evitar situações em que uma pessoa é sobrecarregada com tarefas que não são de sua responsabilidade. +- **Inviabilidade de um requisito**: Requisitos que não podem ser implementados por questões técnicas ou de negócio. ## Critérios de Replanejamento *São condições que podem ocorrer durante o projeto que exijam uma revisão e adaptação do planejamento original. Deve ser feito o acompanhamento desses critérios a cada sprint, garantindo a qualidade do projeto até sua finalização.* -- **Mudanças significativas no cronograma**: O prazo para a entrega do projeto pode ser alterado, afetando o planejamento realizado inicialmente. Para isso, é importante que a equipe seja capaz de mensurar quais partes do projeto podem ser entregues com esse novo cronograma. - **Alteração nos requisitos**: Pode ser que ao longo do projeto surjam novas necessidades, diante disso, é importante que a equipe esteja preparada para lidar com essas alterações, avaliando seus impactos e definindo um plano adequado. - **Riscos não previstos**: Mesmo com um planejamento bem feito, sempre existe a possibilidade de que riscos não previstos ocorram durante o projeto. A equipe deve estar preparada para identificar esses riscos e definir um plano de ação para amenizá-los. - **Atrasos**: É importante que o planejamento do projeto seja realista e que a equipe trabalhe dentro dos prazo e metas estabelecidos, trabalhando de forma colaborativa visando maximizar a produtividade. -- **Alteração no backlog**: Caso a comunicação com o cliente seja ineficiente e o cliente se sinta insatisfeito com os entregáveis apresentados pela equipe, é necessário marcar reuniões com o cliente para que a equipe alinhe sua visão do projeto com a do cliente e altere o backlog caso necessário. -- **Problemas com a qualidade**: Pode ser que aplicação desenvolvida contenha erros que passaram despercebidos no teste ou algum problema de usabilidade que poderia ser corrigido. Assim, a equipe deverá replanejar suas atividades, reconhecer os erros/problemas e elaborar uma nova solução +- **Alteração no cronograma**: Pode ser que com a saída de algum membro da equipe seja necessário revisar o cronograma e redistribuir a carga de trabalho entre os outros membros para efetuar a entrega no prazo estabelecido +- **Alteração no backlog**: Caso a comunicação com o cliente seja ineficiente e o cliente se sinta insatisfeito com os entregáveis apresentados pela equipe, é necessário marcar reuniões com o cliente para que a equipe alinhe sua visão do projeto com a do cliente e altere o backlog caso necessário ## Referências Bibliográficas From 1ef498cc81268c1c12afe4a09438c2a5e4d04dd1 Mon Sep 17 00:00:00 2001 From: luciano-freitas-melo Date: Wed, 27 Sep 2023 18:27:56 -0300 Subject: [PATCH 13/15] =?UTF-8?q?ajuste=20da=20revis=C3=A3o=20do=20documen?= =?UTF-8?q?to?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/doc-visao/4.processo-requisitos.md | 26 ++++++++++++------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/docs/doc-visao/4.processo-requisitos.md b/docs/doc-visao/4.processo-requisitos.md index ec9dc1b..e0a99f0 100644 --- a/docs/doc-visao/4.processo-requisitos.md +++ b/docs/doc-visao/4.processo-requisitos.md @@ -11,7 +11,7 @@ | --------- | ---------- | -------------------- | ------------------------------------------------------------- | | 26/9/2023 | 0.1 | Criação do documento | [Luciano de Freitas](https://github.com/luciano-freitas-melo) | | 26/9/2023 | 0.2 | Documentação dos processos de Engenharia de Requisitos | [Artur Rodrigues](https://github.com/ArturRSA19) e [João Barreto](https://github.com/JoaoBarreto03)| -| 27/9/2023 | 0.2.1 | Refatoração e correção da documentação dos processos de Engenharia de Requisitos | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03) e [Luciano de Freitas](https://github.com/luciano-freitas-melo)| +| 27/9/2023 | 0.3 | Refatoração e correção da documentação dos processos de Engenharia de Requisitos | [Artur Rodrigues](https://github.com/ArturRSA19), [João Barreto](https://github.com/JoaoBarreto03) e [Luciano de Freitas](https://github.com/luciano-freitas-melo)| ## Processos de Engenharia de Requisitos @@ -48,7 +48,7 @@ ![Facetas Engenharia de Requisitos](../assets/facetas_ER.jpg) -

(Fonte: Handbook IREB CPRE Foundation Level, 2022)

+

Fonte: Handbook IREB CPRE Foundation Level, 2022

*A partir da descrição das facetas, é possível definir qual o melhor processo a ser utilizado no processo, sendo então escolhido o modelo Participativo, que engloba as facetas: iterativo, exploratório e cliente específico. Essa escolha foi baseada nos seguintes requisitos:* @@ -67,14 +67,14 @@ Logo | Ferramenta | Finalidade | |---|---|---| | | Discord | Realizar as Sprints e Dailies | | | Google Chrome | Ferramenta de pesquisa e estudos | -| | Github | Armazenar os conteúdos no repositório da disciplina | +| | Github e Gitpages | Armazenar e apresentar a documentação do projeto, bem como o código-fonte do produto | | | Microsoft Teams | Realizar as reuniões semanais e gravar os vídeos das apresentações | | | Mkdocs | Criação do template da github pages | | | VSCode | Programação e edição da github pages | | | WhatsApp | Manter a comunicação entre os integrantes | | | Youtube | Compartilhar apresentações e disponibilizar as reuniões semanais | -

(Fonte: Autores, 2023)

+

Fonte: Autores, 2023

## Atividades de Engenharia de Requisitos @@ -84,47 +84,45 @@ Logo | Ferramenta | Finalidade | ### Sprint Planning e Release Planning -

Tabela 2 - Atividades, Métodos, Ferramentas e Entrega baseados nas Atividades de Engenharia de Requisitos.

+

Tabela 2 - Processos da Engenharia de Requisitos (ER) envolvidos na Sprint Planning e Release Planning

| Atividades | Métodos | Ferramentas | Entrega | --- | --- | --- | --- | Elicitação e descoberta | User Story, Brainstorming e Observação | Microsoft Teams, Discord, Whatsapp e Google Chrome | Conjunto de User Story, lista de necessidades e Visão de Produto | Análise e consenso | User Story Mapping | Microsoft Teams, Discord, Whatsapp e GitHub | User Stories priorizadas e funcionalidades que serão entregues na release. -

(Fonte: Autores, 2023)

+

Fonte: Autores, 2023

### Sprint -

Tabela 3 - Atividades, Métodos, Ferramentas e Entrega baseados nas Atividades de Engenharia de Requisitos.

+

Tabela 3 - Processos de ER envolvidos na Sprint

| Atividades | Métodos | Ferramentas | Entrega | --- | --- | --- | --- | Validação e Verificação | Definition of Done (DoD), Revisão e Testes | Discord, Github e Whatsapp| DoD, Resultado da revisão, testes aceitos e passando | Organização e atualização | User Story Mapping | Discord, Github e Whatsapp| Mapa das User Story -

(Fonte: Autores, 2023)

+

Fonte: Autores, 2023

### Sprint Review -

Tabela 4 - Atividades, Métodos, Ferramentas e Entrega baseados nas Atividades de Engenharia de Requisitos.

+

Tabela 4 - Processos de ER envolvidos na Sprint Review

| Atividades | Métodos | Ferramentas | Entrega | --- | --- | --- | --- | Verificação e Validação | Product Backlog | Microsoft Teams, Discord, Whatsapp e GitHub | Revisão das atividades e do feedback gerado pelo cliente | Organização e atualização | Definition of Done (DoD), Revisão e Testes | Discord, Github e Whatsapp| DoD, Resultado da revisão, testes aceitos e passando -

(Fonte: Autores, 2023)

+

Fonte: Autores, 2023

### Interation Planning -

Tabela 5 - Atividades, Métodos, Ferramentas e Entrega baseados nas Atividades de Engenharia de Requisitos.

+

Tabela 5 - Processos de ER envolvidos na Interation Planning

| Atividades | Métodos | Ferramentas | Entrega | --- | --- | --- | --- | Elicitação de Requisitos | Entrevistas com o Cliente, Revisão de Documentação Existente | Microsoft Teams, Discord, Whatsapp | Lista de Requisitos Priorizados para a Iteração | -

(Fonte: Autores, 2023)

- - +

Fonte: Autores, 2023

## Referências Bibliográficas From f9fce46f027107fd80613acbb2d1073a4517c704 Mon Sep 17 00:00:00 2001 From: Luciano Freitas Date: Wed, 27 Sep 2023 18:46:06 -0300 Subject: [PATCH 14/15] =?UTF-8?q?realiza=20revis=C3=B5es=20do=20documento?= =?UTF-8?q?=20de=20processos=20dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Alteração de ciclo de vida iterativo/incremental para ciclo de vida ágil --- docs/doc-visao/3.processo-dev.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/doc-visao/3.processo-dev.md b/docs/doc-visao/3.processo-dev.md index d7b6efb..5b088b4 100644 --- a/docs/doc-visao/3.processo-dev.md +++ b/docs/doc-visao/3.processo-dev.md @@ -85,7 +85,7 @@ ## Ciclo de Vida e Processo de Desenvolvimento do Software -*Como a abordagem de desenvolvimento escolhida foi a Abordagem Ágil, o ciclo de vida do software será o* **Ciclo de Vida Iterativo/Incremental***, pois o desenvolvimento do software será feito em incrementos, com entregas parciais e contínuas, com o objetivo de atender as necessidades do cliente e se favorecer da disponibilidade de feedbacks constantes.* +*Como a abordagem de desenvolvimento escolhida foi a Abordagem Ágil, o ciclo de vida do software será o* **Ciclo de Vida Ágil***, pois o desenvolvimento do software será feito em incrementos, com entregas parciais e contínuas, com o objetivo de atender as necessidades do cliente e se favorecer da disponibilidade de feedbacks constantes.* *O processo de desenvolvimento do software será o* **Scrum/XP***, que a união de duas metodologias complementares: O Scrum e o eXtreme Programming (XP). A metodologia Scrum servirá para organização e adaptação da equipe de desenvolvimento durante o projeto, o XP servirá para a execução das atividades de desenvolvimento do software.* From 5bddcd4ec67939d5e272d1e65d2e26334e6e531c Mon Sep 17 00:00:00 2001 From: Weslley Barros Date: Thu, 28 Sep 2023 01:17:23 -0300 Subject: [PATCH 15/15] Hotfix url --- docs/doc-visao/4.processo-requisitos.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/doc-visao/4.processo-requisitos.md b/docs/doc-visao/4.processo-requisitos.md index e0a99f0..cc06e46 100644 --- a/docs/doc-visao/4.processo-requisitos.md +++ b/docs/doc-visao/4.processo-requisitos.md @@ -65,7 +65,7 @@ Logo | Ferramenta | Finalidade | |---|---|---| -| | Discord | Realizar as Sprints e Dailies | +| | Discord | Realizar as Sprints e Dailies | | | Google Chrome | Ferramenta de pesquisa e estudos | | | Github e Gitpages | Armazenar e apresentar a documentação do projeto, bem como o código-fonte do produto | | | Microsoft Teams | Realizar as reuniões semanais e gravar os vídeos das apresentações |