CPD-1: CPD Process¶
Metadata¶
- CPD Version: 1
- Status: Accepted
Description¶
Commissaire Proposal Documents (CPD) provide a consistent way to propose large changes to the project for review.
Rationale¶
Most changes to Commissaire are small, iterative enhancements and bug fixes. When a larger change to the project may make sense a CPD provides a formalized way to propose the change, request review, and refine the idea until it is either accepted or rejected.
Design¶
CPD Process¶
The following process should be followed when a CPD is needed:
- Open up an Issue with a brief description
- Note in the Issue that a CPD will be created
- Create an initial CPD
- Update the Issue with a link to the CPD and request feedback
- Update the CPD as needed and ask for feedback
- Accepted/Closed Phase
- If 75% or more of the active development team give the CPD a
:+1:
it is Approved- If 50% or more of the active development team disagrees with the CPD it is Closed
- If the person proposing the CPD no longer wishes to continue they can request it to be Closed
- If none of the above is met the cycle can continue to 5.
- The current development lead(s) pull in the CPD to the docs folder and update the status
- The current development lead(s) update the issue with the result
Naming¶
Each CPD will have a unique number associated with it. As an example, this
CPD will have the number 1
and should be referenced as CPD-1
. The CPD number
shall be the same as any issue number opened. As an example, if there is an
issue #10 that needs a larger design then the CPD would be CPD-10
.
Outline of a CPD¶
Label | Parent Label | Description |
---|---|---|
Name | None | CPD name. Ex: CPD-1 . |
Metadata | Name | CPD CPD Version, Status (Open , Closed , Accepted ) |
Description | Name | Short description of the CPD. |
Rational | Name | Why there is a need to make the change. |
Design | Name | Deep dive into changes. May have subsections. |
Checklist | Name | Important items to note. |
User Story | Name | User story that would be used to implement the change. |
Acceptance Criteria | Name | Criteria that must be met for the change to be considered complete. |
References | Name | Any helpful external links. |
CPD Status¶
The status of a CPD will be changed to Accepted if and when 75% or more of the
active core development team gives the CPD a :+1:
. It is the job of at least
one of the development leads to update the CPD to Accepted status and note it is
accepted in the related issue(s).
Checklist¶
- breaks API backward compatibility
- breaks user interaction backward compatibility
- requires new or replaces current libraries
User Story¶
As a developer on Commissaire I want a formalized way to propose large changes so that the larger group can help refine the ultimate solution.
Acceptance Criteria¶
- Verify that a template for proposals is created
- Verify that a proposal that describes the process is created
- Verify that documentation is updated