Pré-requisitos: Documentação de Especificação
A metodologia contempla a definição das ferramentas que serão utilizadas pela equipe, tanto para a gestão e manutenção dos códigos e demais artefatos, quanto para a divisão de tarefas e gerenciamento do projeto.
Os artefatos do projeto serão desenvolvidos a partir de duas plataformas: GitHub e Figma. A relação dos ambientes com sua respectiva plataforma é apresentada na tabela abaixo:
Ambiente | Plataforma |
---|---|
Repositório de código fonte | Github |
Documentos do projeto | Github |
Projeto de Interface e Wireframes | Figma |
Gerenciamento do Projeto | Github |
A relação das ferramentas empregadas no projeto e suas respectivas funções segue abaixo:
Função | Ferramentas |
---|---|
Editor de código | Github, Visual Studio 2019 |
Ferramentas de comunicação | Github, Microsoft Teams, Discord |
Ferramentas de diagramação | Figma, Astah, Lucidchart |
Os editores de código foram escolhidos por possuírem uma integração com o sistema de versão e maior possibilidade de integração da equipe na elaboração dos códigos. As ferramentas de comunicação utilizadas possuem integração semelhante e por isso foram selecionadas, facilitando o contato interno entre os membros da equipe e o contato externo da equipe com o orientador do projeto. Por fim, para criar diagramas, as ferramentas utilizada foram selecionadas por melhor captar as necessidades da solução e proporcionar uma melhor visualização do produto final, alémm de serem ambientes colaborativos para a atuação simultânea da equipe.
A ferramenta de controle de versão adotada no projeto foi o Git, sendo que o Github foi utilizado para hospedagem do repositório.
O projeto segue a seguinte convenção para o nome de branches:
main
: versão estável já testada do softwareunstable
: versão já testada do software, porém instáveltesting
: versão em testes do softwaredev
: versão de desenvolvimento do software
Quanto à gerência de issues, o projeto adota a seguinte convenção para etiquetas:
documentation
: melhorias ou acréscimos à documentaçãobug
: uma funcionalidade encontra-se com problemasenhancement
: uma funcionalidade precisa ser melhoradafeature
: uma nova funcionalidade precisa ser introduzida
Para fazer a gestão do código fonte do software desenvolvido neste projeto, a equipe utilizará um processo baseado no Git Flow, no qual todas as manutenções no código serão realizadas em branches separados, identificados como Hotfix, Release, Develop e Feature. Uma breve explicação sobre este processo é apresentada no vídeo The gitflow workflow - in less than 5 mins. A imagem a seguir exemplifica a metodologia do Git Flow.
A equipe utilizará o conceito de metodologias ágeis para fazer o gerenciamento do projeto, tendo escolhido a metodologia Scrum como base para a definição do processo de desenvolvimento.
A equipe está organizada da seguinte maneira:
- Scrum Master: Arthur Bernardo de Almeida Simões
- Product Owner: Gabriel Santos Pereira
- Equipe de Desenvolvimento: Aline dos Santos Silva, Arthur Bernardo de Almeida Simões, Arthur Fernandes Roque Ferrarez, Gabriel Santos Pereira, Luisa Helena Gonçalves de Oliveira, Maiquel Alves Peres
Para a organização e distribuição das tarefas do projeto, a equipe utilizará o Github, estruturado com as seguintes listas:
- Product Backlog: é uma lista detalhada de tudo o que precisa ser realizado para transformar a visão do produto em realidade (MindMaster, 2021). Ou seja, recebe todas as tarefas (entregas) que serão feitas durante o projeto. Caso surja a necessidade de incorporar novas atividades ao projeto, estas devem ser adicionadas a esta lista.
- Sprint: são as entregas que serão feitas ao longo do projeto para compor o Product Backlog. Ao final de cada Sprint terá sido concluída uma das tarefas da lista do Product Backlog. Os Sprints serão divididos em Sprints Backlogs, que são tarefas menores dentro de cada Sprint que determinarão o progresso do projeto.
- Kanban: é um Scrum Board que mostra o progresso da realização das Sprints Backlogs. Este quadro é delimitado em: To Do, Doing e Done.
- To Do: É a lista dos Sprints Backlogs que serão trabalhados no Sprint da vez.
- Doing (In progress): É a lista de tarefas que estão sendo executadas no momento pela equipe.
- Done: É a lista de tarefas do Sprint que já foram concluídas e estão prontos para serem entregues ao usuário.
Um exemplo do quadro Kanban montado pela equipe no Github é apresentado na imagem abaixo: