Maintaining and Improving Dev Stages

ATTN: OpenMRS Developers,

This is a long overdue post (mea culpa). We created Dev Stages over a year ago as a means to recognize and communicate levels of skill & engagement within the OpenMRS Developer Community. The process of getting /dev/null/dev/1 automated and getting our GitHub & Talk groups synchronized has been a drawn out process and, along the way, we’ve learned lessons and made tweaks to the dev stage definition. In the meantime, folks have understandably started losing faith in Dev Stages. If Dev Stages are going to have any hope of meeting our goals and being sustainable, we need a process for tending to both the assignments and the process itself.

I’ve proposed a process for managing Dev Stages, where /dev/3s, /dev/4s, and /dev/5s meet at some regular interval (e.g., 2-3x/year) to review assignments, make any needed changes, and do a brief retrospective to discuss & plan how Dev Stages evolve to meet ongoing needs. I would also appreciate hearing from anyone interested in helping lead the Dev Stage process (facilitate conversations and help be the momentum behind Dev Stages).

Current Status

  • Dev Stages documented at
  • A proposed process documented in a child page.
  • A Smart Developer badge linked to a Survey Monkey questionnaire to advance devs from /dev/null to /dev/1
  • I’ve written a script to diff Dev Stage groups in Talk with GitHub group assignments.

Next steps

  1. Decide on a forum/method in which to meet
  2. Initial meeting
  3. Review the few existing discrepancies between GitHub & Talk
  4. Share + discuss + decide on outstanding assignment changes
  5. Brief retrospective: what will we do between this & next meeting to improve Dev Stages
  6. Further publicize a position of “Dev Stages Lead”

In this thread, I am primarily interested in item #1 – i.e., what do you believe would be the most effective, efficient, & fair method of meeting? Is there any reason these conversations shouldn’t be public? My first instinct would be to doodle poll a time when as many /dev/3s, /dev/4s, and /dev/5s would be available and hold a meeting in IRC. Alternatives could be to use a Dev Forum, a Talk topic, or something better that I’m not thinking of.

If we get general agreement here, I’ll move forward with a doodle poll.


-Burke :burke:


I would think using an already existing Dev forum would be ideal since people already have this time set aside. I don’t see any reason to not hold conversations in general public. I think as long as people can give constructive criticism and be supportive to others, then discussing the “leveling up” could also be made public. You would just need a “rules of engagement” policy for how to discuss things when someone hasn’t met qualifications yet for moving to the next level - and make sure to give them recommendations for how to get there. Maybe people would be willing to mentor when someone was struggling to achieve that next level.


Can we give a timeline for “lazy consensus” at which point you - @burke - decide which forum we use and a date/time for people to connect? My guess is the actual review will have to occur after @darius returns from vacation.

Sometimes, not all people can attend those calls. It’s better to do it asynchronously and somebody just keep on top of the messages. Can we not do a “lazy consensus” and do a real vote?

I agree with using an existing Dev Forum. We can publish the outcome of the meeting on Talk and allow those who could not attend to provide feedback there. I think the defined process matches what we’ve been talking about doing all along, so I’m happy to participate in putting it into action.

Both a Doodle poll or using lazy consensus to decide on the date works for me.

@dev3, @dev4, @dev5,

Please take this doodle poll to indicate your availability to discuss Dev Stages on an upcoming Dev Forum.


-Burke :burke:

1 Like

I will later