Code Health Group

From MediaWiki.org
Jump to navigation Jump to search

Vision[edit]

What the Code Health Group (CHG) does is work on efforts that universally improve the lives of engineers and their ability to write products with shorter iteration time, decreased development effort, greater stability, and improved performance.

The CHG will be the stewards of the software engineering processes and practices that enable both experienced and junior technical contributors to deliver high value/quality features to the various Wikimedia projects in the most productive way possible.

Characteristics of Healthy code are: easy to understand, easy to maintain, simple in design, and stable. In addition, healthy code is enjoyable to work on, allowing software developers to be as productive as possible. Working towards that end, the Code Health Group will work together to define, measure, and implement the processes, practices, and technologies necessary to establish a strong foundation for delivering healthy code. More more info see the Code Health article.

Structure[edit]

The CHG is made up of a cross-organization group of software engineers that spend a dedicated amount of time towards the betterment of code health. The CHG will be comprised of a steering committee as well as project-tasked sub groups.

The steering committee will include liaisons from each technical team and will meet regularly to discuss and define the code health priorities of the Foundation. In order to promote continuity, the members of the steering committee will have at least a six month tenure.

Project-tasked sub groups will be formed on an as-needed basis in support of the priorities as defined by the steering committee. Those engineers participating on the sub-teams will be expected to dedicate at least 20% of their efforts towards the sub-team's priorities. Unlike the steering committee, sub-teams only exist to support and deliver a specific work project. Upon completion, the sub-team is disbanded.

Key Success Factors[edit]

In order to be successful, the CHG will need the following:

  • Executive sponsorship: To help ensure the work is properly resourced and to help align priorities to broader Foundational priorities.
  • Steering committee cross-organizational representation: To insure a consistent approach to code health and also minimize duplication of effort.
  • Properly resourced sub-groups: Members of sub-teams should be able to allocate a minimum amount of their efforts to sub-team priorities. Industry trends for CHGs suggest a minimum of 20% of an individual's time should be dedicated.

Key Success Indicators[edit]

So why are we doing this?

Below are some of the changes we should see and measure:

  • Lower barrier of entry for new developers
  • Fewer defects per change
  • Higher developer productivity
  • Higher rate of new capabilities
  • Higher developer happiness
  • Happier user base

Steering Committee[edit]

Active[edit]

Name Group Contact
Erik Bernhardson Search Platform ebernhardson@wikimedia.org; irc: ebernhardson
Erika Bjune Search Platform ebjune@wikimedia.org; irc: erikab
Jean-René Branaa RelEng (Chair) jbranaa@wikimedia.org; irc: jrbranaa
Cindy Cicalese Platform Team ccicalese@wikimedia.org; irc: CindyCicaleseWMF
Greg Grossmeier RelEng greg@wikimedia.org; irc: greg-g
Andre Klapper Community Engagement aklapper@wikimedia.org; irc: andre__
Kunal Mehta Platform Team legoktm@wikimedia.org; irc: legoktm
Jon Robson Desktop & Mobile Web jrobson@wikimedia.org; irc: jdlrobson

Meeting Minutes[edit]

Annual Plans[edit]

The Code Health Program has been created for the coming fiscal year to help move forward some of our Code Health objectives. Please see Wikimedia Technology/Annual Plans/FY2019/TEC13: Code Health for more information about what's in plan for FY2019.

Active Projects[edit]

Below is a summary of the active CHG projects.

Project Purpose Participants Status
Code Review To understand the code review challenges that we are facing and propose a course of action. André Klapper, Jean-René Branaa Investigation
Code Health Metrics To define a set of core Code Health metrics. Code Health Metrics Working Group Active
Technical Debt Program This project is defining how to identify technical debt and a process to manage it. Jean-René Branaa (jrbranaa) Done

See also[edit]