Rename the page to the name your new component plus a 🚧 emoji. The 🚧 emoji to denotes that the component is a proposal that is still in draft.
Put the page in alphabetical order.
Design your component, including any documentation needed to describe its function or annotations for engineering to get it built.
The proposal should start as a DRAFT. Work through the proposal states below to take your proposal from DRAFT to READY For Review to APPROVED TO ADD.
The proposal is just an idea. Discussions on the draft serve to gather feedback and help prepare the idea to be READY For Review.
READY For Review
The proposal is ready for a review when it has: A succinct use case and purpose, a general description of behavior or variants, and a design reflected in at least a wireframe level fidelity.
Proposal Reviews start in person in the Paragon Working Group meeting and continue on Slack if needed. To get on the meeting agenda make a post in the #paragon-working-group channel on Slack.
The group will consider the following:
Review the use case from the UX and A11Y perspectives and come to an understanding of the need.
Should this component live in Paragon?
Determine if the use case is unique. If so, it should remain be a one-off solution.
Do we agree on what to name this component?
Reviews move the proposal to APPROVED TO ADD, DEFERRED, or NEEDS CHANGES
APPROVED TO ADD
An accepted proposal is ready for further design and engineering work. A proposal is accepted with three approvals (minus the proposer), one from each UX, UI, A11y, and Eng. Once accepted the proposer should begin building out the component spec with UX/UI/Eng/A11y (if they have not already).
A deferred proposal should be designed and built as a one-off where it is needed. Move the proposal to a new folder in this space (TODO: when this happens the first time add a folder in the wiki in an appropriate location)
A proposal needs changes to become READY For Review again.
Step 2 – Get your proposal approved at the Paragon Working Group
Step 4 – Create a Jira ticket to implement the component
Engineering resourcing for implementing Paragon components is currently ad-hoc. Squads that need the component are ideally responsible for the work, but some times it’s too much work to take on in the near term. This is an ongoing challenge to be aware of.
Add a link to the Jira ticket in the Figma or Confluence proposal.
Step 5 – Implement the component in React
Tip: Before you start implementing your component, it us helpful to write example of how you would want to use this component as if you had already written it then and share that with others. Getting feedback on props api or component naming early on can reveal key concerns you may have missed and save time.
Send a link to the component proposer for QA. When the Jira ticket is ready for review the engineer responsible for the work should sends a link to the proposer of the component for review. The Paragon github repo creates deploy previews of pull requests. These links are useful to send for QA.
Step 6 – Finalize the design and technical documentation &
Based on the QA findings from design
ENGINEER: Fixes bugs/design implementation issues, and ships.
Paragon is automatically released after merge by analyzing git commit names (fix: … and feat:…) using semantic-release.
PROPOSER: Makes any needed updates to design spec for documentation.
Announce and evangelize the new design pattern throughout edX!
Share in Slack channels (#fedx and #experience_team)
Have a drink or two (2 drinks per pattern is the recommended amount of drinks)