Processo de Desenvolvimento
Descrição
Esta seção é dedicada a apresentar o processo de desenvolvimento do time, junto dela serão apresentados documentos referentes a maneira que o time se organizou e trabalha.
Sumário
Git Workflow
Branches
Nomes
Como padrão para nomes de branches, foi decidido o seguinte:
<tipoDeItem>-<nomeDoItem>
Exemplo de Componentes:
component-navBar
component-slider
Exemplo de Páginas:
page-recipes
page-creations
Criação
Para garantir que o processo de desenvolvimento esteja sempre atualizado, lembre-se de executar o seguinte comando na branch dev antes de criar uma branch nova:
git pull origin dev
Depois da execução desse comando é necessário oficialmente criar a Branch, para isso, execute o seguinte comando:
git checkout -b <nomeDaBranch>
Assim que criar a branch, é necessário fazer um push
para garantir que a mesma estará remota:
git push --set-upstream origin <nomeDaBranch>
Pronto! Agora você já pode começar a programar na sua Branch.
Commits
Para que o código desenvolvido seja salvo em sua branch de maneira remota, é necessário realizar os comandos de commit
e push
Salvando Localmente
Para garantir que apenas o código necessário para funcionamento da tarefa lembre-se de realizar o comando add
apenas nos arquivos essenciais para a tarefa:
git add <nomeDoArquivo>
Depois de adicionar todos os arquivos que deseja salvar, execute o commando de commit com uma mensagem curta que represente o que foi trabalhado nesses arquivos adicionados:
git commit -m 'descrição da tarefa em português'
Não hesite em realizar vários commits, assim podemos ter docuemntado e salvo vários estados do desenvolvimento
Salvando Remotamente
Depois de finalizar o desenvolvimento, envie todos os commits da sua máquina para o servidor remoto. Para isso depois de realizar as etapas de salvamento local, salve remotamente com o comando push
:
git push
Merge Requests
Depois de uma task ter sido desenvolvida e estiver pronta de acordo com os critérios de aceitação, é necessário que a mesma seja enviada para a branch de desenvolvimento. Para isso é necessário abrir um Merge Request pela platafora GitLab:
Criando o Merge Request
A criação pode ser realizada na seção Merge Requests do repositório em que a branch foi criada. Clicando no botão New Merge Request
siga os seguintes passos:
- Selecionar a branch de origem (sua branch de desenvolvimento);
- Selecionar a branch de destino (branch dev);
- Selecione
Compare branches and continue
- Em
Title
, escreva um título que descreva a funcionalidade adicionada ou bug corrigido; - Em
Description
, escreva uma descrição com uma breve justificativa nos arquivos que foram alterados; - Caso a tarefa seja visual (criação de componente/tela, correção de bug) adicione um gif exemplificando o uso (se considerar necessário);
- Na seção
Assignee
, selecioneAssign to me
para que fique registrado quem foi o responsável pelo desenvolvimento daquela tarefa (a pessoa selecionada será chamada caso o revisor tenha dúvidas sobre a tarefa); - Em
Milestone
selecione a Sprint em que a tarefa foi realizada; - Em
Labels
selecione qual é o tipo de tarefa que foi realizada; - Por último, revise se os arquivos que estão sendo enviados estão corretos e clique em
Submit Merge Request
.
Revisando o Merge Request
A revisão de merge request pode ser realizada por qualquer desenvolvedor, mas é preciso da aprovação de pelo menos um AGES III ou AGES IV para que a mesma seja incorporada na dev.
Na hora de revisar o Merge Request, entre na branch em sua máquina e teste a funcionalidade/bug/componente/tela de acordo com os critérios de aceitação apresentados no Airtable.
Caso haja pendências, relacionadas a documentação do código, padronização ou arquivos enviados, não exite em realizar um novo commit na branch com as mudanças necessárias antes de realizar a integração.
Matriz de Responsabilidade
Essa matriz foi desenvolvida para ajudar os membros do time a saberem seus papéis na dentro do processo de desenvolvimento.
Atividades | AGES I | AGES II | AGES III | AGES IV |
---|---|---|---|---|
Alimentar a wiki | Marcos Sanhudo | Bruno Marcelino | Aloísio Bastian, Felipe Bordignon, João Severo | |
Definir squads | Aloísio Bastian, Felipe Bordignon, João Severo | |||
Definir marcos da sprint | Aloísio Bastian, Felipe Bordignon, João Severo | |||
Quebra de tasks | Aloísio Bastian, Felipe Bordignon, João Severo | |||
Desenvolvimento | Glauber de Araujo, Gustavo Silva, Marcos Sanhudo, Rodrigo Rosa | André Santos, Felipe Roque, Jhonata Peres | ||
Code review | Bruno Marcelino | Aloísio Bastian, João Severo | ||
Executar testes funcionais | Felipe Roque | Felipe Bordignon | ||
Deploy da aplicação | Leonardo Berlatto | Bruno Marcelino | Felipe Bordignon | |
Apresentação da review | Aloísio Bastian, Felipe Bordignon, João Severo |
- I: Deve ser informado
- C: Deve ser consultado
- R: Responsável
- A: Aprova
Plano de Comunicação
Evento | Descrição | Responsável | Envolvidos | Frequência | Duração |
---|---|---|---|---|---|
Reunião de Kick Off | Uma reunião inicial realizada para convergir os interesses do cliente e do time. Nela tiramos-se dúvidas e alinha-se, com o auxílio do cliente, o que será desenvolvido no projeto. | Cliente | AGES I, II, III, e IV; e cliente | Apenas uma vez | 1h30min |
Checkpoint | Atualização remota de cada integrante do time, que, de forma independente, informa ao resto do grupo através de aplicativo de mensagens: o que foi feito no período desde o último encontro até terça-feira, bem como impedimentos e planos para o resto da semana. | AGES IV | AGES I, II, III, e IV | Toda terça-feira | O necessário para cada membro |
Weekly | Atualização de cada integrante do time sobre o que foi feito desde o último encontro, o que será feito, se há algum problema ou algo a ser comentado. | AGES IV | AGES I, II, III, e IV | Toda sexta-feira | 15min |
Sprint Review | Avaliação do que foi feito e desenvolvido durante a sprint. | AGES IV | AGES I, II, III, e IV; e cliente | A cada 15 dias | 1h |
Sprint Planning | Avaliação do que será realizado durante a próxima sprint, dando prioridade para itens no backlog. | AGES IV | AGES I, II, III, e IV; e cliente | A cada 15 dias | 30min |
Sprint Retrospective | Avaliação de pontos fortes e fracos da última sprint, para planejar a próxima através de decisões melhor informadas. | AGES IV | AGES I, II, III, e IV | A cada 15 dias | 1h30min |
Plano de Riscos
Risco | Probabilidade | Impacto | Severidade | Estratégia | Ações |
---|---|---|---|---|---|
Falta de engajamento de membros | 5 | 5 | 10 | Mitigar | Comunicar ocorrência e avaliar juntamente com colegas. Em último caso, reorganizar times. |
Problemas inesperados na demonstração para o cliente | 3 | 2 | 6 | Eliminar | Realizar testes prévios e validar apresentação previamente. |
Alterações de escopo | 5 | 4 | 7 | Mitigar | Definir no início do projeto e validar qualquer tipo de mudança com o time |
Falta de presença física do stakeholder | 2 | 5 | 10 | Transferir | Manter comunicação através de serviços online |
Falta de entrega de user stories planejadas | 3 | 4 | 10 | Mitigar | Definir tempo de desenvolvimento das tarefas. Acompanhar o desenvolvimento do time. Ajudar no que for necessário. |