Skip to main content

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:

AtividadeMétodoFerramentaEntrega
CheckpointNo lugar das reuniões diárias, optamos por realizar 2 reuniões online por semana de aproximadamente 30 minutosDiscordRegistro de progresso, identificação de problemas e planejamento futuro.
PlanningReunião onlineDiscordPlanejamento e quais tarefas serão realizadas durante a sprint.
RefinamentoReunião onlineDiscordEstó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.
RetrospectivaReunião de análise do que foi feito (final da sprint), abrindo espaço para melhorias.Discord e MiroQuadro da retrospectiva.
Daily ScrumNã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 XPMotivo
Pair programmingVisa a qualidade do código, o aprendizado colaborativo e reduz erros, pois envolve dois programadores trabalhando juntos e simultaneamente.
Releases pequenosAo 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ínuaPermite verificar se novas funcionalidades não criaram novos defeitos ao projeto.
Padrões de codificaçãoFacilita a compreensão e organização de código.
RefatoramentoPermite manter o código limpo, eficiente e de fácil manutenção, sem alterar a sua funcionalidade.
Testes funcionaisImportante processo a fim de garantir a qualidade e adesão aos requisitos.
Jogo do planejamentoNã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 localNão será utilizado devido à indisponibilidade do cliente para que essa prática seja realizada.