Políticas de Contribuição
Workflow
Observações
No projeto Puma:
- A
develop
é equivalente àdev
- A
master
é equivalente àmain
Develop e Master Branches
Ao invés de uma única branch master
, esse fluxo de trabalho usa duas branches para registrar o histórico do projeto. A branch master
armazena o histórico do lançamento oficial, e a branch develop
serve como uma branch de integração para recursos. Também é conveniente marcar todos os commits na branch master
com um número de versão.
A primeira etapa serve para complementar a branch master
padrão com uma branch develop
. Um jeito simples de alcançar esse resultado é com um desenvolvedor criando uma branch develop
no local e fazendo o push para o servidor:
Feature Branches
Cada novo recurso deve residir em sua própria branch, que pode ser enviada ao repositório central para backup/colaboração. Mas, em vez de criar a branch da master
, as branches de recursos usam a develop
como seu branch pai. Quando um recurso é concluído, ele é mesclado de volta ao develop
. Os recursos nunca devem interagir diretamente com o master
.
Criando Feature Branch
git checkout develop
git pull origin develop
git checkout -b feature_branch
Finalizando Feature Branch
Quando você terminar o trabalho de desenvolvimento do recurso, o próximo passo é mesclar o feature_branch
em develop
. Você deve então abrir um Pull Request de feature_branch
para develop
, que será revisado por um dos membros da equipe EPS.
Kanban
O ZenHub foi a ferramenta escolhida para auxiliar a equipe na condução do scrum, que utilizará sua funcionalidade de pipelines para fins rastreabilidade e transparência do trabalho a ser realizado na sprint.
As pipelines utilizadas serão:
- Backlog - Todo o Backlog atualizado do produto.
- Sprint Backlog - Issues/histórias que foram alocadas para a Sprint.
- Ice Box - Issues/histórias que foram retiradas da coluna In Progress numa Sprint por algum motivo de força maior.
- In Progress - Issues/Histórias sendo trabalhadas no momento.
- Review - Necessário revisão de EPS.
- Done - Issue/história concluída.
Assim que uma história técnica ou de usuário respeitar a definição de pronto acordada, e, caso possua testes unitários, e a build esteja passando, o responsável por ela abrirá um Pull Request, e assim que for revisado por um membro de EPS, que, caso aceite a história, ela poderá ser movida para done. Além disso, a cobertura de testes deverá estar em 90%.
Política de Issues
- Issues em português.
Histórias de Usuário
- Utilizar a(s) label(s) US.
Deve seguir o template abaixo:
-
Descrição
- Deve seguir o formato:
- Como [persona], eu [quero], [para que].
-
Critérios de Aceitação
- Lista de critérios que precisam ser alcançados para que a User Story atenda os requisitos do usuário e seja aceita pelos POs.
-
Tarefas Técnicas
- Lista de tarefas que indicam passos(a partir do ponto de vista técnico) para que a implementação da User Story seja concluída com êxito.
Melhorias
- Utilizar a(s) label(s) ENHANCEMENT.
Deve seguir o template abaixo:
-
Descrição
- Descrição da melhoria indicando quais aspectos serão aprimorados/atualizados.
-
Critérios de Aceitação
- Lista de critérios que precisam ser alcançados para que a melhoria seja feita da maneira correta.
-
Tarefas Técnicas (Opcional)
- Lista de tarefas que indicam passos(a partir do ponto de vista técnico) para que a melhoria seja concluída com êxito.
BUGs
- Utilizar a(s) label(s) BUG.
Deve seguir o template abaixo:
-
Descrição
- Descrição do BUG.
- Passos para reproduzir o BUG.
-
Critérios de Aceitação
- Lista de critérios que precisam ser alcançados para que o BUG seja considerado resolvido.
-
Tarefas Técnicas (Opcional)
- Lista de tarefas que indicam passos(a partir do ponto de vista técnico) para que a solução do BUG seja concluída com êxito.
Definição de Done (DoD)
- Critérios de Aceitação cumpridos;
- Tarefas Técnicas, se houverem, concluídas.
Política de Branches
-
Branches em português.
-
A Branch deve ter uma TAG que faça referência ao problema que esta branch resolverá.
-
Exemplo:
Uma branch para a issue "#13 Validacao de Cadastro de Usuário" deve ser como:
git checkout -b 13-validacao_cadastro_usuario
- Se o título da edição for muito grande, use apenas as primeiras palavras significativas para criá-la
Política de Commits
-
Commits em português
-
Um bom commit deve sempre ser capaz de completar a seguinte frase.
se aplicado, este commit irá [commit message]
- Exemplo prático:
git commit -m Corrigir bug no formulário de cadastro de usuário
git commit -m Adicionar funcionalidade de correção de senha
Histórico de Versão
Data | Versão | Descrição | Autores |
---|---|---|---|
02/03/2022 | 1.0 | Criação do documento | Eugênio Siqueira |
14/03/2022 | 1.0 | Adição do tópico política de issues | Gustavo Nogueira |
Referências
- How to write a git commit message. Disponível em: https://chris.beams.io/posts/git-commit/. Acesso em: 02 de março de 2022.
- Fluxo de trabalho de um branch de recurso do Git. Disponível em: https://br.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow. Acesso em: 02 de março de 2022.
- Fluxo de trabalho de Gitflow. Disponível em: https://br.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow. Acesso em: 02 de março de 2022.