-
Notifications
You must be signed in to change notification settings - Fork 201
Add Follow the Sun Development pattern #844
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,116 @@ | ||||||||||
## Title | ||||||||||
|
||||||||||
Follow the Sun Development | ||||||||||
|
||||||||||
## Patlet | ||||||||||
|
||||||||||
InnerSource projects with contributors across multiple timezones struggle with delayed feedback cycles, duplicated work, and contributor frustration from timezone barriers. By implementing "Follow the Sun" development practices with structured handoff protocols, comprehensive async documentation, and timezone-aware tooling, projects can maintain continuous momentum and inclusive global collaboration. | ||||||||||
|
||||||||||
## Problem | ||||||||||
|
||||||||||
InnerSource projects that span multiple timezones face significant collaboration challenges that reduce contribution velocity and contributor satisfaction. Contributors in different timezones experience long wait times for reviews, feedback, and guidance, leading to decreased engagement and project momentum. | ||||||||||
|
||||||||||
## Story | ||||||||||
|
||||||||||
A global technology company launched an InnerSource platform project with potential contributors from their offices in San Francisco, London, and Singapore. Initially, the project maintainers (based in San Francisco) would review contributions during their working hours, leaving contributors in other timezones waiting 12-16 hours for basic feedback. European contributors would submit pull requests before their weekend, only to find conflicts and questions on Monday morning that had been resolved by the US team during the weekend. Singapore-based developers felt excluded from architectural decisions that happened during US-Europe overlapping hours. After six months, 70% of contributions came from US timezones despite global talent availability. | ||||||||||
|
||||||||||
## Context | ||||||||||
|
||||||||||
- An InnerSource project has potential contributors across multiple timezones (3+ timezones spanning more than 12 hours) | ||||||||||
- The project receives regular contributions and requires frequent collaboration between maintainers and contributors | ||||||||||
- Traditional synchronous collaboration methods (meetings, real-time code reviews) create bottlenecks | ||||||||||
- Contributors in non-primary timezones report feeling excluded or delayed in their contribution efforts | ||||||||||
- The organization values global collaboration and wants to leverage distributed talent | ||||||||||
|
||||||||||
## Forces | ||||||||||
|
||||||||||
- **Synchronous vs. Asynchronous Balance**: Real-time collaboration provides immediate feedback and builds relationships, but creates timezone barriers. Pure async communication can lack nuance and slow decision-making. | ||||||||||
- **Documentation Overhead vs. Efficiency**: Comprehensive async documentation takes time to create and maintain, but is essential for timezone handoffs and onboarding. | ||||||||||
- **Local Autonomy vs. Global Consistency**: Giving timezone-specific teams decision-making authority improves speed, but can lead to inconsistent approaches across regions. | ||||||||||
- **Inclusive Participation vs. Decision Speed**: Ensuring all timezones can contribute to important decisions takes longer but builds stronger global community. | ||||||||||
- **Tooling Investment vs. Simplicity**: Timezone-aware tools and automation require upfront investment but significantly improve collaboration efficiency. | ||||||||||
|
||||||||||
## Solutions | ||||||||||
|
||||||||||
Implement a "Follow the Sun" development model that enables continuous project momentum through structured timezone handoffs: | ||||||||||
|
||||||||||
### Core Practices | ||||||||||
|
||||||||||
1. **Structured Handoff Protocol** | ||||||||||
- Create timezone-specific "shift notes" in project wikis or shared documents | ||||||||||
- Use standardized handoff templates that include: work completed, blockers encountered, decisions pending, and next priorities | ||||||||||
- Establish clear handoff times (e.g., end of each region's working day) | ||||||||||
- Designate timezone champions who coordinate handoffs and ensure continuity | ||||||||||
|
||||||||||
2. **Async-First Documentation Standards** | ||||||||||
- All architectural decisions documented with context using [Architecture Decision Records (ADRs)](./document-architecture-decisions.md) | ||||||||||
- Code review comments include sufficient context for async response | ||||||||||
- Meeting recordings and transcripts published within 24 hours | ||||||||||
- Decision rationale captured in issue trackers, not just decisions themselves | ||||||||||
|
||||||||||
3. **Timezone-Aware Processes** | ||||||||||
- Stagger regular project meetings across different timezone combinations | ||||||||||
- Use asynchronous RFC processes for major decisions with minimum 72-hour comment periods | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. For shadow decisions, since the workflow mentions recordings, please add the missing summary→ADR step with a 24–72h publish target and a brief async review window so the “why” is visible across regions. |
||||||||||
- Implement "follow-up reviews" where contributors from other timezones can add input after initial reviews | ||||||||||
- Create timezone-specific office hours for informal collaboration | ||||||||||
|
||||||||||
4. **Global Maintainer Model** | ||||||||||
- Distribute [Trusted Committer](../2-structured/trusted-committer.md) roles across key timezones | ||||||||||
- Cross-train maintainers to avoid single points of failure in any timezone | ||||||||||
Comment on lines
+58
to
+59
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @abduljaleel Trusted Committers across time zones are valuable—but is this strictly required for the pattern, or a scaling recommendation? How does the pattern work if Trusted Committers are concentrated in one time zone? |
||||||||||
- Rotate "primary contact" responsibilities across timezones for different project areas | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does "primary contact" refer to the owner of the task? |
||||||||||
|
||||||||||
### Supporting Tools and Automation | ||||||||||
|
||||||||||
- Configure CI/CD pipelines for all timezones with appropriate notification settings | ||||||||||
- Use project dashboards that show current "active timezone" and relevant contacts | ||||||||||
- Implement chatbots or automation that can provide basic project information 24/7 | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Automation of basic project information is a good idea; how can we define one source of truth for the project? |
||||||||||
- Set up timezone-aware notification systems that respect local working hours | ||||||||||
|
||||||||||
## Resulting Context | ||||||||||
|
||||||||||
When successfully implemented, Follow the Sun development creates: | ||||||||||
|
||||||||||
- **Continuous Project Momentum**: Work progresses around the clock as contributors in different timezones pick up where others left off | ||||||||||
- **Increased Global Participation**: Contributors from all timezones feel valued and able to meaningfully participate | ||||||||||
- **Improved Documentation Culture**: The necessity of async handoffs raises overall project documentation quality | ||||||||||
- **Reduced Time-to-Market**: 24-hour development cycles can accelerate feature delivery | ||||||||||
- **Enhanced Knowledge Distribution**: Cross-timezone collaboration spreads expertise across the global team | ||||||||||
|
||||||||||
However, this approach also introduces new challenges: | ||||||||||
|
||||||||||
- Higher coordination overhead and process complexity | ||||||||||
- Increased documentation maintenance burden | ||||||||||
- Potential for miscommunication in handoffs | ||||||||||
- Need for greater discipline in async communication practices | ||||||||||
|
||||||||||
These challenges may lead to related patterns like "Timezone-Aware Project Governance" or "Cross-Cultural InnerSource Communication." | ||||||||||
|
||||||||||
## Known Instances | ||||||||||
|
||||||||||
*This is a gap we've identified - we need real-world validation. Consider organizations like Microsoft, IBM, SAP, or other global companies that likely face this challenge.* | ||||||||||
|
||||||||||
**Potential validation areas to research:** | ||||||||||
|
||||||||||
- Global open source projects (Kubernetes, React, etc.) that could provide analogous examples | ||||||||||
- Enterprise software companies with global development teams | ||||||||||
- Organizations that have documented "follow the sun" practices in traditional development | ||||||||||
|
||||||||||
## Status | ||||||||||
|
||||||||||
- Initial | ||||||||||
|
||||||||||
## Author(s) | ||||||||||
|
||||||||||
- Abdul Jaleel Kavungal | ||||||||||
|
||||||||||
## Acknowledgments | ||||||||||
|
||||||||||
- InnerSource Commons Pattern Working Group | ||||||||||
- Global development teams who face these challenges daily | ||||||||||
|
||||||||||
Comment on lines
+106
to
+110
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Typically we mention specific people that the authors have collaborated with, or drawn inspiration from. |
||||||||||
## Alias | ||||||||||
|
||||||||||
- 24/7 InnerSource Development | ||||||||||
- Continuous Global Collaboration | ||||||||||
- Timezone-Spanning Development | ||||||||||
- Round-the-Clock InnerSource |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How can decision disagreements be managed? How to handle always-on expectations (burnout) for contributors in non-dominant time zones?