Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • A Apus Drones Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Apus Drones
  • Apus Drones Wiki
  • Wiki
  • processo

Last edited by Gabriel Rabelo Almeida Nov 25, 2021
Page history

processo

Home Escopo e Cronograma Processo Design/Mockups Configuração Arquitetura Código Banco de Dados Qualidade

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
  • Matriz de Responsabilidade
  • Plano de Comunicação
  • Plano de Riscos

Git Workflow

Branches

Nomes

Foi decidido que o nome padrão das branches terá a seguinte estrutura:

<tipo>/<user story>-<apelido>

  • tipo: O tipo da tarefa, sendo uma das opções abaixo:
    • feat: Desenvolvimento de uma nova funcionalidade
    • fix: Correção de um bug na aplicação
  • user story: O número da user story. Exemplo: US01
  • apelido: Breve descrição do escopo da user story.

Exemplo:

feat/US01-listar-usuarios

Criação

Para garantir que o processo de desenvolvimento esteja sempre atualizado, lembre-se de executar o seguinte comando na branch develop antes de criar uma branch nova:

git pull origin develop

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 pushpara 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:

  1. Selecionar a branch de origem (sua branch de desenvolvimento);
  2. Selecionar a branch de destino (branch develop);
  3. Selecione Compare branches and continue
  4. Em Title, escreva um título que descreva a funcionalidade adicionada ou bug corrigido;
  5. Em Description, escreva uma descrição com uma breve justificativa nos arquivos que foram alterados;
  6. Caso a tarefa seja visual (criação de componente/tela, correção de bug) adicione um print (imagem) ou um gif exemplificando o uso (se considerar necessário);
  7. Na seção Assignee, selecione Assign 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);
  8. Em Milestone selecione a Sprint em que a tarefa foi realizada;
  9. Em Labelsselecione qual é o tipo de tarefa que foi realizada;
  10. 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 develop.

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 R R R R
Definir squads I I I R
Definir marcos da sprint I I C R
Quebra de tasks I I C AR
Desenvolvimento R R AR ACR
Code review C C AR ACR
Executar testes funcionais AR AR R R
Deploy da aplicação I I R A
Apresentação da review C C C R
  • 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
Weekly Revisar progresso em atividades e tratar impedimentos AGES IV Time Semanal 15 minutos
Planning Planejar atividades da sprint AGES IV Time Início de cada sprint 1h30min
Review Apresentação do que foi desenvolvido na sprint AGES IV Time + Stakeholders Final de cada sprint 1h
Retrospectiva Exposição de pontos positivos e negativos da ultima sprint, e criação de planos de ação AGES IV Time Final de cada sprint 20 min
Canais do Discord Viabilizar comunicação ágil entre subgrupos do time AGES IV Time A qualquer momento N/A
Grupo do Whatsapp Recados importantes AGES IV Time Quando necessário N/A

Plano de Riscos

Risco Prevenção Contingência Estratégia
Desmotivação do time Comunicação com o pessoal do time Conversar e entender os motivos Mitigar
Complexidade dos requisitos Tentar selecionar requisitos menos complexos Aumentar o número de pessoas nesses requisitos Mitigar
Falta de domínio de tecnologias Disponibilizar/indicar material sobre as tecnologias, pair programming Ajudar os membros do time que estiverem com dificuldade Mitigar
Dificuldade do setup do projeto Disponibilizar tutorial de como fazer o setup do projeto Ajudar os membros do time que estiverem com dificuldade Mitigar
Falta de comunicação do time Canal no Discord e grupo no WhatsApp Mitigar
Falta de documentação Criar, revisar e monitorar Wiki Incentivar time a criar/atualizar documentaçaão Mitigar
Alto número de problemas e/ou débitos técnicos Planejamento detalhado das tarefas Criação de issues, que são tarefas para solução dos problemas encontrados Mitigar
Clone repository
  • Consumindo REST APIs no Flutter
  • Utilizando a wiki
    • adicionando imagens
    • escrevendo em markdown
    • wiki no editor de texto
  • arquitetura
  • banco_dados
  • codigo
  • configuracao
  • design_mockups
  • escopo
  • Home
  • instrucoes
  • processo
  • qualidade
  • utilizacao