Change Management

Hero image for Change Management

Compass has been thought out as a living document that constantly evolves. Nothing is set into stone. Ever. The team always finds better ways to do the same things or comes up with entirely new things to do. As a need, we need to keep Compass in sync with our processes. 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.

Go to 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 we need to add a new one, 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.

Discussion Templates

Currently, the team has a template that must be used for RFC discussions:

RFC template

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

- [ ]
- [ ]
- [ ]