Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Totem Interativo Wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 20
    • Issues 20
    • 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
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Totem Interativo
  • Totem Interativo Wiki
  • Wiki
  • planejamento

planejamento · Changes

Page history
Atualizado pagina Planejamento da Wiki do projeto authored Mar 22, 2025 by Alessandro's avatar Alessandro
Show whitespace changes
Inline Side-by-side
planejamento.md 0 → 100644
View page @ f2bc5cde
| [Home](home) | [Planejamento](planejamento) | [Arquitetura Geral](arquitetura-geral) | [Front End](front-end) | [Back End](back-end) | [Banco de Dados](banco-de-dados) | [Design do Sistema e Mockups](design-do-sistema-e-mockups) | [Infraestrutura e Orçamento](infraestrutura-e-orçamento) | [Fluxo e Versionamento](fluxo-e-versionamento) |
|--------------|------------------------------|----------------------------------------|-------------------------|-------------------------------|---------------------------------------------|------------------------------------------|-----------------------------|---------------------------|
# Processo de Desenvolvimento
## Descrição
Esta seção é dedicada a apresentar o processo de desenvolvimento do time, incluindo a organização do trabalho, fluxo de desenvolvimento, comunicação e gerenciamento de riscos. O projeto consiste em um totem interativo com busca e mapeamento 3D para feiras e eventos, com foco em facilitar a localização de expositores e a interação dos visitantes.
## Sumário
- [Git Workflow](#git-workflow)
- [Matriz de Responsabilidade](#matriz-de-responsabilidade)
- [Plano de Comunicação](#plano-de-comunica%C3%A7%C3%A3o)
- [Plano de Riscos](#plano-de-riscos)
## Git Workflow
### Branches
#### Nomes
Como padrão para nomes de branches, foi decidido o seguinte:
```plaintext
<numeroDaUS>/<nomeDoItem>-<detalheDoItem> (Caso seja uma User Story)
<tipoDeItem>-<nomeDoItem> (Caso seja um componente)
```
Exemplo de Componentes:
```plaintext
US01/TelaDeBusca-filtroPorCategoria
component-mapa3D
component-leitorCracha
```
Exemplo de Páginas:
```plaintext
page-mapa3D
page-relatorios
```
#### 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:
```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>
```
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:
```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'
```
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`:
```plaintext
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 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
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](https://airtable.com/tblV0c8w2YX9PZAAC/viw4mJkZmd28WlplE?blocks=hide).
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 | I | R |
| Quebra de tasks | I/A | I/A | I/A | R |
| Desenvolvimento | R | R | R | I |
| Code review | R | R | R | I |
| Executar testes funcionais | R | R | C | I |
| Deploy da aplicação | I | I | R | I |
- 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** |
|------------|---------------|-----------------|----------------|----------------|-------------|
| Daily | Momento onde cada membro atualiza o time sobre o que fez, desde a última Daily, e o que fará a seguir. | AGES IV | AGES I, II, III e IV | Segundas e Quartas às 17:30 | 15 minutos |
| Sprint Review | Apresentação das entregas realizadas e os possíveis débitos criados na Sprint. | AGES IV | AGES I, II, III, IV e Clientes | 1 vez no fim de cada Sprint | 30 minutos |
| Sprint Retrospective | Momento dedicado à definir o que está funcionando para trabalhar e identificar problemas e melhoras a serem feitas. | AGES IV | AGES I, II, III e IV | 1 vez no fim de cada Sprint | 1 hora |
| Sprint Planning | Reunião onde o time discute e define, a partir do Product Backlog e feedback atual do Cliente, o que será realizada na próxima Sprint. | AGES IV | AGES I, II, III e IV | 1 vez no começo de cada Sprint | 20 minutos |
| Tasks Breakdown | O time realiza a quebra das tarefas a serem realizadas na próxima Sprint. Para isso, o time se divide nos grupos de Frontend e Backend. | AGES III e IV | AGES I, II, III e IV | 1 vez no começo de cada Sprint | 45 minutos |
| Management Review | Encontro entre os AGES IV para revisão sobre como o projeto está progredindo e quais as próximas prioridades. | AGES IV | AGES IV | 1 vez por semana | Aproximadamente 30 minutos |
| Apresentação do Cliente e da Ideia | Encontro onde o Cliente apresenta o projeto para o time. | Cliente | AGES I, II, III, IV e Cliente | 1 vez no início do projeto | 1 hora e 30 minutos |
| Final Presentation | Apresentação final da AGES, na qual o time deve apresentar o projeto realizado para todos outros membros da AGES. | AGES IV | AGES I, II, III e IV | 1 vez no fim do projeto | 10 minutos |
| Pre-Sprint review Meeting | Comunicação para revisão da apresentação que será realizada ao Cliente na Sprint Review. | AGES IV | AGES I, II, III e IV | 1 vez a cada Sprint | 30 minutos |
| AGES Retrospective | Reunião com todos os alunos da AGES para que os organizadores da AGES recebam feedback e tenham melhor ciencia sobre o quão satisfeitos os alunos estão. | Staff da AGES | AGES I, II, III e IV | 2 vezes (05/05 e 28/06) | 1 hora e 30 minutos |
---
## Plano de Riscos
<table>
<tr>
<td>
**Risco**
</td>
<td>
**Probabilidade**
</td>
<td>
**Impacto**
</td>
<td>
**Severidade**
</td>
<td>
**Estratégia**
</td>
<td>
**Plano A**
</td>
<td>
**Plano B**
</td>
</tr>
<tr>
<td>Atraso nas Entregas</td>
<td>3</td>
<td>5</td>
<td>15</td>
<td>Mitigar</td>
<td>Acompanhar e controlar as atividades, realocação entre as equipes.</td>
<td>Realizar o planejamento com atenção e acompanhar o desenvolvimento das atividades, prestando apoio e suporte assim que necessário.</td>
</tr>
<tr>
<td>Falha na Comunicação</td>
<td>3</td>
<td>3</td>
<td>9</td>
<td>Mitigar</td>
<td>Estabelecer canais de comunicação claros e eficazes.</td>
<td>Realizar reuniões regulares de status, utilizar ferramentas de comunicação eficazes.</td>
</tr>
<tr>
<td>Falta de Engajamento</td>
<td>3</td>
<td>3</td>
<td>9</td>
<td>Mitigar</td>
<td>Incentivar a participação, identificar motivadores.</td>
<td>Realizar reuniões de equipe motivacionais, promover um ambiente de trabalho colaborativo.</td>
</tr>
<tr>
<td>Impacto do Calendário</td>
<td>2</td>
<td>3</td>
<td>6</td>
<td>Mitigar</td>
<td>Realizar reuniões assíncronas ou síncronas quando não houver encontro presencial.</td>
<td>Organizar reuniões virtuais ou de forma assíncrona para manter a comunicação e o acompanhamento do projeto mesmo em períodos de feriado.</td>
</tr>
<tr>
<td>Indisponibilidade de Recursos</td>
<td>2</td>
<td>5</td>
<td>10</td>
<td>Mitigar</td>
<td>Utilização de containers para provisionamento rápido.</td>
<td>Implementar infraestrutura baseada em containers para rápida recuperação em caso de falha da infraestrutura atual.</td>
</tr>
<tr>
<td>Mudanças nos Requisitos</td>
<td>1</td>
<td>4</td>
<td>4</td>
<td>Mitigar</td>
<td>Comunicação eficaz com o cliente, análise de impacto.</td>
<td>Realizar reuniões regulares com o cliente para revisar e validar requisitos, manter um processo de gerenciamento de mudanças bem definido.</td>
</tr>
<tr>
<td>Problemas com a Gestão de Mudanças no Projeto</td>
<td>3</td>
<td>4</td>
<td>12</td>
<td>Mitigar</td>
<td>Estabelecer um processo claro de gerenciamento de mudanças.</td>
<td>Implementar um processo de gerenciamento de mudanças que inclua a avaliação de impacto, aprovação e comunicação de mudanças no projeto para garantir que todas as partes interessadas estejam alinhadas.</td>
</tr>
<tr>
<td>Problemas com a Sincronização de Dados Pós-Evento</td>
<td>3</td>
<td>4</td>
<td>12</td>
<td>Mitigar</td>
<td>Testar a sincronização de dados em diferentes cenários de conectividade.</td>
<td>Implementar testes de sincronização em ambientes com diferentes níveis de conectividade para garantir que os dados sejam sincronizados corretamente após o evento, mesmo em condições de rede instável.</td>
</tr>
<tr>
<td>Problemas com a Conversão de Plantas Baixas para 3D</td>
<td>3</td>
<td>5</td>
<td>15</td>
<td>Mitigar</td>
<td>Testar a conversão de diferentes formatos de plantas baixas (e.g., .dwg, .step) para 3D.</td>
<td>Realizar testes extensivos com diferentes tipos de arquivos de plantas baixas para garantir que a conversão para 3D seja precisa e eficiente.</td>
</tr>
<tr>
<td>Problemas de Integração</td>
<td>2</td>
<td>4</td>
<td>8</td>
<td>Mitigar</td>
<td>Realizar testes de integração em cada etapa do desenvolvimento, identificar e resolver problemas rapidamente.</td>
<td>Testes de integração detalhados e regulares.</td>
</tr>
<tr>
<td>Problemas com a Leitura de Crachás (RFID/QR Code)</td>
<td>2</td>
<td>4</td>
<td>8</td>
<td>Mitigar</td>
<td>Testar diferentes dispositivos de leitura e garantir a compatibilidade com o sistema.</td>
<td>Realizar testes de integração com diferentes modelos de leitores de crachás e garantir que o sistema seja compatível com os mais comuns.</td>
</tr>
<tr>
<td>Dificuldades na Integração com APIs Externas</td>
<td>3</td>
<td>5</td>
<td>15</td>
<td>Mitigar</td>
<td>Realizar testes de integração com as APIs desde o início do projeto.</td>
<td>Criar um ambiente de teste que simule a integração com as APIs externas (Three.js, AutoDesk Forge) e monitorar possíveis mudanças nas APIs.</td>
</tr>
<tr>
<td>Sobrecarga de Trabalho</td>
<td>2</td>
<td>3</td>
<td>6</td>
<td>Mitigar</td>
<td>Realizar o acompanhamento individual de cada integrante e o planejamento eficaz de tarefas durante a sprint.</td>
<td>Distribuir equitativamente as tarefas entre os membros da equipe, ajustar o cronograma conforme necessário para evitar sobrecarga.</td>
</tr>
<tr>
<td>Falta de Conhecimento Técnico Específico</td>
<td>3</td>
<td>4</td>
<td>12</td>
<td>Mitigar</td>
<td>Identificar lacunas de conhecimento na equipe e providenciar treinamentos ou contratação de especialistas.</td>
<td>Realizar sessões de treinamento ou workshops para capacitar a equipe nas tecnologias necessárias (Three.js, AutoDesk Forge API, React, NextJs).</td>
</tr>
<tr>
<td>Falta nas Aulas</td>
<td>3</td>
<td>4</td>
<td>15</td>
<td>Mitigar</td>
<td>Orientar o restante do time em relação às faltas, mostrar que por termos apenas 1 encontro na semana, faltar causará possíveis atrasos nas entregas.</td>
<td>Orientar e motivar o time para que fiquem engajados e evitem faltar.</td>
</tr>
</table>
Clone repository
  • Banco de Dados
  • Sprints
  • arquitetura
  • fluxo e versionamento
  • Home
  • mockups
  • planejamento