Metodologia
Metodologias adotadas
O projeto foi desenvolvido se baseando em algumas metodologias para melhor gerenciamento e desenvolvimento do projeto em equipe. Foi adotado as metodologias Scrum (na utilização de papéis, ritos e sprints), XP (em boas práticas de desenvolvimento) e Kanban (para o acompanhamento das tarefas).
Papéis
O time foi dividído em papéis para o desenvolvimento do projeto.
Scrum Master
O Scrum Master, papel adotado por Vitor Leal, tem as seguintes responsabilidades:
- Comunicação da equipe;
- Indicadores e métricas de produtividade;
- Metas de entrega continua;
- Monitoramento e controle Ágil;
- Roadmap para alcançar a produtividade máxima do time;
- Análise da qualidade do produto baseada em dados;
Product Owner
O Product Owner é, seguindo a definição, o dono do produto, no caso os clientes do projeto. Entretanto, foi definido o papel de Product Owner para um membro da equipe, para facilitar a comunicação entre os clientes e a equipe, esse papel foi adotado por Ezequiel de Oliveira, que possui as seguintes responsabilidades:
- Visão do produto;
- ROI - retorno de investimento;
- Plano de negocio - Canvas;
- Priorização do backlog;
- Protótipos;
- Identidade visual;
- Roadmap do produto;
- Pitch de venda;
Arquiteto de Software
O Arquiteto, foi o papel adotado por Gabriel Carvalho, que possui as seguintes responsabilidades:
- Levantamento do Roadmap de requisitos;
- Proposta de arquitetura de microsserviços;
- Orquestração de containers com microsserviços;
DevOps
O papel de DevOps, adotado por Gabriela Guedes, possui os seguintes objetivos:
- Gitflow;
- Pipeline de integração e deploy continuo;
- Integração contínua;
- Ambientes de homologação/produção;
- Roadmap de deploy continuo;
- Evidência de deploy continuo;
Analista de Dados
O papel de Analista de Dados foi dividido entre os membros de EPS, Vitor Leal, Ezequiel de Oliveira, Gabriel Carvalho e Gabriela Guedes. As responsabilidades desse papel são:
- Orquestração da Ferramenta SonarQube no pipeline;
- Extração, tratamento e carga do arquivo fornecido pela ferramenta de análise estática;
- Estimular a prática de analise de dados entre o time;
- Orientar a prática de tomada de decisões a partir dos dados do projeto;
Desenvolvedores
Os desenvolvedores do projeto são os membros de MDS do time, Davi Marinho, João Pedro Chaves, Thiago França, Lucas da Cunha, Dafne Moretti e Victor Yukio.
Ritos adotados
O projeto utiliza de sprints de duração de uma semana. Tendo início no Sábado e finalizando na Sexta. Durante esse periodo de sprint são realizados os ritos.
Planning
Durante a reunião de Planning, o time define as atividades que serão realizadas na sprint. Durante essa reunião é definido os objetivos da sprint, os pareamentos, as tarefas que serão realizadas, os responsáveis para cada tarefa e a pontuação através de planning poker.
Review
Durante a reunião de Review é analisado o que foi previsto e o que foi realmente entregue na sprint, visualizando o desempenho da equipe através de gráficos de burndown e velocity. Nessa reunião também é feito o acompanhamento do quadro de conhecimento do time.
Retrospectiva
A partir da análise do desempenho do time, é feito um levantamento dos pontos bons e dos pontos a serem melhorados. Na reunião também é feita a análise dos riscos do projeto.
Daily
Daily é uma reunião curta, diária, para atualização da equipe. Nessa reunião cada membro informa a equipe no que trabalhou e quais foram os seus impedimentos.
Comunicação
O trabalho da equipe é feito exclusivamente online, à distancia, devido a quarentena. Para isso utilizamos de ferramentas para auxiliar na comunicação do time.
GitHub
Os repositórios do projeto estão todos na organização da disciplina no GitHub. Nesses repositórios é feita a comunicação através de issues.
Zenhub
O Zenhub é a ferramenta utilizada para o Kanban do projeto. Com ele podemos visualizar o gitflow e ter o acompanhamento do estado de cada tarefa que está sendo realizada.
Discord
O Discord é uma das maiores ferramentas de comunicação do time. Foi criado um servidor somente para a interação da equipe, utilizado para reuniões e pareamentos, também foi instaciado um webhook, para receber notificações do GitHub.
Também é utilizado o servidor da disciplina, onde é feita a comunicação com os clientes do projeto e o professor.
Telegram
Além do Discord a comunicação do time também é feita pelo telegram, onde são feitas discussões mais objetivas.
Google meets
O grupo frequentemente se reúne com os clientes do projeto, essas reuniões são feitas pela plataforma Google Meets.