This document outlines the process that should be followed in proposing, planning and implementing an improvement to The Odin Project. It encompasses large curriculum improvements or additions, features on the main site, and potentially other related projects such as restructuring the chatroom or adding features to odin-bot.
Features and ideas are thrown around in our various discussions all the time. The purpose of defining this process is to define a concrete progression into which we can funnel these ideas so that we can have discussions and make real progress towards their implementation and completion.
- A feature, project, curriculum addition, etc. is discussed and selected for development.
- An issue is created in the "discussions" repo for further expansion and discussion.
- A person or small group (2-3 at most to keep things moving) will "champion" the idea. They will flesh it out and create a proposal using the sample-proposal document as a guide. The champion team should be small and in most cases should not expect to do all of the dev work themselves.
- Proposal is presented to the team, and iterated on until a majority of the team is happy or project is deemed unneeded/inappropriate for TOP
- TODO: decide on and implement a concrete process for approval.
- Champion or Champion team creates a project-board on Github and project-branch. This team is responsible for creating issues, assigning work, recruiting help, and approving PRs.
- Maintainers review the final PR and request changes or merge the final PR.
- Champions are put on standby to keep an eye on their feature and fix bugs as needed for X amount of days/weeks/months