Skip to content

Commit 8ab0319

Browse files
authored
Improve Pattern: Unified Source Code Inventory (#362)
* New Patlet * split properties into separate bullets (improves eadability; also matches the screenshot more closely) * removing unnecessary punctuations * reformatting Known Instances, to make it easier to add further orgs * capitalize spelling of 'Organization' everywhere (except in the Patlet) * Split up the two components that make up this the Solution in the Rationale section
1 parent 6174c9e commit 8ab0319

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

patterns/1-initial/source-code-inventory.md

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ Unified Source Code Inventory
44

55
## Patlet
66

7-
In a large organization with different legal entities is often hard to get full visibility into all software assets, in particular all source code. This situation reduces the opportunities to increase business value and keep liability costs, such as software maintenance, under control across the organization as a whole. An organization-level source code inventory addresses these issues while exploiting opportunities to identify and support valuable InnerSource assets.
7+
Large organizations with many legal entities often don't have visibility into all of their software assets (repositories), limiting their ability to increase businesses value and control liability costs holistically.
8+
A unified source code inventory at organization-level addresses these issues, while exploiting opportunities to identify and support valuable InnerSource assets.
89

910
## Problem
1011

11-
Given situations when InnerSource stakeholders do not value source code at the same level as other organization's assets; when source code strategies are ad-hoc and different among legal entities with little consolidation at organization-level; then it becomes harder both to select and support the right InnerSource project candidates as well as maximize business value of such a key asset.
12+
Given situations when InnerSource stakeholders do not value source code at the same level as other Organization's assets; when source code strategies are ad-hoc and different among legal entities with little consolidation at Organization-level; then it becomes harder both to select and support the right InnerSource project candidates as well as maximize business value of such a key asset.
1213

13-
Can you get consistent answers within the organization to questions like?
14+
Can you get consistent answers within the Organization to questions like:
1415

1516
* How would you find all source code touched by anyone in your legal entity?
1617
* How would you find out who else can also access each of the above?
@@ -20,36 +21,37 @@ Can you get consistent answers within the organization to questions like?
2021

2122
## Context
2223

23-
* You work on Legal Entity within a complex Organization under continuous change (e.g., new acquisitions or changing business priorities).
24+
* You work on Legal Entity within a complex Organization under continuous change (e.g. new acquisitions or changing business priorities).
2425
* You cannot find all source code touched, shared and consumed within the Organization.
25-
* You do not have a clear policy on default sharing level when creating a new project (e.g., Open Source, InnerSource or Closed Source).
26+
* You do not have a clear policy on default sharing level when creating a new project (e.g. Open Source, InnerSource or Closed Source).
2627
* You cannot scan significant parts of the Organization's source code looking for duplication, similarity or code smells.
2728
* You do not know the existing ratios of Open Source, innerSource and Closed Source and their trend.
2829
* You cannot measure the diversity of contributions and resulting value for a given project.
2930
* You cannot identify and optimize tech stack diversity.
30-
* You cannot identify technical debt and determine the priorities for retirement (e.g., dead APIs/source).
31+
* You cannot identify technical debt and determine the priorities for retirement (e.g. dead APIs/source).
3132

3233
## Forces
3334

34-
* Fragmentation of source code hosting systems in the organization.
35-
* Ad-hoc source code strategies scattered across the different Legal Entities in the organization.
35+
* Fragmentation of source code hosting systems in the Organization.
36+
* Ad-hoc source code strategies scattered across the different Legal Entities in the Organization.
3637
* Continuously changing map of the relationships between: projects, repositories, products, tech stacks, domains, solutions, platforms, services, components, sub-systems, people, authors, teams, external repositories.
37-
* Diverse software culture of teams across the organization (e.g., more open to collaboration or more siloed).
38+
* Diverse software culture of teams across the Organization (e.g. more open to collaboration or more siloed).
3839

3940
## Solutions
4041

41-
### Set up an organization-level source code inventory live dashboard
42+
### Set up an Organization-level source code inventory live dashboard
4243

4344
* Combination of manual and automated input data sources to a single source of truth
4445
* API available to add new data sources and extend coverage of the source code repository
4546
* Key meta-data about each repository:
4647
* Legal Entity
4748
* URL
48-
* Version control system (e.g., GIT or SVN).
49-
* Hosting vendor (e.g., GitHub, Gitlab or BitBucket) and hosting type (e.g., on-prem, private cloud or public cloud).
50-
* Sharing level (e.g., Open Source, InnerSource, Closed Source).
49+
* Version control system (e.g. GIT or SVN)
50+
* Hosting vendor (e.g. GitHub, Gitlab or BitBucket)
51+
* Hosting type (e.g. on-prem, private cloud or public cloud)
52+
* Sharing level (e.g. Open Source, InnerSource, Closed Source)
5153
* Visualization in place to list all assets with options to filter based on meta-data
52-
* Enable access to automated source code static analysis tools (e.g., identify duplicated or similar code, flag code smells, benchmark test coverage).
54+
* Enable access to automated source code static analysis tools (e.g. identify duplicated or similar code, flag code smells, benchmark test coverage).
5355

5456
Mockup dashboard | Mockup questionnaire
5557
:-------------------------:|:-------------------------:
@@ -69,31 +71,31 @@ Mockup dashboard | Mockup questionnaire
6971

7072
### For the Organization, Legal Entity and Project maintainers
7173

72-
* We have explicit policies at Organization and Legal Entity level on source code strategy (e.g., where to create new repository or how to select the right sharing level).
74+
* We have explicit policies at Organization and Legal Entity level on source code strategy (e.g. where to create new repository or how to select the right sharing level).
7375
* We can find all source code touched, shared and consumed within the Organization or Legal Entity and take actions as needed.
7476
* We can measure the diversity of contributions and resulting business value for our project.
75-
* We can identify technical debt and determine the priorities for retirement (e.g., dead APIs/source).
77+
* We can identify technical debt and determine the priorities for retirement (e.g. dead APIs/source).
7678

7779
### For InnerSource governance
7880

7981
* We can scan significant parts of our Organization's source code looking for opportunities of reuse, duplication, similarity or code smells.
8082
* We know the ratios of Open Source, InnerSource and Closed Source within the Organization so we can steer as needed.
8183
* We can identify and optimize tech stack diversity.
82-
* We can create awareness and culture shift on certain Legal Entities as needed (e.g., ratio of Open Source and InnerSource below average).
84+
* We can create awareness and culture shift on certain Legal Entities as needed (e.g. ratio of Open Source and InnerSource below average).
8385

8486
## Rationale
8587

86-
It creates a dynamic and extendable single source of truth for repositories to capture, visualize and act on source code repositories across the Organization. That helps to create awareness and focus efforts on the right direction. The Source Code Strategy Assessment Framework helps teams to understand the value of intentional explicit policies on how to manage source code. It helps to create both continuous improvement cycles and references within the Organization of what others are doing.
88+
It creates a dynamic and extendable single source of truth for repositories to capture, visualize and act on source code repositories across the Organization. That helps to create awareness and focus efforts on the right direction.
8789

88-
## Known Instances
90+
The Source Code Strategy Assessment Framework helps teams to understand the value of intentional explicit policies on how to manage source code. It helps to create both continuous improvement cycles and references within the Organization of what others are doing.
8991

90-
This is under test at scale at:
92+
## Known Instances
9193

92-
* Philips
94+
* Philips (under test at scale)
9395

9496
## References
9597

96-
* Organization and Legal Entity terms as defined in [InnerSource License Pattern Glossary](../2-structured/innersource-license.md#glossary).
98+
* Organization and Legal Entity terms as defined in the [InnerSource License Pattern - Glossary](../2-structured/innersource-license.md#glossary).
9799
* Explore using this pattern in combination with the [InnerSource Portal](../2-structured/innersource-portal.md) pattern.
98100

99101
## Status

0 commit comments

Comments
 (0)