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

Feature Proposal Procedure #51

Merged
merged 10 commits into from
May 31, 2018
Merged

Feature Proposal Procedure #51

merged 10 commits into from
May 31, 2018

Conversation

jasondegraw
Copy link
Contributor

Add a document describing how changes and new features are proposed and integrated into the repo. Addresses part of #47.

@jasondegraw jasondegraw requested review from nllong and fieldkm May 18, 2018 06:08
Copy link
Contributor

@fieldkm fieldkm left a comment

Choose a reason for hiding this comment

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

I like this and agree with the overall process. I put one question about items 5 and 6 in the Implementation section. If we come to agreement with that, then I'm fine with what you have proposed here.

2. The proposer creates a GitHub pull request that adds the document to the proposal directory in a subdirectory named for the year in which the submission is being made (e.g. proposals/2018/Add_New_Feature_XYZ.md).
3. The proposer, the BuildingSync team, and other stakeholders and interested parties discuss the proposal and make modifications using the GitHub pull request discussion facility. At the conclusion of this process, the proposal is accepted or rejected.
4. If the proposal is accepted, it is merged and the appropriate GitHub tracking procedure (issue, project, etc.) is initiated to track progress toward completion.
5. The change is made by the appropriate developer (not necessarily the proposer or a BuildingSync team member) following the contribution policy.
Copy link
Contributor

Choose a reason for hiding this comment

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

For #5 and #6, my only question would be how we determine who the appropriate developer is. I do agree that it's important to specify that this person isn't necessarily the proposer or a team member, though.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@fieldkm Ideally, a lot of the time it would be the proposer. But I can think of cases where it would need to be someone else (lack of availability, etc.). I guess in cases where it would not be the proposer doing the changes, the "who" should be decided in an earlier step. I could include "identification of the appropriate developer" as part of item 4, before merging. How about:

  1. If the proposal is accepted, a developer is identified (not necessarily the proposer or a BuildingSync team member) and the pull request is merged. The appropriate GitHub tracking procedure (issue, project, etc.) is initiated to track progress toward completion.

I know that leaves the "how" a little murky, but I think that's OK in this case if selection is required before the proposal is finally accepted.

Copy link
Contributor

Choose a reason for hiding this comment

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

I agree - this is a good compromise. It probably wouldn't work well to anticipate every possible appropriate developer anyway. Your solution here looks good to me.


1. The proposer writes a Markdown document, modeled on this document, that succinctly describes the changes that are proposed.
2. The proposer creates a GitHub pull request that adds the document to the proposal directory in a subdirectory named for the year in which the submission is being made (e.g. proposals/2018/Add_New_Feature_XYZ.md).
3. The proposer, the BuildingSync team, and other stakeholders and interested parties discuss the proposal and make modifications using the GitHub pull request discussion facility. At the conclusion of this process, the proposal is accepted or rejected.
Copy link
Member

Choose a reason for hiding this comment

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

who decides on the final "accepted/rejected" criteria? Is it a vote?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@nllong I guess so, but maybe with the project lead making the final call if there isn't a clear consensus. How about adding this additional sentence:

If a clear consensus cannot be reached to accept or reject the proposal, the project lead will decide if the proposal should be accepted.

Copy link
Member

@nllong nllong May 31, 2018

Choose a reason for hiding this comment

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

sounds good. Just wanted to make sure that it was clear. "If a clear consensus cannot be reached to accept or reject the proposal, the project lead will decide if the proposal should be accepted." makes sense. Were you planning on adding that text? (Or maybe I missed it).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@nllong Adding the text now.

1. The proposer writes a Markdown document, modeled on this document, that succinctly describes the changes that are proposed.
2. The proposer creates a GitHub pull request that adds the document to the proposal directory in a subdirectory named for the year in which the submission is being made (e.g. proposals/2018/Add_New_Feature_XYZ.md).
3. The proposer, the BuildingSync team, and other stakeholders and interested parties discuss the proposal and make modifications using the GitHub pull request discussion facility. At the conclusion of this process, the proposal is accepted or rejected.
4. If the proposal is accepted, a developer is identified (not necessarily the proposer or a BuildingSync team member) and the pull request is merged. The appropriate GitHub tracking procedure (issue, project, etc.) is initiated to track progress toward completion (e.g. a GitHub issue assigned to the developer).
Copy link
Member

Choose a reason for hiding this comment

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

If the proposal is accepted, new GitHub issues are created to track the development (or a GitHub Project if it is a larger proposal), and a developer is assigned to the issues (not necessarily the proposer or a BuildingSync team member). The "proposal" pull request is merged."

@jasondegraw
Copy link
Contributor Author

@nllong I've made a few additional changes (e.g. adding project lead decision to the acceptance of implementation). One thing we haven't specified is PR reviewer. Should we do that as well?

@nllong nllong merged commit 937b54d into develop May 31, 2018
@nllong nllong deleted the feature-request-proposal branch June 1, 2018 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants