Skip to content

Commit 172cdb8

Browse files
authored
Merge pull request #1 from Ssukriti/refining_extensions_pattern
refining story and context
2 parents 66342e7 + 3f86201 commit 172cdb8

File tree

1 file changed

+23
-7
lines changed

1 file changed

+23
-7
lines changed

patterns/1-initial/extensions-to-manage-contributions-at-scale.md renamed to patterns/1-initial/extensions-for-sustainable-growth.md

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Title
22

3-
Extensions to Manage Contributions at Scale
3+
Extensions for Sustainable Growth
44

55
## Patlet
66

@@ -10,14 +10,30 @@ An InnerSource project is receiving too many contributions, making maintenance d
1010

1111
As the number of new feature contributions to a mature InnerSource repository rapidly increases, it adds more burden on code reviews and maintenance. How do we allow for faster release of new features, encouraging innovation and experimentation; while also keeping the repository well maintained?
1212

13+
## Story
14+
15+
There is a strategic project that aims to collect the best innovations within a domain space to one common stack, promoting reuse of a common infrastructure and ensuring a standard user experience. Through InnerSource, various teams in the organization that work within the domain space get an opportunity to collaborate and contribute their innovations to the common codebase, which also offers more opportunities for their work to get adopted. However, a large number of contributions in parallel from several developers is making maintenance of the codebase difficult. This is adding a huge burden on the core team of maintainers who assume ownership over the code quality standards and enable the community through various forms of communication.
16+
17+
Maintainers are burnt out due to:
18+
19+
- Everlasting backlog of pull requests that need to be reviewed.
20+
- Job dissatisfaction: Majority of maintainers' time spent in community support leaves no room for innovation.
21+
- Perceived lack of accomplishment: Only a fraction of the new capabilities added gain adoption by users.
22+
- Time consuming releases: More features in the codebase results in long running tests.
23+
- Increase in maintenance activities: More bugs raised as new capabilities are added.
24+
25+
A lot of time and investment is going behind releasing a new feature idea to the community of users for exploration.
26+
1327
## Context
1428

15-
- More employees are contributing to a strategic InnerSource codebase, which is scaling rapidly with new feature contributions. This is adding a huge code review burden on a smaller group of maintainers, resulting in a backlog of feature contributions as well as slowing down release of new capabilities.
16-
- With the high volume of new capabilities being added, the organization is investing large amounts of time on code review cycles to harden the capabilities before release. Not all of these capabilities gain adoption as they may not serve an internal use case.
17-
- Adding an excessive number of capabilities and code to the strategic repository is making it difficult to maintain.
18-
- As the maintainers cannot keep up with feedback to the contributors and code reviews anymore it creates a growing backlog of new features and ideas for the project which has scaled.
29+
- A strategic InnerSource codebase is scaling rapidly with new feature contributions from several employees.
30+
- The ratio of reviewers to contributions results in a growing backlog of pull requests. This is slowing down release of new feature ideas to community.
31+
- Quality of the codebase is no longer maintained and user experience is adversely impacted.
32+
- Maintainers of the codebase are burdened and cannot keep up with the influx of contributions and increased community support.
33+
- There are more features being contributed than gaining adoption by users. Not all ideas are serving internal use cases, but addition of features is adding to the maintenance overhead.
34+
- Organization is investing heavily in hardening of new feature contributions to retain quality standards before the ideas are explored by the community.
1935
- The pattern applies in either scenario:
20-
- Maintainers find themselves rejecting new feature ideas to narrow down the scope of the products. This is hampering innovation in the community and restricting further expansion.
36+
- Maintainers find themselves rejecting new feature ideas to narrow down the scope of the project. This is hampering innovation in the community and restricting further expansion.
2137
- To reduce backlog, new features are getting released without thorough documentation, hardening, or testing, creating a poor user experience. This is also bloating the size of the codebase, adding a huge dependency graph and making it difficult to maintain.
2238

2339
## Forces
@@ -28,7 +44,7 @@ As the number of new feature contributions to a mature InnerSource repository ra
2844

2945
## Solutions
3046

31-
Allowing extensions/plugins to high-scale InnerSource codebases can relieve the maintenance burden on repository maintainers and allow faster release of new features for adopting products to explore. This shifts maintenance of capabilities to extension owners and allows the primary repository to support capabilities that have been adopted more widely and are more strategic.
47+
Allowing [extensions/plugins](https://en.wikipedia.org/wiki/Extensibility) to high-scale InnerSource codebases can relieve the maintenance burden on repository maintainers and allow faster release of new features for adopting products to explore. This shifts maintenance of capabilities to extension owners and allows the primary repository to support capabilities that have been adopted more widely and are more strategic.
3248

3349
Extensions provide a filter for new capabilities that may eventually move into the core of the project. Extensions also act as an incubation and community hardening environment, allowing for much of that hardening to happen organically rather than in a costly review process.
3450

0 commit comments

Comments
 (0)