How to submit an open source contribution for Product Review


Introduction

The objective of this document is to define the product review process for advancing new features or changes to current functionality.

How should new product ideas and code contributions be managed?

  1. All new product ideas - regardless of whether they will be developed or not - must adhere to this product review procedure.

  2. Product proposals will only be considered if they align with the latest release.

  3. Any code contribution submitted as a pull request without a prior product proposal will not undergo review until a proposal is submitted.

    1. All individuals should cease code reviewing/developing the PR.

    2. The team responsible for the pull request must create a proposal and follow the product review process.

    3. Our aim is to prevent wasted time, both for the code reviewer and the developer, by avoiding reviewing items that have not undergone product review.

Contributions used to undergo product review only after PRs were submitted and development work was finished. A new process is being implemented where product review and approval will take place earlier, before PR submission. This change guarantees that when PRs are submitted, the community and all stakeholders involved have already agreed on the specifications and expected behavior of the contribution.

Does my contribution require Product Review?

If the answer is “yes” to any of the following questions, then your contribution requires Product Review.

  1. Does this change or impact a feature that a learner would interact with?

  2. Does this change or impact part of the authoring flow?

  3. Does this change or impact the experience of configuring content or a course run?

  4. Does this change or impact reporting?

  5. Does this change impact any user-facing feature or functionality in one or more of the following ways: it changes the look, changes the behavior, removes functionality, and/or adds new functionality, in one or more of:

    1. LMS (including legacy LMS code as well as all non-Studio MFEs)

    2. Studio (including Studio MFE)

    3. Content Libraries

    4. If you are not sure, please try to gather more information and/or reach out to the Product Working Group for assistance

  6. Does this change impact the initial installation or the upgrade of the instance?

  7. Does this change impact a course’s OLX?

Even if a feature is being built behind a feature flag, it must go through the Product Review Process. If said feature is never intended to be part of the Core Product, then it’s better built as a plugin.

How should new product ideas and code contributions be managed?

  1. All new product ideas - regardless of whether they will be developed or not - must adhere to this product review procedure.

  2. Product proposals will only be considered if they align with the latest release.

  3. Any code contribution submitted as a pull request without a prior product proposal will not undergo review until a proposal is submitted.

    1. All individuals should cease code reviewing/developing the PR.

    2. The team responsible for the pull request must create a proposal and follow the product review process.

    3. Our aim is to prevent wasted time, both for the code reviewer and the developer, by avoiding reviewing items that have not undergone product review.

Contributions used to undergo product review only after PRs were submitted and development work was finished. A new process is being implemented where product review and approval will take place earlier, before PR submission. This change guarantees that when PRs are submitted, the community and all stakeholders involved have already agreed on the specifications and expected behavior of the contribution.

Does my contribution require Product Review?

If the answer is “yes” to any of the following questions, then your contribution requires Product Review.

  1. Does this change or impact a feature that a learner would interact with?

  2. Does this change or impact part of the authoring flow?

  3. Does this change or impact the experience of configuring content or a course run?

  4. Does this change or impact reporting?

  5. Does this change impact any user-facing feature or functionality in one or more of the following ways: it changes the look, changes the behavior, removes functionality, and/or adds new functionality, in one or more of:

    1. LMS (including legacy LMS code as well as all non-Studio MFEs)

    2. Studio (including Studio MFE)

    3. Content Libraries

    4. If you are not sure, please try to gather more information and/or reach out to the Product Working Group for assistance

  6. Does this change impact the initial installation or the upgrade of the instance?

  7. Does this change impact a course’s OLX?

Product Review Process

Anyone within the community can create a Product Proposal. To submit a Product Proposal, follow the steps outlined below:

Step 1. Product Submitter Creates Proposal

  1. Choose your template:

    1. Contribution solves a problem and includes a solution, or

    2. Contribution identifies a problem, but requires discovery

  2. Ensure your proposal is added to the Proposed section on the wiki

  3. Add early-stage concept wireframes to your proposal only if it has a strong likelihood of approval. This ensures UX/UI resources are utilized effectively

Step 1. Product Submitter Creates Proposal

Step 2. Product Coordinator Coordinates Reviews

Step 2. Product Coordinator Coordinates Reviews

Step 3. Product Submitter Incorporates Review Feedback

Step 3. Product Submitter Incorporates Review Feedback

Step 4. Product Coordinator Manages Approval Process

Step 4. Product Coordinator Manages Approval Process

Step 5. Teams Execute Product Proposal

Step 5. Teams Execute Product Proposal

Definitions

Access to GitHub