A metodologia de trabalho adotada para desenvolvimento do projeto, iniciou-se com o processo de pesquisa feita por meio de entrevistas com a parte interessada. Após identificação e análise dos problemas, seguimos com o processo de estruturação das soluções para sanar as necessidades apresentadas.
No processo de organização da equipe e otimização do ambiente de trabalho, optou-se pela utilização da metodologia SCRUM, por ela permitir a realização do trabalho de forma simples e dinâmica. Nesse método, o trabalho é realizado através de pequenos ciclos de atividades (Sprints) que tem o intuito de resolver problemas complexos e adaptativos.
Para desenvolver uma Aplicação Web adequada, utilizamos a ferramenta de controle de versão git, e o Github como hospedagem do repositório. O software para criação e edição das Interfaces e Wireframes utilizado foi o Figma e as ferramentas para comunicação em grupo utilizamos o Whatsapp e o Teams.
Ambiente | Plataforma | Link de Acesso |
---|---|---|
Repositório de Código Fonte | GitHub | https://github.com/ICEI-PUC-Minas-PMV-SInt/pmv-sint-2022-2-e3-proj-back-t1-time-2-bma |
Documentos do projeto | GitHub | https://github.com/ICEI-PUC-Minas-PMV-SInt/pmv-sint-2022-2-e3-proj-back-t1-time-2-bma |
Gerenciamento do projeto | GitHub Projects | https://github.com/orgs/ICEI-PUC-Minas-PMV-SInt/projects/1/views/1 |
Projeto de Interface e Wireframes | Figma | https://www.figma.com/file/mnIXhxdONPXOxMdGHJrJBV/Untitled?node-id=0%3A1 |
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
Todo desenvolvimento de recursos deve ocorrer em uma ramificação dedicada a cada desenvolvedor, sem interferir no código principal. A main da aplicação estará disponível para o time e cada participante manterá as versões em suas branches. As atualizações serão enviadas através de commits para o repositório central, que após finalizar e fazer a solicitação pull, será mesclado no projeto por meio das merges. As tags serão utilizadas para destacar estágios do desenvolvimento de algum recurso.
Fluxo de trabalho por ramificação de recursos
Fonte:https://www.atlassian.com/br/git/tutorials/comparing-workflows/feature-branch-workflow
A equipe utiliza metodologias ágeis, tendo escolhido o Scrum como base para definição do processo de desenvolvimento.
A equipe está organizada da seguinte maneira:
- Scrum Master: Dayana Cecília Reis Beirigo Dutra;
- Product Owner: Amanda Paloma Lourenço;
- Equipe de Desenvolvimento: Adriana Cristina Souza Leite, Elaine Souza Melo, Leonardo Ruas Santos;
No projeto do Banco Municipal de Alimentos (BMA), serão planejadas Sprints para levantamento de fluxos de:
- cadastros dos beneficiários;
- cadastro dos funcionários;
- cadastro da retirada de cestas;
- autenticação de funcionário;
- autenticação de beneficiário;
Para esse projeto ocorrerão reuniões semanais entre a equipe de desenvolvedores do projeto.
Os backlogs do produto, bem como a entrega dos processos em cada Sprint, serão gerenciados e organizados por meio dos quadros de projeto fornecidos no GitHub com a utilização do modelo de Kanban automatizado. Este facilita o manejo dos backlogs do produto, organizando-os em cada sprint, além de permitir a atribuição das tarefas para cada membro da equipe.
As ferramentas empregadas no projeto são:
- Figma: criação de protótipo;
- Editor de documento Google: escrita colaborativa entre membros;
- Google Drive: compartilhamento de documentação;
- Draw.io: desenho de fluxo;
- Teams: reuniões por vídeo conferência;
- Github: escrita e estruturação do projeto;
- Whatsapp: interação e troca de informações entre a equipe.
O Github foi escolhido por sua simplicidade de acesso, visto que não é necessário instalar um software, o que nos possibilita acessar via web e mobile. Além disso, dada a sua integração com o sistema de controle de versão GIT, ele facilita o gerenciamento dos códigos.
As ferramentas de comunicação foram definidas pela praticidade. O Microsoft Teams foi escolhido para reuniões de alinhamento semanais e o Whatsapp foi escolhido com o foco nas reuniões diárias para rápida resolução de algum tópico e demais tarefas que surgirão diariamente.
Para ferramentas de desenho de tela e prototipagem, utilizamos Figma, que nos dá a possibilidade de trabalho em equipe no projeto de maneira simultânea e permite a gestão dos projetos. Além disso, por ser intuitivo, é de rápida aprendizagem.
Por fim, para criar diagramas, utilizaremos o draw.io para melhor captar as necessidades da nossa solução.