Mobile Development with GitScrum | Platform Tracking
Track iOS and Android development with platform labels and release coordination. GitScrum manages app store submissions and device testing matrices.
8 min read
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 ββ
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ