Skip to content

Commit 38559f9

Browse files
tsadler1988spier
andauthored
[Pattern Draft] Managing capacity for reviewing contributions (#692)
New pattern: Managing capacity for reviewing contributions --------- Co-authored-by: Tom Sadler <[email protected]> Co-authored-by: Sebastian Spier <[email protected]>
1 parent 55cc9ba commit 38559f9

File tree

2 files changed

+77
-0
lines changed

2 files changed

+77
-0
lines changed

Diff for: README.md

+1
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ Our mission
8787
* [Code of Conduct](/patterns/1-initial/code-of-conduct.md) - *Communications and interactions between collaborators are rude, not inclusive or offensive, harming and increasing the discussions without any value added. A Code of Conduct provides guidelines for establishing rules and expectations regarding behavior and interactions within the community to build stronger levels of collaboration.*
8888
* [Trusted Committer and Contributor Retrospectives](/patterns/1-initial/cross-team-retrospectives.md) - *A host team working with contributors outside of their own line of management constantly runs into misunderstandings. As a result collaboration becomes brittle and frustrating. Setting aside time for regular retrospectives for the InnerSource team consisting of trusted committers and contributors can help make communication smooth.*
8989
* [InnerSource Hackathon](/patterns/1-initial/innersource-hackathon.md) - *In a company, initially only InnerSource enthusiasts are interested and practicing InnerSource during the early stages of InnerSource adoption; not all engineering teams are willing or have enough time and resources to adopt InnerSource. In this scenario, it is good to provide a safe space to try and adopt InnerSource through an InnerSource Hackathon event within the company.*
90+
* [Managing Capacity for Reviewing Contributions](/patterns/1-initial/capacity-for-contributions.md) - *Reviewing InnerSource contributions takes time and effort. This should be reflected in capacity planning, especially for larger contributions. Expectations and available capacity should be transparent so that contributors understand when their contributions will be reviewed and, if accepted, released.*
9091

9192
<!--
9293
NOTE: The 'Initial' Patterns below don't have a Patlet yet, which is essential for readers to quickly browse our patterns.

Diff for: patterns/1-initial/capacity-for-contributions.md

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
## Title
2+
3+
Managing Capacity for Reviewing Contributions
4+
5+
## Patlet
6+
7+
Reviewing InnerSource contributions takes time and effort. This should be reflected in capacity planning, especially for larger contributions. Expectations and available capacity should be transparent so that contributors understand when their contributions will be reviewed and, if accepted, released.
8+
9+
## Problem
10+
11+
Large InnerSource contributions are causing delays to other work in the team and/or contributions are taking longer to be released than expected. Reviewing contributions may be significant invisible work, not tracked in a team's Agile development process.
12+
13+
## Story
14+
15+
An application is built by a number of teams, each with different areas of responsibility. They work on each other's areas of the codebase via InnerSource on a regular basis.
16+
17+
The team responsible for the build process for the JavaScript bundles received a major pull request, changing how dependencies were bundled. This PR introduced a new build time dependency, a new structure to the deployed JavaScript bundles, and touched 503 files, with 6,699 lines of code added and 2,828 lines of code deleted. A contribution of this size required significant time to code review, test, and ensure the team understood the new tooling and structure introduced.
18+
19+
Normally, InnerSource contributions would be reviewed ad-hoc, but the team estimated that this review process would take days rather than hours. Reviewing this PR would have delayed the team's other work, so the team raised this with the team lead, project manager, and product manager, to prioritize this work against other work. Time was set aside to review this contribution at a future date.
20+
21+
This process was formalized in the team:
22+
23+
* Larger contributions have a ticket created on the team's backlog and included in prioritization discussion alongside other tickets.
24+
* The contributor will be informed of the priority call and given an estimate as to when it will be reviewed and released.
25+
* Smaller contributions can still be reviewed ad-hoc.
26+
27+
## Context
28+
29+
* Host team of a successful InnerSource project are finding it difficult to review contributions, especially large contributions.
30+
* They do not want to disrupt their team's other work, but also want to support contributions by reviewing/releasing them in a timely fashion.
31+
32+
## Forces
33+
34+
* Contributors expect timely feedback on their contributions
35+
* Host team are expected to deliver other work alongside reviewing contributions
36+
* Missing communication between contributors and host team on expectations/lead time for contributions to be reviewed/released
37+
* Tension in prioritizing InnerSource contributions against other work
38+
* Contributors already strive to make small PRs in line with Agile, InnerSource, and Continuous Delivery principles, but find instances where larger PRs are unavoidable
39+
40+
## Solutions
41+
42+
* Contributors are encouraged to give the host team early visibility of larger contributions (e.g. via GitHub Issues, draft PRs, [RFCs](../2-structured/transparent-cross-team-decision-making-using-rfcs.md), or informal discussions) and are made aware that not doing so could delay review of their contribution
43+
* Reviewing larger contributions is tracked in the team's ticketing system/bug tracker (e.g. Jira, GitHub issues)
44+
* Host team is given time to review larger contributions in team capacity planning
45+
* Reviewing contributions is prioritized against other work (e.g. in sprint planning)
46+
* Host team communicate their capacity for reviewing contributions, the priority of contributions, and an estimate of when a contribution will be reviewed/released
47+
* Host team has a service level objective (SLO) (e.g. 2 working days) for providing initial feedback to new contributions
48+
* Smaller contributions are still reviewed ad-hoc; the team may have guidelines on what they consider to be a smaller contribution (e.g. review should take less than an hour)
49+
50+
## Resulting Context
51+
52+
Host team understands the overhead of reviewing large contributions and is given capacity to do so. Project manager and product managers are better able to plan, estimate, and track other work in the team by accounting for the time taken to review InnerSource contributions. Contributors understand when their contribution will be reviewed and released, and how long before the host team will provide initial feedback.
53+
54+
Smaller PRs are still reviewed ad-hoc, minimising overhead and unnecessary additional process.
55+
56+
There may still be conflict in prioritising contribution reviews, especially if the host team is overburdened with other work. This only works if contributions are valued by the decision makers in the team's planning process.
57+
58+
## Known Instances
59+
60+
- BBC iPlayer & Sounds
61+
62+
## Status
63+
64+
Initial
65+
66+
## Author(s)
67+
68+
Tom Sadler
69+
70+
## Acknowledgments
71+
72+
Clare Dillon
73+
Sebastian Spier
74+
Guilherme Dellagustin
75+
Michael Basil
76+
Bill Westfall

0 commit comments

Comments
 (0)