Ir para o conteúdo

Metodologias

Introdução

Nossa equipe utiliza diferentes metodologias, as quais, de certa forma, integram e agilizam nosso processo de desenvolvimento como um todo. Esse documento tem como objetivo informar sobre nossas metodologias em diferentes situações e explicar como nosso time se comunicou e trabalhou durante todo o processo.

XP (eXtreme Programming)

O método XP é uma metodologia ágil, que pode ser aplicada para otimizar processos e gerar valor ao cliente. Nós escolhemos usar o método XP pois de maneira direta, pois essa metodologia tem como objetivo desenvolver sistemas de qualidade, com um interação mais dinâmica e acessível com o cliente e testagem de ciclos de desenvolvimento rápidos e de maneira constante. Nós adaptamos o modelo ao nosso contexto para que dessa forma pudéssemos aproveitar 100% do processo.

Refatoração

Nossa equipe, de forma dinâmica e constante, busca melhorar e otimizar o projeto, deixando-o mais claro, com menos possibilidade de erros e de duplicação de processos, a partir de revisões e reuniões.

Integração contínua

Nossa equipe está sempre a postos para revisar o quanto antes uma nova tarefa publicada por um dos membros ao longo do desenvolvimento do projeto, para que dessa forma tenhamos um desenvolvimento mais fluido e sem interrupções indesejadas para um processo pleno. Evitando assim, problemas futuros e com a revisão contínua, corrigindo-os quando localizados.

Propriedade coletiva

Com o objetivo de tornar o projeto mais dinâmico e leve para os membros, as nossas atividades são dividas de maneira que tenha ao menos um desenvolvedor e um revisor para evitar envios e conclusões com erros. No processo, de maneira constante, nós debatemos a maioria das decisões em grupo, principalmente quando o tema ou questão é pertinente a todos. Ademais, nas outras atividades consideradas "chave" para o processo de desenvolvimento, nós nos dedicamos na realização a tarefa de maneira coletiva para que possamos assim, ter um pensamento comum e cada membro sinta-se integrado e influente dentro do projeto.

Proposta de Comunicação

Com o intuito de nos organizarmos e evitar problemas e divergências com as entregas das tarefas, nós nos planejamos em como seria nosso plano de comunicação.

Os membros tem acesso a todas as plataformas disponíveis e essenciais de comunicação e desenvolvimento que nós planejamos utilizar durante o processo de desenvolvimento, são elas: teams, telegram, github e google docs.

As tarefas serão geridas a partir de issues e pull requests, de maneira técnica e rápida nos comunicamos a partir de comentários em cada canal.

Os membros da equipe utilizarão também o telegram, o qual é, de certa forma, um meio de comunicação eficiente para troca de informações rápidas e avisos de novas atualizações e mudanças acerca do projeto, bem como também, para tirar dúvidas e esclarecimentos.

Encontros semanais

Além de todos os meios de comunicação por mensagem rápidas e tarefas do git, nós nos reunimos toda semana às terças-feira as 20 horas na plataforma "Teams", para alinharmos nossas questões acerca do projeto e também colocarmos nossas ideias em sincronia com os demais membros da equipe. Ademais, organizamos nosso cronograma e planejamos as tarefas da próxima semana, e se de alguma forma houver alguma tarefa atrasada, colocamos como preferência e como equipe, ajudamos a terminá-la da maneira mais breve possível.

SCRUM

Afim de assegurar uma quantidade consistente e rápida de entregas, a metodologia ágil SCRUM foi adotada para organização do tempo do time. Foi definido o timebox de uma semana para cada sprint, iniciado e finalizado pelas reuniões semanais nas terças-feiras às 20:00.

As reuniões semanais têm como principais objetivos a realização de um momento de review (sprint review) da sprint finalizada e organização das tarefas da sprint que se inicia (sprint planning). A atribuição das tarefas foi feita no início do projeto e encontra-se disponível no cronograma, sendo assim, em cada sprint planning será verificado com cada integrante a possibilidade de realizar a entrega à qual ele foi designado.

A organização das tarefas será feita por meio da criação de issues e a revisão dos artefatos será feita durante o pull request referente à cada funcionalidade adicionada. Dessa forma é possível manter uma rastreabilidade das alterações e revisões efetuadas.

Políticas

Política de branches

As branches devem ser nomeadas de acordo com a issue correspondente, seguindo o seguinte padrão: git checkout -b "[tipo]/#issue-descrição

Onde tipo diz respeito ao tipo de issue: feat (funcionalidade), refac (refatoração) ou fix (conserto).

Exemplo:

A branch referente à issue #3 feature: metodologias pode ter o nome: feat/3-metodologias

Política de commits

As mensagens dos commits devem seguir o padrão:

git commit -m "#issue descrição

Exemplo:

O commit referente a criação do arquivo metodologias.md pode ter a mensagem #3 cria documento de metodologias

Bibliografia

[1] Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of Knowledge, Version 3.0, IEEE Computer Society, 2014; www.swebok.org.

Histórico de Versão

Versão Data Descrição Autor(es) Revisor(es)
1.0 18/11/2022 Criação do documento Davi Silva e Nicolas Souza Mauricio