This document reflects the living process by which the ENF engineering team raises, discusses, and resolves topics that require team consensus.
This process applies to any topic of discussion where the stakeholders are exclusively members of the ENF engineering team. This does not imply that the decisions cannot have impacts outside the team. However, any impacts should be limited such that they do not materially affect users' or other internal parties ability to interact with our product or services.
For example:
- Refactoring systems that are difficult to maintain or iterate.
- Adjusting dependencies and/or versions.
- Building consensus on engineering's inputs to the product team's vision for the product.
- This process (or any team process) itself.
- Creation of new product lines
- Removal of critical information other departments depend on (like documentation)
Topics are stored as issues in this repository. They must:
- Be labeled with
decision+🤔
. - Have a concicse subject that relates to the topic.
- Have a description that poses a question or hyopthetical.
- Provide any additional supporting material.
During our weekly engineering meeting we will review topics from the list of issues labeled as decision+🤔
This list is sorted by the number of 👍 reactions the issue has received.
Issues will be given a 10 minute maximum window in the live meeting for discussion. If a resolution is not found within the allotted time it is tabled and can be brought back up in future meetings.
There are (2) exceptions to this selection process:
- Executive Decree - @wanderingbort reserves the right to promote a topic to the live discussion regardless of its 👍 count.
- Volunteer Mediator - as described below if an issue has a volunteer mediator it will be prioritized above issues without.
The resulting priority will be:
- Issues with "Executive Decree" ordered by vote
- Issues with mediators ordered by vote
- Issues without mediators orderd by vote
In an effort to make decisions more efficiently and provide an opportunity for team members who excel at facilitating decisions to provide a team-wide benefit, Volunteer Mediators can elect to assign any open issue to themselves.
Mediators pick up extra tasks outside of the live meeting. Their purpose is to use the time outside the meeting to work with stakholders and undrestand the crucial parts of the decision at hand. During the live meeting, the mediator will have control of the floor for the allotted time. They may, at their descretion, present material, call upon stakeholders to comment, or any other action that is meant in good faith to drive the discussion.
The goal of a mediator should be to compress what would otherwise be a lengthy live decision making process into the short time alotted during the live meeting.