Description
( @jezdez asked me to summarize our conversation at PyConUS2024 in this repo )
Clarifying the path to Roadie, and setting them up for success
Most of the work is currently falling on the shoulders of one person. We need to make it easier to share the load and increase the community of Roadies. I can propose some structures that I have found to be useful in expanding shared understanding and creating a smooth transition for newcomers.
Office Hours
A scheduled opportunity to answer questions and clarify topics of interest to the group. The general agenda sequence can be something like this:
- The moderator(s) introduce themselves and describe the goals of the meeting
- Anyone here for the first time get a chance to introduce themselves (or gets the chance to decline)
- The introduction is: Name you prefer, preferred pronouns, one thing you would like to get from the meeting.
- Questions from the audience
- Questions submitted in advance
- Conclusion with a retrospective:
- Something you want to repeat.
- Something you want to do differently.
Ensemble programming
Working on code as a group, using a method consisting of several pre-defined roles. Each member of the group takes turns rotating through the roles. Typically the roles are:
- Driver: the person at the keyboard. The driver gets instructions (only) from the navigator.
- Navigator: the person communicating with the rest of the group and deciding which instructions to pass on to the driver.
I have done both of these for the past three years in several communities, including: https://www.youtube.com/playlist?list=PLrQMyTCtW0DZolJHWBLELne1EF2gqMaHc
Reduce toil
The SRE mantras are:
If something is painful, do it more often. If you do something often, automate it.
and my favorite:
An outage is not the failure of a person. It is a failure of the system that put the person in a position where they could cause damage.
TBD: managing trust and accountability
Others are better positioned to create methods for managing authority and trust. The goal is to create transitions between stages of deployment and introduce checks and gates to make it provide the least amount of privilege required to complete the task.
relates to: #196