Skip to content

Commit 6f2e99f

Browse files
committed
Add first pattern on base documentation.
This relates to #114 It takes a first stab at writing up the basics of InnerSource project setup starting with adding base documentation.
1 parent 5f42f1b commit 6f2e99f

File tree

1 file changed

+105
-0
lines changed

1 file changed

+105
-0
lines changed

project-setup/base-documentation.md

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Title
2+
3+
Standard base documentation
4+
5+
# Context
6+
7+
A project is to be shared with others as an InnerSource project. In order for
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.
10+
11+
# Problem
12+
13+
A team wants to share either a freshly started or a pre-existing project with
14+
the wider organization and receive contributions to it. Potential contributors
15+
often are lost: They are failing to identify the team's preferred communication
16+
channels. They have trouble quickly making a judgment about whether a new
17+
feature makes sense to be added or not. They have a hard time understanding
18+
exactly which colleagues are currently actively maintaining the project.
19+
20+
# Forces
21+
22+
- A lack of documentation leads to potential contributors taking a long time to
23+
get setup and get started.
24+
- Project members are spending a lot of time answering getting started
25+
questions.
26+
- Different teams withing the organization have diverging standards for how to
27+
format source code and which software patterns to use. As a result
28+
contributions often end up getting re-written to a large part or even
29+
entirely.
30+
- The added work for repeated explanations and re-writes diminishes the
31+
usefulness of the InnerSource approach.
32+
- Frequent escalations due to extra work and delays due to re-writes lead to a
33+
big cheese situation.
34+
35+
# Solution
36+
37+
Address the need for clearer documentation for new contributors. The goal when
38+
creating this documentation should be to make getting started as much a self
39+
service process as possible with frequently asked questions answered in standard
40+
documentation format.
41+
42+
If it does not yet exist, create a **README.md** for your project. It should
43+
contain:
44+
45+
* The [mission of the
46+
project](https://producingoss.com/en/producingoss.html#mission-statement) in
47+
as a concise format as possible. It should answer what the project's purpose
48+
is and enable contributors to make a good first guess whether a suggested
49+
feature will likely be in scope for the project, or not.
50+
* A "Getting Started" section for downstream users of the project. It should
51+
explain how to setup/ integrate the project artifacts as well as an
52+
explanation of some of the first typical steps for first time users.
53+
* Deeper documentation for project users - or a link to that.
54+
* Documentation needed for making modifications to the project - or a link to
55+
that.
56+
* Documentation on how to contribute to the project - or a link to that.
57+
* A "Getting involved" section that explains which public, archived, linkable
58+
communication channels the project uses. This should include a link to the
59+
project issue tracker, but also to any further discussion media used.
60+
* A "Who we are" section explaining who the Trusted Committers behind the
61+
project are - with an explanation that instead of contacting these people
62+
privately the public communication channels above should be used for
63+
communication.
64+
* An explanation of what the criteria are for the project to turn contributors
65+
into Trusted Committers - if that path exists.
66+
67+
If the explanation of the steps to make a contribution are too involved, create
68+
a separate **CONTRIBUTING.md** document. This document should answer frequently
69+
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
71+
needed by contributors. Likely it will touch upon one or more of the following
72+
topics:
73+
74+
* How to checkout the project source code from version control.
75+
* How to make modifications to the project (potentially including information on
76+
coding guidelines.)
77+
* How to build the project.
78+
* How to run tests to make sure the above modifications aren't introducing new
79+
bugs.
80+
* How to submit your modifications back to the project.
81+
* Some information on which turnaround time to expect for modifications made.
82+
83+
# Resulting Context
84+
85+
* The time for contributors to get up to speed is significantly reduced.
86+
* Time spent on answering initial questions for Trusted Committers is
87+
significantly reduced leaving them more time to work on other tasks.
88+
* Escalations due to misunderstandings and misalignment are significantly
89+
reduced.
90+
91+
# Known Instances
92+
93+
Europace AG, Paypal Inc.
94+
95+
# Authors
96+
97+
* Isabel Drost-Fromm
98+
99+
# Acknoledgements
100+
101+
102+
# State
103+
104+
Drafted in December 2019.
105+

0 commit comments

Comments
 (0)