6 min lectura • Guide 757 of 877
Desarrollo Móvil con GitScrum
El desarrollo móvil tiene desafíos únicos - múltiples plataformas, procesos de app store, y fragmentación de dispositivos. GitScrum ayuda a los equipos a coordinar trabajo móvil efectivamente.
Estructura del Proyecto Móvil
ORGANIZACIÓN DE PROYECTO MÓVIL
══════════════════════════════
APPROACH 1: STORIES COMPARTIDAS
┌─────────────────────────────────────────────────────────────┐
│ │
│ Story: Implementar autenticación biométrica │
│ │
│ Subtasks: │
│ ├── [📱 iOS] Implementar Face ID/Touch ID │
│ ├── [🤖 Android] Implementar Fingerprint │
│ ├── [Shared] UI de prompt biométrico │
│ └── [Shared] Tests de integración │
│ │
│ ✅ Feature completa visible en un lugar │
│ ✅ Fácil coordinar trabajo paralelo │
│ │
└─────────────────────────────────────────────────────────────┘
APPROACH 2: STORIES POR PLATAFORMA
┌─────────────────────────────────────────────────────────────┐
│ │
│ Epic: Autenticación Biométrica │
│ │
│ Stories: │
│ ├── [📱 iOS] Face ID/Touch ID login │
│ ├── [🤖 Android] Fingerprint login │
│ └── [Backend] Soporte biométrico en API │
│ │
│ ✅ Equipos de plataforma tienen ownership clara │
│ ❌ Más difícil ver progreso de feature completa │
│ │
└─────────────────────────────────────────────────────────────┘
Configuración de Labels
LABELS PARA PROYECTOS MÓVILES
═════════════════════════════
PLATAFORMA:
┌─────────────────────────────────────────────────────────────┐
│ 📱 ios │ Trabajo específico de iOS │
│ 🤖 android │ Trabajo específico de Android │
│ 📱🤖 cross-platform │ Código compartido │
│ 🔧 backend │ API/servidor │
└─────────────────────────────────────────────────────────────┘
RELEASE:
┌─────────────────────────────────────────────────────────────┐
│ 🚀 release-2.5 │ Target release │
│ 🔥 hotfix │ Fix urgente │
│ 📦 app-store │ Relacionado a submission │
└─────────────────────────────────────────────────────────────┘
TIPO:
┌─────────────────────────────────────────────────────────────┐
│ 🎨 ui │ Trabajo de UI/UX │
│ ⚡ performance │ Optimización │
│ 📴 offline │ Funcionalidad offline │
│ 🔔 push │ Push notifications │
└─────────────────────────────────────────────────────────────┘
Flujo de Release
WORKFLOW DE RELEASE MÓVIL
═════════════════════════
BOARD DE RELEASE:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Development │ QA │ Ready │ Submitted │ Review │ Released │
│ │ │ │ │ │ │
│ ██ ██ │ ██ │ ██ │ ██ │ ██ │ ██ │
│ │
└─────────────────────────────────────────────────────────────┘
TAREAS DE RELEASE:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Release 2.5.0 │
│ │
│ PRE-SUBMISSION: │
│ ├── ☑ Code freeze │
│ ├── ☑ QA sign-off iOS │
│ ├── ☑ QA sign-off Android │
│ ├── ☑ Actualizar version numbers │
│ ├── ☑ Screenshots actualizados │
│ └── ☑ Release notes escritos │
│ │
│ SUBMISSION: │
│ ├── ☑ Submit a App Store Connect │
│ ├── ☑ Submit a Google Play Console │
│ ├── ☐ iOS review (esperando...) │
│ └── ☐ Android review (esperando...) │
│ │
│ POST-APPROVAL: │
│ ├── ☐ Publicar iOS │
│ ├── ☐ Publicar Android │
│ └── ☐ Anunciar release │
│ │
└─────────────────────────────────────────────────────────────┘
Manejo de App Store
TRACKING DE REVIEW
══════════════════
ESTADOS DE REVIEW:
┌─────────────────────────────────────────────────────────────┐
│ │
│ iOS App Store: │
│ ├── Waiting for Review │
│ ├── In Review │
│ ├── Pending Developer Release (aprobado) │
│ ├── Ready for Sale │
│ └── Rejected (ver razones) │
│ │
│ Google Play: │
│ ├── Pending publication │
│ ├── In review │
│ ├── Ready to publish │
│ ├── Published │
│ └── Rejected (ver policy violation) │
│ │
└─────────────────────────────────────────────────────────────┘
SI HAY RECHAZO:
┌─────────────────────────────────────────────────────────────┐
│ │
│ 1. Crear tarea: "Fix: [Razón de rechazo]" │
│ 2. Priorizar como bloqueador │
│ 3. Implementar fix mínimo │
│ 4. QA enfocado en el fix │
│ 5. Re-submit │
│ │
│ Razones comunes: │
│ ├── iOS: Privacy policy issues, metadata inaccurate │
│ ├── Android: Policy violations, misleading descriptions │
│ └── Ambos: Crashes, incomplete features │
│ │
└─────────────────────────────────────────────────────────────┘
Testing por Plataforma
CHECKLIST DE QA MÓVIL
═════════════════════
FUNCIONALIDAD GENERAL:
┌─────────────────────────────────────────────────────────────┐
│ ☐ Todas las features funcionan │
│ ☐ Navigation correcta │
│ ☐ Deep links funcionan │
│ ☐ Push notifications funcionan │
└─────────────────────────────────────────────────────────────┘
ESPECÍFICO iOS:
┌─────────────────────────────────────────────────────────────┐
│ ☐ Face ID/Touch ID │
│ ☐ iPad layout (si aplica) │
│ ☐ Dynamic Type (accesibilidad) │
│ ☐ VoiceOver │
│ ☐ Notch/Dynamic Island │
└─────────────────────────────────────────────────────────────┘
ESPECÍFICO ANDROID:
┌─────────────────────────────────────────────────────────────┐
│ ☐ Back button behavior │
│ ☐ Diferentes densidades de pantalla │
│ ☐ TalkBack │
│ ☐ Split screen/multi-window │
│ ☐ Permission handling │
└─────────────────────────────────────────────────────────────┘
EDGE CASES:
┌─────────────────────────────────────────────────────────────┐
│ ☐ Sin conexión / offline │
│ ☐ Conexión lenta │
│ ☐ Interrupciones (llamada, notificación) │
│ ☐ Rotación de pantalla │
│ ☐ App en background largo tiempo │
│ ☐ Low memory conditions │
└─────────────────────────────────────────────────────────────┘
Coordinación de Equipos
ESTRUCTURA DE EQUIPO MÓVIL
══════════════════════════
EQUIPO UNIFICADO:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Mobile Team │
│ ├── iOS Developer (2) │
│ ├── Android Developer (2) │
│ ├── QA Mobile (1) │
│ └── Designer (1, compartido) │
│ │
│ Ceremonia: Un daily, un planning, un retro │
│ Board: Compartido con labels de plataforma │
│ │
└─────────────────────────────────────────────────────────────┘
EQUIPOS SEPARADOS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ iOS Team Android Team │
│ ├── Dev (2) ├── Dev (2) │
│ └── QA (0.5) └── QA (0.5) │
│ │
│ Ceremonia: Syncs separados + sync semanal cross-team │
│ Board: Separados, epics linkean features │
│ │
└─────────────────────────────────────────────────────────────┘