Metodologia e Processo de Desenvolvimento
Este documento descreve as práticas ágeis, os ritos e as políticas de engenharia de software adotadas pela Squad 09 para o desenvolvimento do ContraDito.
1. Framework Ágil
A equipe adota uma abordagem híbrida baseada em Scrum e Extreme Programming (XP). O Scrum estrutura a cadência e o planejamento das Sprints, enquanto os valores do XP guiam as práticas de engenharia e o foco na qualidade técnica do código.
2. Papéis da Equipe
| Papel | Responsável | Responsabilidades |
|---|---|---|
| Scrum Master | @henriquemendeselias | Remover impedimentos e garantir a execução dos ritos ágeis. |
| Product Owner | @jot4-ge | Refinar e priorizar o Backlog, definir escopo e validar entregas. |
| Backend e DevOps | @luizhtmoreira, @lucasaraujoszz, @matheus0346 | Pipeline ETL, motor NLP, modelagem do banco vetorial e infraestrutura. |
| Frontend | @G2SBiell | Interface do usuário (Next.js/React), integração com a API e fidelidade ao UX. |
3. Ritos e Cadência
Trabalhamos com Sprints de 1 semana:
- Planning: Terças-feiras — priorização de Issues e estimativa de esforço.
- Dailies: Assíncronas via Discord/WhatsApp.
- Review e Retrospectiva: Ao final de cada Sprint.
4. Práticas de Engenharia (XP)
- Code Review: Nenhum código entra na branch
developsem revisão. PRs exigem aprovação de ao menos um outro membro da equipe. - Integração Contínua (CI): Pipelines no GitHub Actions para rodar linters (
black) e testes automatizados a cada commit. - Pair Programming: Utilizado em tarefas de alta complexidade ou decisões arquiteturais sensíveis, para mitigar gargalos e compartilhar conhecimento técnico.
5. Política de Repositório (GitFlow)
gitGraph
commit id: "init"
branch develop
checkout develop
commit id: "base"
branch feature/nova-funcionalidade
checkout feature/nova-funcionalidade
commit id: "feat"
commit id: "feat2"
checkout develop
merge feature/nova-funcionalidade id: "merge feat"
branch fix/correcao-bug
checkout fix/correcao-bug
commit id: "fix"
checkout develop
merge fix/correcao-bug id: "merge fix"
checkout main
merge develop id: "release"
| Branch | Finalidade |
|---|---|
main |
Código em produção (versões estáveis). |
develop |
Código em integração (ambiente de homologação). |
feature/[nome] |
Branches efêmeras para novas funcionalidades. |
fix/[nome] |
Branches específicas para correção de erros. |