Skip to content

EP Engineering Review Meetings

Robert Sheridan edited this page Nov 29, 2016 · 3 revisions

Process : Engineering Review Meetings

Date accepted: 2016_11_18

Abstract: Periodically, engineering topics and proposals will be considered by interested developers during a meeting for that purpose. During a review meeting, proposals will be discussed and can be accepted by those at the meeting. Changes to processes, coding standards, or high level system designs (such as alterations to the project Web API) may require a review before a contemplated approach is fully developed.

Summary points:

  • meetings only happen if proposals or discussion topics have been submitted before a deadline
  • list of submitted proposals is announced in advance of meeting
  • a periodic (weekly) timeslot is designated for meetings
  • all interested developers can join the meeting or send in comments by messaging
  • after discussing topics, participants can accept a proposal (maybe with modifications)
  • accepted designs / processes / standards are captured and maintained with github wiki links
  • proposals which need well-understood refinement can be delegated to a smaller group to complete

concept image

Discussion notes:

  • these meetings will consume time and possibly slow down the development cycle (drawbacks).
  • development can still proceed using informal consultation and consensus. Pull requests can still be reviewed. Code merge must wait for meeting approval (someone who was not consulted informally may still bring up an important reason to reconsider)
  • this process helps us document and capture our decisions (benefit)
  • better communication to interested parties, better input into decision making (benefit)
  • with completely new API endpoints it is more important to be formal / develop well defined proposals
  • proposals allow us to come to the meeting with a solid concept rather than using time to clarify (benefit)
  • recommended : a future proposal to specify the overall API scheme and features (projections, paging, ...)