6 min read • Guide 537 of 877
Managing Microservices Project Management
Microservices architectures distribute complexity across multiple services owned by different teams. GitScrum's multi-project organization, service dependency tracking, and cross-team visibility features help organizations maintain control and coordination across distributed microservices development.
Microservices Organization Models
| Model | Best For | Trade-offs |
|---|---|---|
| Project per service | Many services, clear teams | More projects to manage |
| Project per domain | Logical groupings | May span multiple teams |
| Shared project + labels | Few services, small org | Less isolation |
| Hybrid | Complex organizations | Flexibility vs complexity |
Project Organization
ORGANIZATION OPTIONS
OPTION 1: PROJECT PER SERVICE
┌─────────────────────────────────────────────────┐
│ GitScrum Workspace │
│ ├── Project: user-service │
│ │ └── Owner: Auth Team │
│ ├── Project: order-service │
│ │ └── Owner: Orders Team │
│ ├── Project: payment-service │
│ │ └── Owner: Payments Team │
│ ├── Project: inventory-service │
│ │ └── Owner: Inventory Team │
│ └── Project: notification-service │
│ └── Owner: Platform Team │
│ │
│ Pros: Clear ownership, isolated backlogs │
│ Cons: Many projects, cross-project overhead │
└─────────────────────────────────────────────────┘
OPTION 2: PROJECT PER DOMAIN
┌─────────────────────────────────────────────────┐
│ GitScrum Workspace │
│ ├── Project: Customer Domain │
│ │ ├── user-service │
│ │ └── profile-service │
│ ├── Project: Commerce Domain │
│ │ ├── order-service │
│ │ ├── payment-service │
│ │ └── cart-service │
│ └── Project: Operations Domain │
│ ├── inventory-service │
│ ├── shipping-service │
│ └── notification-service │
│ │
│ Pros: Logical grouping, fewer projects │
│ Cons: May span team boundaries │
└─────────────────────────────────────────────────┘
OPTION 3: SHARED PROJECT WITH LABELS
┌─────────────────────────────────────────────────┐
│ GitScrum Workspace │
│ └── Project: Platform Development │
│ Labels: │
│ ├── [svc:user] │
│ ├── [svc:order] │
│ ├── [svc:payment] │
│ ├── [svc:inventory] │
│ └── [svc:notification] │
│ │
│ Filter views per service │
│ │
│ Pros: Simple, unified view │
│ Cons: Less isolation, needs discipline │
└─────────────────────────────────────────────────┘
Cross-Service Feature Tracking
CROSS-SERVICE EPIC STRUCTURE
Epic: Express Checkout Feature
├── Status: In Development
├── Target: Sprint 8
├── Owner: @product-manager
│
├── Tasks by Service:
│
├── [user-service] Saved payment methods
│ ├── Store encrypted payment tokens
│ ├── Add payment method API
│ └── List payment methods API
│
├── [order-service] Quick order creation
│ ├── Express checkout endpoint
│ ├── Apply saved payment method
│ └── Order confirmation
│
├── [payment-service] Token processing
│ ├── Validate payment token
│ ├── Process tokenized payment
│ └── Webhook handling
│
├── [notification-service] Order alerts
│ ├── Express order confirmation email
│ └── Push notification for mobile
│
└── [frontend] Checkout UI
├── Saved payment selector
├── One-click checkout button
└── Order confirmation page
Dependencies:
├── payment-service → user-service (tokens)
├── order-service → payment-service (processing)
└── frontend → all APIs complete
Service Ownership
SERVICE OWNERSHIP MODEL
SERVICE CATALOG:
┌─────────────────────────────────────────────────┐
│ Service: user-service │
│ ├── Owner: @auth-team │
│ ├── Tech Lead: @sarah │
│ ├── On-call: auth-team rotation │
│ ├── Repository: github.com/org/user-service │
│ ├── Documentation: docs/services/user │
│ └── Dependencies: │
│ ├── Consumes: none │
│ └── Consumed by: order, payment, frontend │
│ │
│ Responsibilities: │
│ ├── Authentication & authorization │
│ ├── User profile management │
│ ├── Session management │
│ └── API versioning and deprecation │
└─────────────────────────────────────────────────┘
OWNERSHIP RESPONSIBILITIES:
┌─────────────────────────────────────────────────┐
│ Service Owner must: │
│ ├── Maintain service health and SLAs │
│ ├── Own API contracts and versioning │
│ ├── Communicate breaking changes │
│ ├── Participate in cross-team planning │
│ ├── Handle incidents for their service │
│ └── Keep documentation current │
└─────────────────────────────────────────────────┘
API Contract Management
API CONTRACT WORKFLOW
CONTRACT LIFECYCLE:
┌─────────────────────────────────────────────────┐
│ 1. DESIGN │
│ ├── Create OpenAPI spec │
│ ├── Review with consumers │
│ └── Finalize contract │
│ │
│ 2. IMPLEMENT │
│ ├── Build to spec │
│ ├── Add contract tests │
│ └── Deploy to staging │
│ │
│ 3. CONSUME │
│ ├── Consumers integrate │
│ ├── Integration tests │
│ └── Production deployment │
│ │
│ 4. EVOLVE │
│ ├── Version when changing │
│ ├── Announce deprecation │
│ └── Support multiple versions │
└─────────────────────────────────────────────────┘
BREAKING CHANGE PROTOCOL:
┌─────────────────────────────────────────────────┐
│ 1. Announce in #api-changes: 4 weeks notice │
│ 2. Create migration task for each consumer │
│ 3. Implement new version (v2) │
│ 4. Support v1 and v2 in parallel │
│ 5. Track consumer migration progress │
│ 6. Deprecate v1 after all migrated │
│ 7. Remove v1 after deprecation period │
└─────────────────────────────────────────────────┘
Portfolio View
MICROSERVICES PORTFOLIO DASHBOARD
SERVICE HEALTH:
┌─────────────────────────────────────────────────┐
│ Service Status Sprint Work Owner │
│ ───────────────────────────────────────────── │
│ user-service ✓ 8 tasks Auth │
│ order-service ✓ 12 tasks Orders │
│ payment-service ⚠ 5 tasks Payments │
│ inventory-svc ✓ 3 tasks Ops │
│ notification ✓ 4 tasks Platform │
└─────────────────────────────────────────────────┘
CROSS-SERVICE INITIATIVES:
┌─────────────────────────────────────────────────┐
│ Initiative Progress Target │
│ ───────────────────────────────────────────── │
│ Express Checkout 67% Sprint 8 │
│ API v2 Migration 45% Sprint 10 │
│ Performance Upgrade 23% Sprint 12 │
│ Security Audit Fixes 80% Sprint 7 │
└─────────────────────────────────────────────────┘
DEPENDENCY STATUS:
┌─────────────────────────────────────────────────┐
│ Total dependencies tracked: 18 │
│ ├── On track: 14 │
│ ├── At risk: 3 │
│ └── Blocked: 1 │
└─────────────────────────────────────────────────┘
Best Practices
- Clear service ownership with documented responsibilities
- Service catalog with dependencies mapped
- API-first design before implementation
- Contract testing for all service interactions
- Cross-service epics for multi-service features
- Regular cross-team syncs for coordination
- Portfolio visibility for leadership
- Versioned APIs with deprecation process
Anti-Patterns
✗ Services without clear owners
✗ Breaking API changes without notice
✗ No visibility across services
✗ Uncoordinated deployments
✗ Missing contract tests
✗ Tribal knowledge for dependencies