Histórico de Versão
Data | Versão | Descrição | Autor |
---|---|---|---|
02/02/2022 | 1.0 | Criação da página | Victor Rayan |
03/02/2022 | 1.1 | Adicionando Metodologia | Victor Rayan |
04/02/2022 | 1.2 | Adicionando Ferramerntas | Victor Rayan |
09/02/2022 | 1.3 | Atualização/revisão dos dados | Luis Marques |
21/02/2022 | 1.4 | Revisão | Jaime Juan |
Metodologias
1. Objetivo
O objetivo principal deste documento é definir as metodologias e abordagens que serão utilizadas durante o desenvolvimento do projeto.
2. Introdução
Pela dificuldade de se seguir as metodologias ágeis ao pé da letra, por obstáculos como tempo da disciplina de Arquitetura e Desenho de Software e desencontro de horários por parte dos membros da equipe. O grupo optou utilizar uma metodologia modificada que atendesse as necessidades da equipe.
SCRUM
Scrum é uma metodologia ágil utilizada no desenvolvimento de Software baseado em processos iterativos e incrementais. Para isso, utiliza-se de um conjunto de práticas e papéis bem definidos que devem ser envolvidos durante o processo de desenvolvimento de software.
O Scrum é feito em Sprints, um pequeno ciclo iterativo, de 2 a 4 semanas, que fornece um resultado completo, uma variação do produto final. A equipe Scrum é formada por: * Scrum master: a pessoa que lidera a equipe orientando-os a cumprir as regras e processos da metodologia. * Product owner (PO): a pessoa responsável pelo notório saber e atribuições do produto. * E a equipe com conhecimento técnico necessário que desenvolve o projeto em conjunto, desenvolvedores.
Dessa forma, para o projeto a equipe utilizará os seguintes elementos do Scrum:
Pipelines | Descrição |
---|---|
Sprints | Pequeno ciclo iterativo de 1 semana* |
Sprint Planning | Evento que abre um novo ciclo de execução |
Sprint Review | Revisão da situação do projeto no final de cada Sprint |
Product Backlog | Lista de atividades que precisam ser feitas durante uma Sprint. |
Planning poker | Estratégia que busca uma estimativa via consenso da equipe. |
Assim sendo, utilizaremos modelo tradicional com pequenas alterações, como a utilização de Sprints de 1 semana.
Extreme Programming XP
XP também é uma metodologia ágil, que também visa entregas frequentes em pequenos espaços de tempo para melhorar a qualidade do software e a capacidade de resposta às mudanças nos requisitos do cliente. O Extreme Programming possui como um dos principais elementos o Code Review e o Pair Programming, técnica ágil onde dois programadores trabalham juntos, onde um escreve enquanto o outro observa e revisa. Sendo assim, do XP será adotado no projeto a utilização de tais técnicas.
Kanban
Com origem na área automotiva, o Kanban é uma metodologia visual de gestão de trabalho. É bastante útil para se fazer uma boa gestão de projetos. Por isso, a equipe decidiu utilizar esse sistema, através da ferramenta Zen-Hub. Nessa ferramenta utilizaremos de 5 colunas ou pipelines:
Elementos | Descrição |
---|---|
Backlog | Tarefas a fazer |
SprintBacklog | Tarefa a se realizar na sprint atual |
Doing | Tarefas em andamento |
Review | Tarefas que estão a espera de revisão |
Done | Tarefas terminadas |
Processo de Desenvolvimento
Contudo, o processo de desenvolvimento e mensuração em resumo decidido pela equipe é apresentando nos seguintes tópicos:
- O projeto será elaborado utilizando metodologias ágeis. Utilizaremos parte do Scrum modificado com Xp.
- Foi atribuido para o integrante Jaime a função de Scrum Master .
- Foi atribuído para o Integrando Luis Marques O papel de Product Owner.
- Foi atribuído para o Integrando Caio Gabriel O papel de DevOps.
- Todos os membros do projeto serão desenvolvedores.
- Será feito Sprints mais curtas, com duração de uma semana, por conta do tempo curto para desenvolvimento do projeto.
- Ao final de cada ciclo será realizado as “Sprints Reviews”, será averiguado o quadro Kanban e atualizaremos o BackLog conforme as necessidades da equipe.
- Nas Sprints Reviews utilizaremos o Planning Poker para consenso da equipe quanto às estimativas (tempo e esforço) dos itens do Product Backlog.
- Será utilizado o “Pair Programming” onde será feito o pareamento em duplas para troca de conhecimentos e desenvolvimento conjunto do projeto.
Ferramentas
As ferramentas utilizadas pela equipe até o presente momento são:
Referências Bibliográficas
O que é um Scrum Master e qual o seu papel?. Disponível em: https://www.ieepeducacao.com.br/Scrum. Acesso em: 2 de fevereiro de 2022.
Kanban: Conceito, como funciona, vantagens e implementação. Disponível em: https://www.totvs.com/blog/negocios/kanban/. Acesso em: 2 de fevereiro de 2022.