Gestión de Proyectos Go/Golang | GitScrum
Optimiza proyectos Go con GitScrum. Workflows para equipos backend Go, gestión de módulos y seguimiento de microservicios.
4 min de lectura
Los equipos Go necesitan gestión de proyectos que entienda la filosofía de simplicidad del lenguaje. GitScrum combina con el mindset Go: herramientas enfocadas, sin bloat, con integración Git profunda que acompaña el desarrollo de APIs, CLIs y microservicios.
Estructura de Proyecto Go
Organizando por Contexto
ORGANIZACIÓN PARA EQUIPOS GO:
┌─────────────────────────────────────────────────────────────┐
│ LABELS Y CATEGORÍAS │
├─────────────────────────────────────────────────────────────┤
│ │
│ POR CAPA: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🟢 api → Handlers HTTP, gRPC ││
│ │ 🔵 service → Business logic ││
│ │ 🟣 repository → Data access, database ││
│ │ 🟡 pkg → Shared packages ││
│ │ 🟠 cmd → CLI tools, entrypoints ││
│ │ 🔴 infra → Docker, Kubernetes, CI/CD ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ POR TIPO: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ⭐ feature → Nueva funcionalidad ││
│ │ 🐛 bug → Corrección ││
│ │ ⚡ perf → Performance ││
│ │ 🧪 test → Tests ││
│ │ 📝 docs → Documentación ││
│ │ ♻️ refactor → Refactorización ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ COLUMNAS KANBAN: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Backlog → In Progress → Review → Testing → Done ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘
Workflow de Desarrollo Go
Ciclo de Tarea
FLUJO DE TRABAJO GO:
┌─────────────────────────────────────────────────────────────┐
│ DE LA TAREA AL DEPLOY │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. CREACIÓN DE TAREA │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ Título: "Add rate limiting middleware" ││
│ │ Labels: api, middleware ││
│ │ ││
│ │ Checklist: ││
│ │ □ Define interface ││
│ │ □ Implement middleware ││
│ │ □ Add Redis backend ││
│ │ □ Unit tests (go test) ││
│ │ □ Benchmark tests ││
│ │ □ Update API docs ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ 2. BRANCH Y DESARROLLO │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ git checkout -b feature/TASK-234-rate-limit ││
│ │ ││
│ │ Commits (Conventional Commits): ││
│ │ "feat(middleware): add rate limiting [TASK-234]" ││
│ │ "test(middleware): add rate limit tests [TASK-234]" ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ 3. PR Y CI │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ PR abierto → Tarea en "Review" ││
│ │ CI: go test, go vet, golangci-lint ││
│ │ PR merged → Tarea en "Done" ││
│ │ Deploy → Tag de versión ││
│ └─────────────────────────────────────────────────────────┘│
│ │
└─────────────────────────────────────────────────────────────┘
Story Points para Go
Escala de Esfuerzo
ESTIMACIONES GO:
┌─────────────────────────────────────────────────────────────┐
│ PUNTOS POR COMPLEJIDAD │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1 punto: │
│ • Endpoint simple │
│ • Bugfix localizado │
│ • Actualización de dependencia │
│ │
│ 2 puntos: │
│ • Nuevo handler con validación │
│ • Middleware simple │
│ • CLI command nuevo │
│ │
│ 3 puntos: │
│ • Service con múltiples dependencias │
│ • Integración con servicio externo │
│ • Package compartido nuevo │
│ │
│ 5 puntos: │
│ • Microservicio nuevo │
│ • Sistema de cache distribuido │
│ • Worker con retry/backoff │
│ │
│ 8 puntos: │
│ • Migración de arquitectura │
│ • Nuevo sistema completo │
│ │
└─────────────────────────────────────────────────────────────┘
Herramientas e Integración
| Herramienta | Integración GitScrum |
|---|---|
| go test | Link resultados al sprint |
| golangci-lint | Track issues de lint |
| go mod | Track dependencias |
| Docker | Deploy tracking |
| gRPC | Track APIs |
| Prometheus | Monitoring tasks |