Sam suggests that we all (in our various stakeholder roles), start with our own proposals for how to do things in this GCC community. My (Sam’s) proposal:
7 Components To A HOWTO:
-
Review State: PROPOSED, WIP, RFC, ADOPTED
- Proposed: someone has suggested that this HOWTO be created
- WIP: this is work in progress, not ready for review, but available for co-authorship
- RFC: completed draft, requesting comments
- Adopted: After some reasonable period AFTER RFC without objection, the HOWTO will be ADOPTED.
- It is then available for practice
- and improvement.
- From “Adopted”, it can revert back to WIP if it needs revision
(see different HOWTO)
-
Objective desired. What is the problem to be addressed?
- What are we trying to maintain? achieve? protect?
-
What are the preconditions? What needs to be true in order for this HOWTO to be applicable?
- What conditions describe the state of the community that can be addressed by this HOWTO?
- Each condition should be easily decidable / testable
-
What are the postconditions? How is the postcondition different from the initial state, before HOWTO application?
- After application of this HOWTO, what conditions describe the state of the community?
- Most helpful / best when stated as clearly testable conditions
-
Actual HOWTO
- The recommended procedure / process / guidelines / practices / heuristics… for how to do this, guided by #2, #3, #4
-
Related HOWTO’s (if any)
-
Update log (revisions)
- Date, Who, What – of change
So for THIS HOWTO:
-
Review State
-
RFC (as of 20171224)
-
-
Objective desired:
- Community members would like to know how to write up a HOWTO
- In a common structure that is specific and understandable
- This HOWTO provides a way for the community to write up and share helpful guidelines, agreements, procedures, practices, protocols
- The corpus of HOWTOs allow fine-grain improvements / learning / revisions
- Not everything needs to be changed in order to evolve our practices one small step at a time
-
Precondition:
- There exists no clear HOWTO for how to create a HOWTO.
- If this precondition does not apply, then this HOWTO does not apply, and a new “HOWTO Create a HOWTO” is unnecessary.
- There exists no clear HOWTO for how to create a HOWTO.
-
Postcondition:
- There will exist this DRAFT HOWTO (for how to create a HOWTO) in RFC review state.
- This HOWTO will be specific and clear when guiding authors of new HOWTOs
5. Actual HOWTO Create a HOWTO
-
Determine a need –
- Did you want to
- do something / take an action / make a decision
- that is adopted by the community, and
- know that it had implications for others in the community, and
- not be clear how to do it?
- Did you check to see if there was a related HOWTO already that could be adapted, revised, expanded, specialized… to cover this new something?
- Recommended: Use HOWTO Find a HOWTO
- Did you want to
-
DRAFT it up
-
Use the template suggested below (enclosed / attached to this document)
-
Name it: HOWTO <action> – <MyID>
-
Initial Review State: PROPOSED (until draft is written)
-
Objective desired:
-
State the objective(s)
-
-
What are the preconditions?
-
State the preconditions
-
in a way that is easy to test / verify
-
-
What are the postconditions?
-
State the postconditions
-
in a way that is easy to test / verify
-
-
Propose in sufficient detail the HOWTO steps / instructions / guidance / procedure / etc you think works for the culture we are co-creating.
-
Put it in a publicly reviewable place
-
Recommended:
- Google Docs GCC HOWTOs Folder
-
Recommended: Add to HOWTO Index
-
Mark “Review State” as RFC
-
Announce it, and ask for review
- Facebook GCC Group
- Any groups that you feel would attract attention from GCC members
- Set end / due date for reviews / comments / suggested revisions
-
Accommodate review feedback, ideally in public discussion thread (threaded by your announcement, with link to the HOWTO itself)
- Do the best possible to accommodate review feedback
- If feedback is not accommodated, provide good discussion & rationale (cite original objectives or group culture, values, etc)
-
-
This HOWTO is now subject to a group adoption process
- Not specifically addressed by this HOWTO
-
Recommended: Use HOWTO Adopt a HOWTO
TEMPLATE:
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
TEMPLATE for creating a new HOWTO (can be copied / pasted)
Name: HOWTO <<do something >> – <<Author>>
- Review State: one of (PROPOSED, WIP, RFC, ADOPTED)
- Objective desired.
- What is the problem to be addressed?
- What principles are to guide the HOWTO?
- What objective / outcomes desired?
- What are the preconditions?
- What needs to be true in order for this HOWTO to be applicable?
- a condition that is easily testable / verifiable
- What are the postconditions?
- How is the postcondition different from the initial state, before HOWTO application?
- a condition that is easily testable / verifiable
- Actual HOWTO.
- Write up HOW to do this action
- Related HOWTOs
- Update Log
- When / Who / What (table form is suggested / recommended – see below)
= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
Better template is here.
6. Related HOWTOs
- TBD, TBI
7. Update Log
When | Who | What |
20171016 | Sam Hahn (SSYH) | First Draft |
201712250242PT | SSYH | Second Draft |
201808072116PT | SSYH | Moved to Google Docs (was in Slack), some reformatting. Added link to HOWTO template. |