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

WIP: Reviewer & Contributor guides for docs #704

Closed
wants to merge 11 commits into from
Closed

WIP: Reviewer & Contributor guides for docs #704

wants to merge 11 commits into from

Conversation

it33
Copy link
Contributor

@it33 it33 commented Dec 5, 2016

High-level, I believe:

  1. We need explicit goal and principles to get everyone on the same page
  2. We need to verify PRs after they're merged
  3. We need a clear contributor's guide and reviewer's guide so everyone is using the same process and criteria
  4. When a PR comes in, we should be explicit about special reviews required (technical review, structural review, Sphinx-specific review, TOC-specific review, testing required, etc.) and the appropriate reviewers to make those approvals

I hope there's a change to review and get people's feedback on this draft, and test it out on some real PRs, e.g.:

WIP:

  • Need links to GitHub label queries plus pages that don't yet exist.
  • Needs place in TOC

@lindy65 lindy65 added the Work In Progress Not yet ready for review label Dec 5, 2016
Create a Ticket
---------------

1. **Select a Help Wanted ticket** - Please select a `HELP WANTED ticket <https://github.com/mattermost/docs/issues?q=is%3Aopen+is%3Aissue+label%3A%22Help+Wanted%22>`_ that you'd like address with your contribution, or create a new ticket to discuss an improvement you'd like to make and wait for a project Member to approve and add the `Help Wanted` label so the change will be accepted.
Copy link
Contributor

Choose a reason for hiding this comment

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

"you'd like address" is incorrect.
"project Member" seems weird.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed: 311bc77


If your update is small and an obvious improvement, you can skip this step and submit a PR directly.

2. **Become an Approved Contributor** - Please complete the `contributor license agreement <https://www.mattermost.org/mattermost-contributor-agreement/>`_ (a.k.a. "CLA"). This is a standard form for most open source projects and it adds your the approved contributor's list for the Mattermost open source project. There are answers to frequently asked questions in the link above.
Copy link
Contributor

Choose a reason for hiding this comment

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

"approved contributor's list" is incorrect. It should be "contributors"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed: 311bc77


2. **Become an Approved Contributor** - Please complete the `contributor license agreement <https://www.mattermost.org/mattermost-contributor-agreement/>`_ (a.k.a. "CLA"). This is a standard form for most open source projects and it adds your the approved contributor's list for the Mattermost open source project. There are answers to frequently asked questions in the link above.

3. **Create your Pull Request** - Please create a pull request for the documentation change you would like to make. Make sure to review and follow the `Style Guide <https://docs.mattermost.com/process/sg_mattermost-doc-style.html>`_. Please include a link to the Help Wanted ticket if you have one.
Copy link
Contributor

Choose a reason for hiding this comment

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

We should update the style guide URL before linking to it elsewhere, I think "sg" is confusing/"not obvious".

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Added XXX


3. **Create your Pull Request** - Please create a pull request for the documentation change you would like to make. Make sure to review and follow the `Style Guide <https://docs.mattermost.com/process/sg_mattermost-doc-style.html>`_. Please include a link to the Help Wanted ticket if you have one.

4. **(Optional) Meet the Documentation Community** - You can join the Mattermost Documentation channel on the community server and introduce yourself to other contributors and project members.
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is the link to the server not included here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed: 311bc77


1. **New PR submitted** - Each PR created sends a notification to the `Documentation Channel <https://pre-release.mattermost.com/core/channels/documentation>`_ on the Mattermost contributors server, alerting reviewers.

2. **Triage** - Project Member assigned to triage reviews doc repo within 1-2 working days and applies labels appropriate "approval required" labels. Use **Saved Reply** template linked to this page to let submitter know what to expect.
Copy link
Contributor

Choose a reason for hiding this comment

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

"applies labels appropriate "approval required" labels" is incorrect.

Also the "approval required" labels is not very clear, we should link to somewhere explaining the labels.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed: 311bc77

Will add link later XXX


- Please read `Contributor's Guide for docs.mattermost.com XXXXXX <XXXX>`_ for the process by which Approved Contributors submit PRs and engage with reviewers.

Review Labels
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not really sure I agree with the labeling concept, it seems very confusing for people external to the team. But I guess you've considered that and still think it's important to do?

Copy link
Contributor

Choose a reason for hiding this comment

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

Also do we only need one review then?
And what about "Content review"/"Accuracy review", is that covered by the Style Guide review....? If so, Style Guide review seems like a weird name and a little limiting.

Copy link
Contributor

Choose a reason for hiding this comment

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

Also I'm a little confused by the "Post-Merge Editing Required" label, why would we merge something that still needs to be edited? In what cases would it be appropriate to use this?

What would a minor correction be? Do we want to be merging docs with spelling errors and fixing them afterwards?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

While I don't think the labels system is perfect, I think reviewers have different areas of expertise and levels of skill and aren't interchangeable. Some reviewers may be more technical, some have stronger grammar, and we need a system that delivers a process as the sum of our strengths.

I think we should review the system, implement it as a pilot and evaluate the pros and cons vs. other options.

I'm fine changing Style Guide to another name, as well as changing Needs ... Approval labels, etc. The goal is "sum of our strengths" in my mind.

Editing would be after a merge--or maybe they're able to edit in a staging environment of some kind. I think the role is traditional editor


- **Approved Contributor** - Anyone who's completed the CLA. This is the minimum role to submit a PR for review.
- **Project Member** - Approved Contributor granted ability to apply labels. Often a staff member from Mattermost, Inc.
- **Project Member Reviewer on call** - Member assigned to review PRs in certain approval categories.
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is it "on call", are people assigned this role over time periods? It's not very clear.

PR Review Process for Reviewers
---------------------------------------

The following process is used determine how reviewers on-call leave feedback on doc PRs submitted:
Copy link
Contributor

Choose a reason for hiding this comment

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

why is it "on-call" here and "on call" above? If you're using it as an adjective, I think it would be "on-call reviewers"?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed to "on rotation"


The following process is used determine how reviewers on-call leave feedback on doc PRs submitted:

1. **Reviewers** - Reviewers on call should `browse open doc PRs <https://github.com/mattermost/docs/pulls>`_ at least once daily while on-call, and leave feedback, approve or merge any open PRs.
Copy link
Contributor

Choose a reason for hiding this comment

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

Are you going for "while on-call" as an adjective? It's a little weird when you use it as a verb above.


1. **Reviewers** - Reviewers on call should `browse open doc PRs <https://github.com/mattermost/docs/pulls>`_ at least once daily while on-call, and leave feedback, approve or merge any open PRs.
2. **Verifiers** - Verifier on call should `browse query of PRs needing verification XXX<linked_needed>`_ at least once daily while on-call and verify and acknowledge PRs as appropiate. If there's an issue, Verifier should message Reviewer to submit a PR to correct issues.
3. **Editors** - Editor on call should `browse query of PRs needing editing XXX<XXX>`_ daily and submit a PR with appropriate edits.
Copy link
Contributor

Choose a reason for hiding this comment

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

How will editors know what to edit? Does this need to be stated in the PR comments somehow? This should be made clearer.

@lfbrock lfbrock added the Awaiting Submitter Action Blocked on the author label Dec 5, 2016
@it33 it33 removed the Awaiting Submitter Action Blocked on the author label Dec 9, 2016

The following labels are used to indicate the type of review required for each doc PR:

- **Needs Style Guide Approval** - Review for `style guide requirements <https://docs.mattermost.com/process/sg_mattermost-doc-style.html>`_, and specifically:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Need to add "Needs accuracy approval" for checking functionality matches documentation


- **Needs Verification & Acknowledgement** - docs.mattermost.com needs to be verified and acknowledgement added to PR.

- **Post-Merge Editing Required** - PR can be merged and someone will follow-up with edits for minor corrections.
Copy link
Contributor Author

@it33 it33 Dec 12, 2016

Choose a reason for hiding this comment

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

Change to pre-merge edit, and clarify use case--add a clear comment of what is not matching style guide

@JeffSchering
Copy link
Contributor

Just curious... how does the "Edit on GitHub" link figure into the process for contributors?

- **Level 4** - 95%+ track record of correct reviews or maintainer of doc repo.

Extended periods of consistent performance are recognized by level increases. Repeated inconsistency reduces an reviwers level.

Copy link
Contributor

Choose a reason for hiding this comment

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

A few questions about the levels:

  1. What's the difference between a "good review" in Level 2, and a "correct review" in Levels 3 and 4?
  2. Do you keep a record of reviewers and their ratings and their progress towards the next level? Is that record public?
  3. How does everyone know who has what level?
  4. Do higher ratings have greater responsibilities? Any perks? Special powers?

2. **Triage** - Project Member assigned to triage reviews doc repo within 1-2 working days and applies the `appropriate "Needs ... Approval" labels to indicate required approvals XXX <XXX>`_. Use **Saved Reply** template linked to this page to let submitter know what to expect.

3. **Reviews** - Within 5-10 working days, for each `"Needs ... Approval" XXX <link to labels explaination>`_ label, reviewers on rotation either a) leave feedback or b) mark PR "Approved" and remove the appropriate label. The reviewer requiring changes adds "Awaiting Submitter Action" label if it is not yet applied. After submitter addresses feedback, the 5-10 working day clock restarts.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think in practice, "5-10 working days" will end up being "10 working days", which seems kind of long.

- **Post-Merge Editing Required** - PR can be merged and someone will follow-up with edits for minor corrections.

- **Awaiting Submitter Action** - Merge should not happen until feedback is addressed. Note: This label should be applied for any work-in-progress PR, a separate label is not needed.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think the labels might be too granular. I think if you create roles such as Reviewer, Technical Reviewer, and Editor, the people with those roles should be responsible for making sure that, for example, the changes are tested or the Sphinx output is verified. And then the labels would be of a different nature... "Review Required", "Technical Review Required", "Copy Edit Required", and the like.

@amyblais
Copy link
Member

amyblais commented Jan 3, 2019

Closing this as this has been open with no activity for a while - it can always be re-opened if needed.

@amyblais amyblais closed this Jan 3, 2019
@cpanato cpanato deleted the docs branch January 12, 2019 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Work In Progress Not yet ready for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants