GitScrum / Docs
All Best Practices

Agency Multi-Client Management | Capacity, Billing

Manage multiple agency clients with capacity allocation, time tracking, and context switching reduction. Balance work across clients in GitScrum.

6 min read

Agencies juggle competing priorities across multiple client accounts, each with unique requirements and expectations. GitScrum's multi-project organization, client-level permissions, and capacity planning tools help agencies maintain visibility across all accounts while delivering quality work and keeping clients satisfied.

Agency Project Organization

ModelBest ForConsideration
Project per clientClear separationMany projects to manage
Workspace per clientLarge clientsHigher overhead
Single project + labelsFew small clientsLess isolation
HybridMixed client sizesComplexity

Multi-Client Organization

AGENCY PROJECT STRUCTURE

WORKSPACE ORGANIZATION:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Agency Workspace                               β”‚
β”‚                                                 β”‚
β”‚  β”œβ”€β”€ πŸ“ Acme Corp                               β”‚
β”‚  β”‚   β”œβ”€β”€ Project: Acme Website Redesign         β”‚
β”‚  β”‚   β”œβ”€β”€ Project: Acme Mobile App               β”‚
β”‚  β”‚   └── Project: Acme Maintenance              β”‚
β”‚  β”‚                                              β”‚
β”‚  β”œβ”€β”€ πŸ“ TechStart Inc                           β”‚
β”‚  β”‚   β”œβ”€β”€ Project: TechStart MVP                 β”‚
β”‚  β”‚   └── Project: TechStart Phase 2             β”‚
β”‚  β”‚                                              β”‚
β”‚  β”œβ”€β”€ πŸ“ GlobalRetail                            β”‚
β”‚  β”‚   β”œβ”€β”€ Project: GlobalRetail E-commerce       β”‚
β”‚  β”‚   └── Project: GlobalRetail Support          β”‚
β”‚  β”‚                                              β”‚
β”‚  └── πŸ“ Internal                                β”‚
β”‚      β”œβ”€β”€ Project: Agency Website                β”‚
β”‚      └── Project: Internal Tools                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

CLIENT PROJECT TEMPLATE:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Project: [Client] [Project Name]               β”‚
β”‚                                                 β”‚
β”‚  Standard Labels:                               β”‚
β”‚  β”œβ”€β”€ [billable] / [non-billable]                β”‚
β”‚  β”œβ”€β”€ [priority:high/medium/low]                 β”‚
β”‚  β”œβ”€β”€ [phase:discovery/design/dev/launch]        β”‚
β”‚  └── [type:feature/bug/maintenance]             β”‚
β”‚                                                 β”‚
β”‚  Custom Fields:                                 β”‚
β”‚  β”œβ”€β”€ Client contact                             β”‚
β”‚  β”œβ”€β”€ Contract type (fixed/hourly/retainer)      β”‚
β”‚  β”œβ”€β”€ Budget hours                               β”‚
β”‚  └── Deadline                                   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Capacity Management

CAPACITY ALLOCATION

TEAM CAPACITY PLANNING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Team Size: 8 developers                        β”‚
β”‚  Available hours/week: 280 (35h Γ— 8)            β”‚
β”‚                                                 β”‚
β”‚  This Week's Allocation:                        β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    β”‚
β”‚  β”‚ Acme Corp           90h (32%)  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ β”‚    β”‚
β”‚  β”‚ TechStart Inc       70h (25%)  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ   β”‚    β”‚
β”‚  β”‚ GlobalRetail        55h (20%)  β–ˆβ–ˆβ–ˆβ–ˆβ–ˆ    β”‚    β”‚
β”‚  β”‚ Maintenance Pool    35h (12%)  β–ˆβ–ˆβ–ˆ      β”‚    β”‚
β”‚  β”‚ Internal            20h (7%)   β–ˆβ–ˆ       β”‚    β”‚
β”‚  β”‚ Buffer              10h (4%)   β–ˆ        β”‚    β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜    β”‚
β”‚                                                 β”‚
β”‚  Legend:                                        β”‚
β”‚  β–ˆβ–ˆβ–ˆβ–ˆ Committed    β–‘β–‘β–‘β–‘ Available               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

DEVELOPER ASSIGNMENT:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Developer     Primary Client    Secondary      β”‚
β”‚  ─────────────────────────────────────────────  β”‚
β”‚  @alex         Acme Corp (80%)   TechStart(20%) β”‚
β”‚  @jordan       Acme Corp (100%)  -              β”‚
β”‚  @sam          TechStart (100%)  -              β”‚
β”‚  @taylor       GlobalRetail(80%) Maint (20%)    β”‚
β”‚  @casey        GlobalRetail(60%) TechStart(40%) β”‚
β”‚  @riley        Maintenance Pool (100%)          β”‚
β”‚  @morgan       Internal (50%)    Buffer (50%)   β”‚
β”‚  @drew         Acme Mobile (100%) -             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Client Dashboard

CLIENT PORTFOLIO VIEW

CLIENT HEALTH OVERVIEW:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Client          Project Status   Hours   Rev  β”‚
β”‚  ─────────────────────────────────────────────  β”‚
β”‚  Acme Corp       βœ“ On Track       156/200 $24K β”‚
β”‚  TechStart Inc   ⚠ At Risk        89/100  $14K β”‚
β”‚  GlobalRetail    βœ“ On Track       52/80   $8K  β”‚
β”‚  Internal        βœ“ On Track       18/30   -    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

DEADLINE CALENDAR:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  This Week:                                     β”‚
β”‚  β”œβ”€β”€ Wed: TechStart MVP Demo                    β”‚
β”‚  └── Fri: GlobalRetail Sprint Review            β”‚
β”‚                                                 β”‚
β”‚  Next Week:                                     β”‚
β”‚  β”œβ”€β”€ Mon: Acme Website Phase 1 Launch           β”‚
β”‚  └── Thu: TechStart Phase 2 Kickoff             β”‚
β”‚                                                 β”‚
β”‚  Month End:                                     β”‚
β”‚  └── GlobalRetail E-commerce Go-Live            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

ATTENTION NEEDED:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  πŸ”΄ TechStart: Scope creep risk - review backlogβ”‚
β”‚  🟑 Acme: Pending design approval - 3 days      β”‚
β”‚  🟑 GlobalRetail: Resource needed next week     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Time Tracking for Billing

TIME TRACKING STRUCTURE

BILLABLE TIME TRACKING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Task: Implement checkout flow                  β”‚
β”‚  Client: GlobalRetail                           β”‚
β”‚  Project: E-commerce                            β”‚
β”‚                                                 β”‚
β”‚  Time entries:                                  β”‚
β”‚  β”œβ”€β”€ Mon: 3h - API development                  β”‚
β”‚  β”œβ”€β”€ Tue: 4h - Frontend integration             β”‚
β”‚  └── Wed: 2h - Testing and fixes                β”‚
β”‚                                                 β”‚
β”‚  Total: 9h @ $150/hr = $1,350                   β”‚
β”‚  Contract type: Hourly                          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

MONTHLY REPORT BY CLIENT:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  GlobalRetail - October 2024                    β”‚
β”‚                                                 β”‚
β”‚  Billable Hours:                                β”‚
β”‚  β”œβ”€β”€ Development: 86h                           β”‚
β”‚  β”œβ”€β”€ Design: 24h                                β”‚
β”‚  β”œβ”€β”€ Project Management: 12h                    β”‚
β”‚  └── Meetings: 8h                               β”‚
β”‚  ─────────────────────────                      β”‚
β”‚  Total Billable: 130h                           β”‚
β”‚                                                 β”‚
β”‚  Non-Billable (included in fixed):              β”‚
β”‚  β”œβ”€β”€ Internal planning: 6h                      β”‚
β”‚  └── Learning/research: 4h                      β”‚
β”‚                                                 β”‚
β”‚  Invoice Amount: $19,500                        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Context Switching Reduction

FOCUS TIME STRATEGIES

DAY BLOCKING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Monday:    Acme Corp focus                     β”‚
β”‚  Tuesday:   Acme Corp focus                     β”‚
β”‚  Wednesday: TechStart focus                     β”‚
β”‚  Thursday:  GlobalRetail focus                  β”‚
β”‚  Friday:    Maintenance + flex                  β”‚
β”‚                                                 β”‚
β”‚  Rule: Only urgent issues interrupt focus day   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

HALF-DAY BLOCKING:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  AM: Primary client (4h deep work)              β”‚
β”‚  PM: Secondary client or meetings               β”‚
β”‚                                                 β”‚
β”‚  Example:                                       β”‚
β”‚  Mon AM: Acme development                       β”‚
β”‚  Mon PM: TechStart code review + meetings       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

WIP LIMITS PER DEVELOPER:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Max active clients: 2                          β”‚
β”‚  Max active tasks: 2                            β”‚
β”‚  Max context switches/day: 2                    β”‚
β”‚                                                 β”‚
β”‚  Exceptions require team lead approval          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Best Practices

  • Separate projects per client for clear boundaries
  • Track time meticulously for accurate billing
  • Allocate capacity explicitly per client
  • Minimize context switching with focus blocks
  • Buffer capacity for urgent requests
  • Regular client reviews for alignment
  • Standard processes across all clients
  • Clear escalation paths for client issues
  • Anti-Patterns

    βœ— Developers on 5+ clients simultaneously
    βœ— No time tracking discipline
    βœ— Over-committing capacity
    βœ— No buffer for unexpected work
    βœ— Mixing client data carelessly
    βœ— Reactive scheduling only
    

    Related Solutions