|
|
| [Home](home) | [Escopo e Cronograma](escopo) | [**Processo**](processo) | [Design/Mockups](design_mockups) | [Configuração](configuracao) | [Arquitetura](arquitetura) | [Código](codigo) | [BD](banco_dados) | [Qualidade](qualidade) | [Utilização](utilizacao) |
|
|
|
| :----------: | :---------------------------: | :----------------------: | :--------------: | :--------------------------: | :------------------------: | :--------------: | :---------------: | :--------------------: | :----------------------: |
|
|
|
<table>
|
|
|
<tr>
|
|
|
<th>
|
|
|
|
|
|
[Home](home)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Escopo e Cronograma](escopo)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[**Processo**](processo)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Design/Mockups](design_mockups)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Configuração](configuracao)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Arquitetura](arquitetura)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Código](codigo)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[BD](banco_dados)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Qualidade](qualidade)
|
|
|
</th>
|
|
|
<th>
|
|
|
|
|
|
[Utilização](utilizacao)
|
|
|
</th>
|
|
|
</tr>
|
|
|
</table>
|
|
|
|
|
|
# Processo de Desenvolvimento
|
|
|
|
... | ... | @@ -11,7 +53,7 @@ Esta seção é dedicada a apresentar o processo de desenvolvimento do time, jun |
|
|
|
|
|
- [Git Workflow](#git-workflow)
|
|
|
- [Matriz de Responsabilidade](#matriz-de-responsabilidade)
|
|
|
- [Plano de Comunicação](#plano-de-comunicação)
|
|
|
- [Plano de Comunicação](#plano-de-comunica%C3%A7%C3%A3o)
|
|
|
- [Plano de Riscos](#plano-de-riscos)
|
|
|
|
|
|
## Git Workflow
|
... | ... | @@ -22,20 +64,20 @@ Esta seção é dedicada a apresentar o processo de desenvolvimento do time, jun |
|
|
|
|
|
Como padrão para nomes de branches, foi decidido o seguinte:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
<tipoDeItem>-<nomeDoItem>
|
|
|
```
|
|
|
|
|
|
Exemplo de Componentes:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
component-navBar
|
|
|
component-slider
|
|
|
```
|
|
|
|
|
|
Exemplo de Páginas:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
page-recipes
|
|
|
page-creations
|
|
|
```
|
... | ... | @@ -44,19 +86,19 @@ page-creations |
|
|
|
|
|
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:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
git pull origin dev
|
|
|
```
|
|
|
|
|
|
Depois da execução desse comando é necessário oficialmente criar a Branch, para isso, execute o seguinte comando:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
git checkout -b <nomeDaBranch>
|
|
|
```
|
|
|
|
|
|
Assim que criar a branch, é necessário fazer um `push`para garantir que a mesma estará remota:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
git push --set-upstream origin <nomeDaBranch>
|
|
|
```
|
|
|
|
... | ... | @@ -70,13 +112,13 @@ Para que o código desenvolvido seja salvo em sua branch de maneira remota, é n |
|
|
|
|
|
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:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
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:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
git commit -m 'descrição da tarefa em português'
|
|
|
```
|
|
|
|
... | ... | @@ -86,7 +128,7 @@ Não hesite em realizar vários commits, assim podemos ter docuemntado e salvo v |
|
|
|
|
|
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`:
|
|
|
|
|
|
```
|
|
|
```plaintext
|
|
|
git push
|
|
|
```
|
|
|
|
... | ... | @@ -98,15 +140,15 @@ Depois de uma task ter sido desenvolvida e estiver pronta de acordo com os crit |
|
|
|
|
|
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 dev);
|
|
|
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 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 `Labels`selecione qual é o tipo de tarefa que foi realizada;
|
|
|
1. Selecionar a branch de origem (sua branch de desenvolvimento);
|
|
|
2. Selecionar a branch de destino (branch dev);
|
|
|
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 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 `Labels`selecione 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
|
... | ... | @@ -120,37 +162,41 @@ Caso haja pendências, relacionadas a documentação do código, padronizaçã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 | | | | |
|
|
|
| Definir squads | | | | |
|
|
|
| Definir marcos da sprint | | | | |
|
|
|
| Quebra de tasks | | | | |
|
|
|
| Desenvolvimento | | | | |
|
|
|
| Code review | | | | |
|
|
|
| Executar testes funcionais | | | | |
|
|
|
| Deploy da aplicação | | | | |
|
|
|
| Apresentação da review | | | | |
|
|
|
| **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** |
|
|
|
| :----------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-------------: | :------------------------------: | :---------------------------------------------------------------------------------: | :-------------------------------------: |
|
|
|
| Kick Off (Exemplo) | Primeiro encontro entre o time e os stakeholders do projeto. Nesse encontro são apresentados os principais itens do projeto e a ideia geral. Também são realizados questionamentos sobre o que foi apresentado, com a finalidade de ajudar nas definições dos requisitos do projeto em conjunto com o cliente. (Exemplo) | Cliente(s) (Exemplo) | AGES I, II, III, IV e Cliente(s) (Exemplo) | Uma vez (início do projeto) (Exemplo) | 1 hora - 1 hora e 30 minutos (Exemplo) |
|
|
|
| TBD... | TBD... | TBD... | TBD... | TBD... | TBD... |
|
|
|
| **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. |
|
|
|
|
|
|
| Risco | Prevenção | Contingência | Estratégia |
|
|
|
| ----------------------------------------------------- | ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------- | ---------- |
|
|
|
| Atingir limite de uso gratuito da AWS (Exemplo) | Utilizar servidores apenas para validação, desligando-os quando não utilizados (Exemplo) | Alterar ambiente para outra conta de usuário (Exemplo) | Transferir (Exemplo) |
|
|
|
| TBD... | TBD... | TBD... | TBD... | |
|
|
\ No newline at end of file |