Skip to content

Commit 9b8b141

Browse files
authored
Merge pull request #123 from MaineC/issue-tracker-usage
Add howto documentation on issue tracker usage.
2 parents 76951d8 + 4c316f1 commit 9b8b141

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

project-setup/issue-tracker.md

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

0 commit comments

Comments
 (0)