Skip to content

Commit f3c351f

Browse files
committed
Add howto documentation on issue tracker usage.
The way InnerSource projects use issue trackers differs from how traditional agile teams are using this technology. In order to avoid confusion because of that make the different use cases for issue trackers in InnerSource projects explicit.
1 parent 5f42f1b commit f3c351f

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

project-setup/issue-tracker.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Title
2+
3+
Issue tracker use cases
4+
5+
# Context
6+
7+
The InnerSource project tooling is all setup. However the project issue tracker
8+
is mainly used for sharing progress. In InnerSource projects there are many more
9+
use cases that an issue tracker can be used for that make remote, asynchronous
10+
communication easier.
11+
12+
# Problem
13+
14+
A team develops a component that many teams in the organization depend on. It
15+
uses a standard issue tracker for tracking open bugs and feature requests.
16+
However the context in each entry is very limited. As a result potential
17+
contributors have no way of knowing what change exactly each issue is talking
18+
about.
19+
20+
# Forces
21+
22+
- Contributors would like to understand whether the feature that they are
23+
missing is already on the roadmap. With a lot of context missing in issues
24+
though it is impossible to decide whether existing issues match the
25+
contributing team's needs.
26+
- As a result a lot of duplicate issues are being opened that the host team has
27+
to deal with.
28+
- As context in open issues is so limited contributors are unable to help the
29+
host team by implementing some of the easier issues that are open already. As
30+
a result a lot of work remains in the hands of the host team.
31+
- With a strong focus on verbal communication it is impossible to discern after
32+
a couple months or years why a certain feature was being chosen for
33+
implementation. As a result refactorings, in particular simplifying the
34+
component becomes an exercise in project archaeology and brain picking of people
35+
who remember what was discussed.
36+
37+
# Solution
38+
39+
Embrace the "written over verbal" philosophy not only for pure software
40+
development but also during the planning phase of new features:
41+
42+
- For bugs, planned features and feature ideas create separate issues. In each
43+
of those include as much information as possible so that potential external
44+
contributors are able to understand the context. Ideally, in particular for
45+
easier changes, include enough information for external contributors to
46+
support the host team by implementing the functionality in question.
47+
- Potentially use the issue tracker as a channel to ask questions. This is in
48+
particular helpful if you are lacking other communication sources to tackle
49+
user questions.
50+
- Make use of tags and categories in order to distinguish issues used for
51+
different purposes.
52+
- For starting a brain storming session asynchronously, open an issue for
53+
gathering ideas. When discussion is starting to calm down, summarize the
54+
points identified in this issue in a separate document. Post that for review
55+
as a pull request to drill deeper into individual points that still need
56+
clarification. The resulting document can be used to publish the results in
57+
other appropriate channels as well as for future reference.
58+
59+
# Resulting Context
60+
61+
- Making more use of the project's issue tracker for communication enables
62+
external contributors to follow along and make better decisions on what to
63+
contribute.
64+
- A focus on structured written communication enables host team members to
65+
participate remotely.
66+
- Consistently communicating in writing means that passive documentation on
67+
project decisions accumulates as a by product instead of needing added
68+
attention.
69+
- Consistently using public communication channels leads to more humans
70+
following a discussion. This means that there are more knowledgeable humans
71+
that can answer questions, chime in on open issues, or point out flaws in
72+
planned features that would otherwise be found only much later.
73+
- Moving discussions to a public discussion medium creates an opportunity for
74+
potential future contributors to lurk, follow along, get comfortable and learn
75+
the ways of the project long before they have the first need to get involved.
76+
77+
78+
79+
80+

0 commit comments

Comments
 (0)