Processos de desenvolvimento de software
A equipe optou por utilizar abordagens ágeis visando uma maior agilidade e responsividade a mudanças durante o processo de desenvolvimento do sistema. Para isso, foi implementada uma adaptação dos métodos SCRUM e XP.
O SCRUM é um framework de gestão de projetos que tem como foco a entrega incremental do produto em interações chamadas sprints. Promove a colaboração, adaptação contínua e a auto-organização da equipe. Já o XP é uma metodologia focada na qualidade do software e satisfação do cliente, apoiada em valores como respeito, coragem, feedback, comunicação e simplicidade, bem como visto em práticas como programação em pares, integração contínua, além da comunicação constante entre os membros da equipe e da entrega de releases curtas, a fim de satisfazer o cliente.
Dentro das abordagens escolhidas, utilizaremos métodos como sprints semanais, revisão do c ódigo em pares, reuniões mais extensas (checkpoints) e serão elaborados documentos/diagramas para ajudar na organização da equipe.
Scrum
A tabela a seguir detalha as cerimônios que serão ou não usadas no desenvolvimento do projeto:
Atividade | Método | Ferramenta | Entrega |
---|---|---|---|
Checkpoint | No lugar das reuniões diárias, optamos por realizar 2 reuniões online por semana de aproximadamente 30 minutos | Discord | Registro de progresso, identificação de problemas e planejamento futuro. |
Planning | Reunião online | Discord | Planejamento e quais tarefas serão realizadas durante a sprint. |
Refinamento | Reunião online | Discord | Estórias de usuário refinadas e com pontuação definida pela equipe usando a escala fibonacci com o objetivo de facilitar a criação de sprints futuras e replanejamento, em casos necessários, de sprints já planejadas. |
Retrospectiva | Reunião de análise do que foi feito (final da sprint), abrindo espaço para melhorias. | Discord e Miro | Quadro da retrospectiva. |
Daily Scrum | Não serão realizadas, tendo em vista conflito de horários dos membros da equipe para a Daily Scrum |
XP
A tabela a seguir detalha as práticas de XP que serão ou não utilizadas no desenvolvimento do projeto:
Prática XP | Motivo |
---|---|
Pair programming | Visa a qualidade do código, o aprendizado colaborativo e reduz erros, pois envolve dois programadores trabalhando juntos e simultaneamente. |
Releases pequenos | Ao invés da entrega de releases pequenos, dividimos nosso projeto em duas releases principais, tornando-as mais longas que o padrão.ndo uma abordagem mais interativa e adaptativa, além de permitir uma resposta ágil às mudanças e requisitos do cliente. |
Integração contínua | Permite verificar se novas funcionalidades não criaram novos defeitos ao projeto. |
Padrões de codificação | Facilita a compreensão e organização de código. |
Refatoramento | Permite manter o código limpo, eficiente e de fácil manutenção, sem alterar a sua funcionalidade. |
Testes funcionais | Importante processo a fim de garantir a qualidade e adesão aos requisitos. |
Jogo do planejamento | Não será utilizado, pois julgamos ser uma prática que demanda um tempo considerável, tendo em vista o tempo limitado que temos com o cliente. |
Cliente no local | Não será utilizado devido à indisponibilidade do cliente para que essa prática seja realizada. |