Change Management
Compass has been thought out as a living document that constantly evolves. Nothing is set in stone. Ever.
The team always finds better ways to do the same things or comes up with entirely new things to do. To ensure Compass remains aligned with evolving processes, the team recognizes the need to keep it in sync. This document provides how the team manages to make changes to Compass.
GitHub Discussions
While GitHub Issues are defined for pieces of work (features, chores, bugs, or content), GitHub Discussions are used to share ideas that require team collaboration to make a decision and ask questions that can benefit the whole team.
At Nimble, GitHub Discussions are the preferred way to ask questions and collect feedback for ideas via Request For Comments (RFC). Hence all contributors must follow the below guidelines for GitHub Discussions.
Discussion Categories
GitHub Discussions for Compass is used for:
- Asking questions
- Sharing ideas
- Collecting feedback
Therefore, team members should create a new discussion in the appropriate category. The available categories are:
-
Q&A:
- When having a question about a pull request, issue, or problem, create a Q&A discussion to get help from the team.
- After the discussion is resolved, mark which answer solved the problem so that other team members can find it easily.
-
RFC:
- RFC on Compass is not limited to adding features or changes to Compass. It can be anything that requires team collaboration to make a decision:
- A development convention addition or change, i.e., there are no guidelines on how to do a specific development task or the current guidelines are inefficient, so they need to be changed.
- A process addition or change in an area, i.e., there is no process, so a new one needs to be added, or an existing process is inefficient, so it needs to be changed.
-
When creating a new RFC, the team member should provide a detailed written proposal of the idea and the recommended solution. They should also provide a list of the pros and cons of the idea, and a poll to collect feedback from the team.
- After the discussion is resolved, the team member should update the RFC with the decision, and create a new issue to implement the idea.
- RFC on Compass is not limited to adding features or changes to Compass. It can be anything that requires team collaboration to make a decision:
Discussion Templates
Currently, the team has a template that must be used for RFC discussions:
## Issue
Describe the issue the team is currently facing. Provide as much content as possible.
## Solution
Describe the solution you are prescribing for the issue
## Who Benefits?
Describe who will be the beneficiaries e.g. everyone, specific chapters, clients...
## What's Next?
Provide an actionable list of things that must happen in order to implement the solution:
- [ ]
- [ ]
- [ ]