As metologias de desenvolvimento de software consistem, basicamente, no conjunto de abordagens que podem ser utilizadas para a criação de sistemas de processamento de informações, nesse caso, códigos. Tendo em vista que existe uma infinade de projetos a serem, ou sendo executados, é coerente que cada um tenha sua particularidade; sendo assim é evidente que ha diversos métodos e que cada um deles possui vantagens e desvantagens, nesse contexto é importante conhecer as metas, os objetivos, prazos e orçamentos envolvidos no projeto para determinar qual é a abordagem mais alinhada. Tal escolha, dependerá do perfil do projeto em questão.
Os artefatos do projeto são desenvolvidos a partir de diversas plataformas e a relação dos ambientes com seu respectivo propósito é apresentada na tabela a seguir.
Ambiente | Plataforma |
---|---|
Repositório de código fonte | GitHub |
Projeto de Interface e Wireframes | Figma |
Gerenciamento do Projeto | Planner e GitHub |
Ambiente de desenvolvimento integrado (IDE) | Visual Studio Code |
Tecnologias para comunicação | Teams e Whatsapp |
A ferramenta de controle de versão adotada no projeto foi o Git, sendo utilizado o Github 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 softwaredevelop
: versão de desenvolvimento do softwaretesting
: versão em testes do software
Quanto à gerência de issues, a cada alteração realizada pelos membros do grupo é realizado o upload dentro de sua respectiva branch, conforme abaixo:
Allana Tavares
Gabriel Garcia
Kaique Rocha
Leonardo Filter
Mariane Serapião
Sabrina Gomes
Para a gestão do código fonte do software desenvolvido neste projeto, a equipe utilizará um processo baseado no Git Flow. Todas as manutenções no código serão realizadas em branches separados, identificados como Hotfix, Release, Develop e Feature. A imagem a seguir exemplifica a metodologia do Git Flow.
A divisão de papéis entre os membros é:
- Product Owner: Kaique Rocha
- Scrum Master: Sabrina Gomes
- Design: Allana Tavares
- Desenvolvimento: Allana Tavares, Gabriel Garcia, Kaique Rocha, Leonardo Filter, Mariane Serapião, Sabrina Gomes
O grupo utilizou um board no GitHub Projects e o Microsoft Planner a fim de acompanhar andamento do projeto, a execução das tarefas e o status de desenvolvimento da solução. Foram consideradas as seguintes listas:
- Não iniciada: para tarefas a serem desenvolvidas dentro da sprint atual.
- Em andamento: para tarefas em processo de desenvolvimento dentro da sprint atual.
- Concluída para tarefas concluídas dentro da sprint atual.
Segue abaixo, os modelos de soluções adotadas.
No GitHub Projects, o quadro Kanban é atualizado após a realização de commits associados a tarefas nas sprints, demonstrado na imagem:
Já o Microsoft Planner: permite o gerenciamento de pessoal, conforme explicitado na seção anterior.
Já as ferramentas empregadas no projeto e suas respectivas funções são:
Função | Ferramentas | Justificativa |
---|---|---|
Ferramenta de repositório e documentação | Github | A ferramenta foi escolhida por ter modelos do curso, bem como uma integração robusta com boards de acompanhamento de projetos, facilitando a gestão de processos |
Editor de código | Visual Studio Code | Foi escolhido por sua integração com o sistema de versão, bem como extensões que agilizam o desenvolvimento de uma aplicação |
Ferramentas de comunicação | Visual Studio Code, Teams e Whatsapp | Foram ferramentas escolhidas por conveniência: conexão direta ao código, contato com o professor e demais membros e acesso diário - nessa ordem. |
Ferramentas de diagramação | Figma | Foi escolhida por seus recursos de wireframing bem como prototipagem de telas. |
Ferramentas de modelagem de processos | BPMN.iO | Foi escolhido por ser uma ferramenta própria para o desenvolvimento desse modelo de fluxograma, focada em fazer mapeamento dos processos, vinculando a estratégia de negócios ao desenvolvimento do sistema para garantir o valor do negócio. |
Ferramentas de gestão de projetos | GitHub Projects, Notion, Microsoft Planner: | O Projects auxilia na integração de tarefas atribuídas à sua execução em commits, ao passo que o Microsoft Planner permite a avaliação das sprints e um melhor gerenciamento de colaboradores. |