1
1
# Title
2
2
3
- Standard base documentation
3
+ Provide standard base documentation through a README
4
4
5
5
# Context
6
6
7
7
A project is to be shared with others as an InnerSource project. In order for
8
8
others to be able to understand what the project is about as well as how to
9
- contribute, the project needs to provide some base level documentation.
9
+ contribute, the project needs to provide some base level documentation. So far
10
+ the project is lacking either all documentation or some aspects needed for users
11
+ to try it out in a self-service manner as well as for contributors to get up to
12
+ speed quickly.
10
13
11
14
# Problem
12
15
@@ -19,14 +22,36 @@ exactly which colleagues are currently actively maintaining the project.
19
22
20
23
# Forces
21
24
25
+ - The project was converted into an InnerSource project only recently. Before,
26
+ users were either only internal or on-boarded in personal face-to-face
27
+ sessions. Equally, people working on the project went through personal
28
+ on-boarding sessions which do not scale with growing numbers of contributors or
29
+ remote contributors. As a result, self service documentation is lacking.
30
+ - The project was newly created as an InnerSource project. However the host team
31
+ lacks experience with InnerSource. As a result they need guidance on which
32
+ information to include in their documentation, where to put that documentation
33
+ so others can find it and which types of readers to address in their
34
+ documentation.
35
+ - The project was converted into an InnerSource project only recently, the host
36
+ team has limited experience with InnerSource. As a result, existing
37
+ documentation addresses a lot of technical aspects. It does not cover
38
+ communication, coordination, information needed to facilitate transparent
39
+ planning.
40
+ - The project was converted into an InnerSource project only recently. As a
41
+ result, a lot of implicit knowledge that exists within the team is neither
42
+ written down nor obvious to contributors.
22
43
- A lack of documentation leads to potential contributors taking a long time to
23
- get setup and get started.
44
+ get setup and get started. Producing documentation (and keeping it up to date)
45
+ requires a time investment. Even if the host team relies on contributors to
46
+ help with lacking documentation, those contributions still need time to review.
24
47
- Project members are spending a lot of time answering getting started
25
- questions.
48
+ questions. Maintaining a comprehensive database of what could be considered
49
+ support questions requires a lot of time and effort though.
26
50
- Different teams within the organization have diverging standards for how to
27
51
format source code and which software patterns to use. As a result
28
52
contributions often end up getting re-written to a large part or even
29
- entirely.
53
+ entirely. Standardizing all of that and enforcing the standard often
54
+ would require a lot of time and work.
30
55
- The added work for repeated explanations and re-writes diminishes the
31
56
usefulness of the InnerSource approach.
32
57
- Frequent escalations due to extra work and delays due to re-writes lead to a
@@ -67,7 +92,7 @@ contain:
67
92
If the explanation of the steps to make a contribution are too involved, create
68
93
a separate ** CONTRIBUTING.md** document. This document should answer frequently
69
94
asked questions that contributors have asked in the past. There is no need to
70
- provide a comprehensive book up front. Rather share information that has proven
95
+ provide a comprehensive book up front. Rather, share information that has proven
71
96
needed by contributors. Likely it will touch upon one or more of the following
72
97
topics:
73
98
@@ -81,13 +106,20 @@ topics:
81
106
* Some information on which turnaround time to expect for modifications made.
82
107
83
108
84
- There are literally tons of good examples for how to write a README.md and what kind
109
+ There are many of good examples for how to write a README.md and what kind
85
110
of information to include in a CONTRIBUTING.md file in various open source projects.
86
111
Pages like [ how to write a readme that rocks] ( https://m.dotdev.co/how-to-write-a-readme-that-rocks-bc29f279611a ) ,
87
112
[ Open Source Guide from GitHub] ( https://opensource.guide/ ) as well as
88
- the book [ Producing Open Source] ( https://producingoss.com/en/producingoss.html ) all
89
- have valuable information on what kind of information to provide. In addition to that this
90
- pattern comes with two very basic templates to get you started right away.
113
+ the book [ Producing Open Source] ( https://producingoss.com/en/producingoss.html )
114
+ all have valuable information on what kind of information to provide. While
115
+ Producing Open Source does not have a chapter on writing a good README per se,
116
+ the [ Getting Started
117
+ chapter] ( https://producingoss.com/en/producingoss.html#starting-from-what-you-have )
118
+ does provide a fairly extensive list of things that fellow host team members,
119
+ users and contributors will need. InnerSource projects likely will not cover all
120
+ of those aspects right from the start, the list itself is helpful for
121
+ inspiration for what one could cover. In addition to that, this pattern comes
122
+ with two very basic templates to get you started right away.
91
123
92
124
# Resulting Context
93
125
0 commit comments