Visão Geral do Projeto¶
Ciclo de vida do projeto de desenvolvimento de software¶
Será adotado um modelo Agil incremental híbrido baseado em SCRUM e XP (ScrumXP), com entregas realizadas em sprints semanais. Esse ciclo de vida foi escolhido porque permite o desenvolvimento e evolução contínua do sistema com base no feedback semanal dos membros, além de promover alta colaboração da equipe como o nosso cliente/monitor por meio de Pair Programming, Code Review, Sprint Planning, Sprint Review, Sprint Retrospective e a construção contínua do Backlog de Produto. A única coisa que o difere de um SCRUM tradicional é a ausência de dailys, algo que todos da equipe concordaram, sabendo que mesmo sem um trabalho e vigilância constante entre membros devido falta de tempo ou a razões fora do desenvolvimento do projeto de forma geral, confiamos uns aos outros de fazer as entregas o mais dentro do prazo esperado possível. Essa escolha se deve principalmente pela possibilidade de maleabilidade do produto conforme nós o construímos, algo importantíssimo considerando nossa inexperiência no desenvolvimento de software em grupo, então esperamos que muitos erros com prazos e features aconteçam no caminho. Por essa razão, precisamos do método mais adaptável, ágil, e que nos possibilite ver um progresso constante dos membros para garantir que as coisas não estão saindo do controle. Então, uma variação do método SCRUM é definitivamente o que mais se encaixava em nosso perfil e contexto. Faremos todo o projeto baseado em algumas tecnologias chave. Para comunicação, estaremos usando: Microsoft Teams: Sprint Planning, Review e Retrospective. Para reuniões mais longas, em que se mostra necessário gravar para possível consulta dos assuntos discutidos posteriormente. Discord: Pair Programming, para comunicações por voz mais rápidas ou fáceis que acontecerão entre grupos menores durante o desenvolvimento. WhatsApp para comunicações de texto mais rápidas, avisos, marcar reuniões.
Organização do Projeto¶
Para organização do projeto, foi decidido um modelo de organização em duplas, em que cada dupla focará em uma parte do desenvolvimento, porém não exclusivamente nele, apenas servindo de um guia. Duplas do backend ainda serão deslocados e interagirão entre si conforme necessidades de tempo e planejamento que fizemos em uma sprint específica.
Planejamento das Fases e/ou Iterações do Projeto¶
As sprints são variáveis em seus dias, podendo acontecer quarta ou sexta dependendo do acaso que uma aula não aconteça na quarta, sendo um evento frequente o suficiente para considerar como uma possibilidade de dia para fazermos sprints. Sendo assim não é algo constante, mas funciona para nosso grupo
Matriz de Comunicação¶
Gerenciamento de Riscos¶
O gerenciamento de riscos do projeto tem como objetivo ajudar a equipe a se preparar para possíveis problemas que possam atrapalhar o andamento do desenvolvimento, como atrasos, bugs ou dificuldades técnicas. A tabela a seguir mostra os principais riscos que identificamos até o momento, junto com o nível de impacto de cada um, o que podemos fazer para evitar que eles aconteçam (mitigação) e como agir caso eles realmente ocorram (plano de contingência). Com isso, conseguimos nos organizar melhor e garantir que o projeto continue avançando, mesmo diante de imprevistos.