|
| 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