Try free
8 min read Guide 762 of 877

Mobile Development with GitScrum

Mobile development has unique challenges - multiple platforms, app store processes, and device fragmentation. GitScrum helps teams coordinate mobile work effectively.

Mobile Project Structure

Platform Organization

MOBILE PROJECT ORGANIZATION:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ APPROACH 1: SHARED STORIES                                  │
│                                                             │
│ FEATURE STORY:                                              │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ MOB-100: Add Push Notifications                         ││
│ │                                                         ││
│ │ Subtasks:                                               ││
│ │ ├── MOB-101: [iOS] Push notification setup             ││
│ │ ├── MOB-102: [Android] Push notification setup         ││
│ │ ├── MOB-103: [Backend] Push API endpoint               ││
│ │ └── MOB-104: [QA] Test on both platforms               ││
│ │                                                         ││
│ │ Labels: feature, ios, android, backend                 ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ APPROACH 2: PLATFORM LABELS                                │
│                                                             │
│ All mobile tasks:                                          │
│ Labels: mobile + (ios | android | both)                   │
│                                                             │
│ Filters:                                                    │
│ • "iOS work": mobile + ios                                │
│ • "Android work": mobile + android                        │
│ • "Cross-platform": mobile + both                        │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ TEAM STRUCTURE:                                             │
│                                                             │
│ OPTION A: Platform teams                                   │
│ iOS Team: All iOS work                                    │
│ Android Team: All Android work                            │
│ → Good for native expertise                              │
│                                                             │
│ OPTION B: Feature teams                                    │
│ Team members do both platforms                            │
│ → Good for cross-platform frameworks                     │
│                                                             │
│ OPTION C: Hybrid                                            │
│ Features owned by team, platform specialists support     │
└─────────────────────────────────────────────────────────────┘

Release Planning

MOBILE RELEASE MANAGEMENT:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ RELEASE TIMELINE:                                           │
│                                                             │
│ Code freeze        Submit to stores    Release            │
│     │                    │               │                 │
│     ▼                    ▼               ▼                 │
│ ────●────────────────────●───────────────●─────────────    │
│ Day 1              Day 3          Day 5-10               │
│                                   (after review)          │
│                                                             │
│ PLAN FOR REVIEW TIME:                                       │
│ iOS: 1-7 days (usually 1-2 days)                         │
│ Android: Usually < 1 day (sometimes hours)               │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ RELEASE EPIC:                                               │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ REL-200: Version 2.5.0 Release                         ││
│ │                                                         ││
│ │ Target release: Feb 15, 2024                           ││
│ │                                                         ││
│ │ Pre-submission:                                         ││
│ │ ☐ Code freeze (Feb 8)                                  ││
│ │ ☐ QA sign-off (Feb 10)                                ││
│ │ ☐ Release notes prepared                               ││
│ │ ☐ Screenshots updated (if needed)                     ││
│ │                                                         ││
│ │ Submission:                                             ││
│ │ ☐ Submit to App Store (Feb 11)                        ││
│ │ ☐ Submit to Play Store (Feb 11)                       ││
│ │                                                         ││
│ │ Post-submission:                                        ││
│ │ ☐ Monitor review status                               ││
│ │ ☐ Address any rejection feedback                      ││
│ │ ☐ Coordinate release (Feb 15)                         ││
│ │                                                         ││
│ │ Post-release:                                           ││
│ │ ☐ Monitor crash reports                               ││
│ │ ☐ Watch reviews and ratings                           ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘

App Store Considerations

Handling Rejections

APP STORE REJECTION WORKFLOW:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ REJECTION RECEIVED:                                         │
│                                                             │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🔴 App Store Rejection                                  ││
│ │                                                         ││
│ │ Reason: Guideline 4.2 - Minimum Functionality          ││
│ │ "Your app's core feature requires additional value"   ││
│ │                                                         ││
│ │ Response needed by: Feb 14, 2024                       ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ IMMEDIATE ACTIONS:                                          │
│                                                             │
│ 1. CREATE URGENT TASK                                       │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ 🔴 MOB-201: Address App Store Rejection                ││
│ │                                                         ││
│ │ Priority: Critical                                      ││
│ │ Due: Feb 13, 2024 (before deadline)                   ││
│ │ Labels: app-store, rejection, ios                      ││
│ │                                                         ││
│ │ Rejection reason: [paste details]                      ││
│ │                                                         ││
│ │ Options:                                                ││
│ │ ☐ Appeal (if we disagree)                             ││
│ │ ☐ Fix and resubmit                                    ││
│ │                                                         ││
│ │ Decision: [to be determined]                           ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ 2. ASSESS AND DECIDE                                        │
│ • Is rejection valid?                                     │
│ • Can we fix quickly?                                     │
│ • Should we appeal?                                       │
│                                                             │
│ 3. FIX OR APPEAL                                            │
│ • Make changes if needed                                  │
│ • Prepare appeal response if disputing                   │
│ • Resubmit ASAP                                           │
│                                                             │
│ 4. LEARN                                                    │
│ • Document what caused rejection                          │
│ • Add to pre-submission checklist                        │
│ • Prevent future rejections                               │
└─────────────────────────────────────────────────────────────┘

Pre-submission Checklist

APP SUBMISSION CHECKLIST:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ BEFORE EVERY SUBMISSION:                                    │
│                                                             │
│ BUILD:                                                      │
│ ☐ Version number incremented                              │
│ ☐ Build number incremented                                │
│ ☐ No debug/development code                               │
│ ☐ Correct signing certificates                            │
│ ☐ Release build tested                                    │
│                                                             │
│ CONTENT:                                                    │
│ ☐ Privacy policy up to date                               │
│ ☐ App Store/Play Store description current               │
│ ☐ Screenshots match current UI                            │
│ ☐ What's New / Release notes written                     │
│                                                             │
│ COMPLIANCE:                                                 │
│ ☐ Permissions justified in description                   │
│ ☐ IDFA/tracking disclosure accurate                      │
│ ☐ Data collection disclosure correct                     │
│ ☐ Age rating appropriate                                  │
│ ☐ No private API usage (iOS)                             │
│                                                             │
│ TESTING:                                                    │
│ ☐ Tested on minimum supported OS versions                │
│ ☐ Tested on various screen sizes                         │
│ ☐ Core flows work without network                        │
│ ☐ Login/payment flows verified                           │
│                                                             │
│ IOS SPECIFIC:                                               │
│ ☐ App Tracking Transparency if tracking                  │
│ ☐ Sign in with Apple if other social logins             │
│ ☐ In-app purchases use Apple system                      │
│                                                             │
│ ANDROID SPECIFIC:                                           │
│ ☐ Target SDK meets Play Store requirements               │
│ ☐ Permissions follow best practices                       │
│ ☐ 64-bit support included                                │
└─────────────────────────────────────────────────────────────┘

Cross-Platform Development

Framework Considerations

CROSS-PLATFORM FRAMEWORK WORK:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ FRAMEWORKS:                                                 │
│ React Native, Flutter, Xamarin, etc.                      │
│                                                             │
│ BENEFITS FOR PROJECT MANAGEMENT:                            │
│                                                             │
│ ✅ Single codebase = single story                         │
│ ✅ Faster iteration                                       │
│ ✅ Smaller team needed                                    │
│ ✅ Easier feature parity                                  │
│                                                             │
│ CHALLENGES:                                                 │
│                                                             │
│ ⚠️ Platform-specific bugs                                 │
│ → Need platform-specific testing tasks                   │
│                                                             │
│ ⚠️ Native module work                                     │
│ → Separate tasks for iOS/Android native code             │
│                                                             │
│ ⚠️ Different release timelines                            │
│ → Can't always release simultaneously                    │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ STORY STRUCTURE:                                            │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ MOB-300: Add Camera Feature (React Native)             ││
│ │                                                         ││
│ │ ☐ Implement camera UI (shared)                        ││
│ │ ☐ iOS: Camera permissions + native module             ││
│ │ ☐ Android: Camera permissions + native module         ││
│ │ ☐ Test on iOS devices                                 ││
│ │ ☐ Test on Android devices                             ││
│ └─────────────────────────────────────────────────────────┘│
│                                                             │
│ Even cross-platform needs platform-specific testing       │
└─────────────────────────────────────────────────────────────┘

Device Testing

Test Matrix

DEVICE TESTING STRATEGY:
┌─────────────────────────────────────────────────────────────┐
│                                                             │
│ IOS DEVICE MATRIX:                                          │
│                                                             │
│ Priority 1 (Must test):                                   │
│ • Latest iPhone (e.g., iPhone 15)                        │
│ • Previous iPhone (e.g., iPhone 14)                      │
│ • Oldest supported (e.g., iPhone 8)                      │
│ • iPad (if supporting tablet)                            │
│                                                             │
│ Priority 2 (Should test):                                 │
│ • Various screen sizes (SE, Pro Max)                     │
│ • Different iOS versions (latest, latest-1)             │
│                                                             │
│ ANDROID DEVICE MATRIX:                                      │
│                                                             │
│ Priority 1 (Must test):                                   │
│ • Popular Samsung (Galaxy S series)                      │
│ • Popular Pixel (Google reference)                       │
│ • Low-end device (memory/performance)                    │
│                                                             │
│ Priority 2 (Should test):                                 │
│ • Various screen densities                                │
│ • Different Android versions (12, 13, 14)                │
│ • Different manufacturers (Samsung, Pixel, Xiaomi)       │
│                                                             │
│ ─────────────────────────────────────────────────────────── │
│                                                             │
│ GITSCRUM QA TASK:                                           │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ QA-150: Device Testing v2.5.0                          ││
│ │                                                         ││
│ │ iOS Testing:                                            ││
│ │ ☐ iPhone 15 Pro (iOS 17)                              ││
│ │ ☐ iPhone 12 (iOS 16)                                  ││
│ │ ☐ iPhone SE (iOS 15)                                  ││
│ │                                                         ││
│ │ Android Testing:                                        ││
│ │ ☐ Pixel 8 (Android 14)                                ││
│ │ ☐ Samsung S23 (Android 13)                            ││
│ │ ☐ Low-end device (Android 12)                         ││
│ │                                                         ││
│ │ Focus areas:                                            ││
│ │ • New push notification feature                        ││
│ │ • Performance on older devices                        ││
│ │ • Offline functionality                                ││
│ └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘