Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update contribution-process.md #743

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions content/community/contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,6 @@ How to Get Involved</h2>
Review proposed components and/or sections of the design system and offer feedback.
{{</ card-start >}}

{{< card-start title="Join a Tiger Team" url="/community/tiger-teams/" class="bg-light py-4" header="team.svg" >}}
Contribute by <a href="/community/tiger-teams/">joining a Tiger Team</a> to work on a component or pattern with your fellow UX designers and engineers.
{{</ card-start >}}

{{< card-start title="Submit a UI pattern" url="/community/contribution-process/" class="bg-light py-4" header="design.svg" >}}
Propose a new design pattern to be added to Modus. Learn about <a href="/community/contribution-process/">the contribution process</a>.
{{</ card-start >}}
Expand All @@ -45,12 +41,16 @@ Propose a new design pattern to be added to Modus. Learn about <a href="/communi
Contribute code for a new or existing pattern to one of our repositories. <a href="https://github.com/trimble-oss?q=modus&type=public&language=&sort=stargazers">Go to GitHub</a>.
{{</ card-start >}}

{{< card-start title="Share Research Findings" url="/community/contact/" class="bg-light py-4" header="research.svg" >}}
Contribute UX research relevant to an existing pattern. Submission guidelines will be published soon!
{{< card-start title="Join a Tiger Team" url="/community/tiger-teams/" class="bg-light py-4" header="team.svg" >}}
Contribute by <a href="/community/tiger-teams/">joining a Tiger Team</a> to work on a component or pattern with your fellow UX designers and engineers.
{{</ card-start >}}

{{< card-start title="Submit an Icon" url="/community/contact/" class="bg-light py-4" header="icon.svg" >}}
Submit an icon consistent with Modus <a href="/foundations/icon-definitions/">icon definitions</a> to our icon library.
{{</ card-start >}}

{{< card-start title="Share Research Findings" url="/community/contact/" class="bg-light py-4" header="research.svg" >}}
Contribute UX research relevant to an existing pattern. Submission guidelines will be published soon!
{{</ card-start >}}

</div>
107 changes: 103 additions & 4 deletions content/community/contribution-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,17 @@ hideToc: true

The Modus Delivery Team is dedicated to maintaining a consistent, top-quality product. Accordingly, before any component is revised or added, it goes through a process of reviews and approvals.

The Modus contribution process is led by the Modus Approval Board (MoAB).

The Modus Approval Board (MoAB) is a cross-organizational team consisting of Senior UX Designers representing a variety of Trimble products in addition to the Modus Delivery Team. MoAB is focused on maintaining, organizing, reviewing, and pushing along component and pattern submissions to Trimble's Modus Design System leading the contribution process.

{{< img src="/img/guide/contribution-process.svg" dark="/img/guide/contribution-process-dark.svg" width="854" height="392" alt="Contribution Process" loading="auto" >}}

### 1. Understanding the design system and the process
Copy link
Collaborator

@msankaran0712 msankaran0712 Oct 26, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Having a flowchart or a pictorial representation of the process would be really useful. Sometimes people don't spend even 2 mins for reading. I hope we can consider this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msankaran0712 This was planned but we have a resourcing issue to solve.


During this stage you review our documentation, [Submission Guidelines](/community/submission-guidelines/), and process. You should also familiarize yourself with our design principles and foundations, which address visual design, UX, content, branding, and accessibility ([Foundations](/foundations/) section of Modus). Soon, you will also be able to review personas and user archetypes, so you can better understand who your design should serve.
During this stage you review our documentation, [Submission Guidelines](/community/submission-guidelines/), and process. You should also familiarize yourself with our design principles and foundations, which address visual design, UX, content, branding, and accessibility ([Foundations](/foundations/) section of Modus).

To ensure timely approval with a shorter production lead time, avoid overly complex submissions covering several components or including product specifics. This will reduce the need for iteration and revision of parts of the submission. As a result, a compact, well-outlined submission will be approved faster.

### 2. Submission

Expand All @@ -28,11 +34,41 @@ c.) The component has undergone usability testing with documented results or is

d.) The product team decides to propose the pattern to the Modus Approval Board (MoAB).

To submit your pattern, please follow the [Submission Guidelines](/community/submission-guidelines/). Upon submission, GitHub issue is created on the Modus Design System backlog. The pattern (along with all the provided documentation is assigned an ID and the submitting party is added as followers of the issue, so they can track the progress.
Modus submissions cover:

- Design submissions
- Engineering submissions

#### 2.1. Design Submission

To submit your pattern, please follow the [Submission Guidelines](/community/submission-guidelines/). Fill in the Submission Form and attach all necessary documentation as described in the guidelines.

Upon submission, a Clickup issue is automatically created in the "Submitted" column on the MoAB Board. MoAB meets weekly for reviews and handles incoming submissions. Please, allow five (5) business days for your submission to be reviewed. The submitting party is notified by the MoAB lead once their submission is reviewed.

#### 2.2. Engineering Submission
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kindly hold on with the Engineering Submission section, I would like @coliff to review

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is work in progress, no worries.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@soniakaukonen I would recommend adding a link to https://github.com/trimble-oss/modus-web-components/blob/main/CONTRIBUTING.md for more details on the contributing guidelines for web components.
@coliff Can we include Modus Bootstrap guidelines too ?


Before starting development, ensure the component is approved and updated in Modus Figma and Modus Style guide.
During development, only use Modus Figma and Modus Style Guide for reference.

a.) Familiarize yourself with the current code. Alternatively, if you would like the Modus team to guide you through it, feel free to reach out.

b.) Share your proposed implementation methods, coding strategies, component architecture. Discuss with the Modus Team to finalize an approach.

c.) Fork the repository and create a new branch. Once you have completed your development work, submit a pull request (PR).

d.) The MWC-Maintainers group on GitHub will initiate the PR review process and provide feedback by adding comments either on the PR itself or in the respective Google chat.

e.) If the topic is too complex or too large to be fully discussed in PR comments, schedule a meeting to clarify any questions and avoid any delays.

f.) Once all the comments on the PR have been addressed and the PR approved, the submitted component can be merged and released.

### 3. Review

Once an issue is entered into the backlog the Modus Approval Board (MoAB) reviews the new pattern submission, iterates it (if needed) with the submission author, and informs the Modus Product Manager about the final result. Patterns are reviewed according to the following criteria:
Once an issue is entered into the backlog MoAB board the Modus Approval Board (MoAB) reviews the new pattern submission within 5 business days, iterates it (if needed) with the submission author, and informs the Modus Product Manager about the final result. In complex cases, it is encouraged that the submission author could walk the MoAB Team through the submission themselves or provide screen capturing video snippets for better understanding.

#### 3.1. Evaluation

Patterns are reviewed according to the following criteria:

a.) Pattern is designed according to the current design standards (tokens, foundations, as put forward in the style guide and existing pattern library)

Expand Down Expand Up @@ -63,8 +99,71 @@ Some of the criteria used in the heuristic review include (but are not limited t

d.) Review usability tests or any other submitted research data.

You can track the status of submissions [here](/community/submissions-status/). The status can be approved, partially approved (if iteration needed), presented for evaluation by a [Tiger Team](/community/tiger-teams/), or marked not compliant with Modus.
#### 3.2. Tracking

You can track the status of submissions [here](/community/submissions-status/). The status can be approved, revision requested (if iteration needed), presented for evaluation by a [Tiger Team](/community/tiger-teams/), or marked not compliant with Modus.

<table class="table table-bordered">
<thead>
<tr>
<th>Status on Clickup</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>Submitted</td>
<td>
After filling in the submission form, your submission automatically appears on the MoAB Clickup board for review. MoAB strives for a lead time of five (5) business days until first feedback to the submission author.
</td>
</tr>
<tr>
<td>In Review</td>
<td>
Submissions scheduled for the next weeklyMoAB review meeting.
</td>
</tr>
<tr>
<td>Tiger Team Evaluation</td>
<td>
Submissions presented to the active Tiger Team leads for evaluation. Ideally, the submission author can connect with the Tiger Team leader for further discussion.
</td>
</tr>
<tr>
<td>Revision Required</td>
<td>
Part of the submission requires revision. MoAB lead will reach out to the submission author.
</td>
</tr>
<tr>
<td>Approved</td>
<td>
Submission is approved for further steps to be first incorporated into Figma and Style Guide and then moved to (engineering) production.
</td>
</tr>
<tr>
<td>In Production</td>
<td>
Ongoing incorporation into Figma, Style Guide, and Web Components. Trackable on GitHub.
</td>
</tr>
<tr>
<td>Non-Compliant</td>
<td>
Submission deemed not compliant to be part of Modus, but accepted as product-specific.
</td>
</tr>
<tr>
<td>Closed</td>
<td>
Production completed, pattern moved to maintenance and usage monitoring.
</td>
</tr>
</tbody>
</table>

### 4. Prioritization and recommendation

When the pattern is approved, it is prioritized and scheduled for a release. The Modus Delivery Team will make sure your pattern is added to all supported code and design libraries, conduct ongoing maintenance of your pattern, and monitor its usage.

After approval, the status on Clickup is “In Production” and a GitHub issue is created for Figma, Style Guide, and Web Components production. The submitting party is automatically notified as follower upon the change of status in GitHub. To speed up the design implementation process, the submission author can create a Figma branch and submit it for merge to the UI kit.