Code Health Group

From mediawiki.org

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
Jean-René Branaa Quality & Test Engineering (Chair) jbranaa@wikimedia.org
Kate Chapman Architecture Team kchapman@wikimedia.org
Greg Grossmeier Advancement Engineering greg@wikimedia.org
Andre Klapper Developer Advocacy aklapper@wikimedia.org
Guillaume Lederrey Search Platform glederrey@wikimedia.org
Jon Robson Desktop & Mobile Web jrobson@wikimedia.org

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
DevEd To develop educational resources for software engineers, software test engineers, software engineers in test Code Health Working Group Stalled
Code Review To understand the code review challenges that we are facing and propose a course of action. Code Review Working Group Done
Code Health Metrics To define a set of core Code Health metrics. Code Health Working Group Done
Technical Debt Program This project is defining how to identify technical debt and a process to manage it. Jean-René Branaa Done

States[edit]

Investigation
initial work to determine what the scope of the project would be and make initial assessment in terms of priority and importance.
Formation
as most projects will require efforts and perspectives from across the foundation and broader community, this is the phase in which we form the initial work group.
Active
work group is formed and activities are in motion.
Stalled
work is paused due to other priorities.
Blocked
work is paused due to dependencies on other external teams and/or work.
Done
work is complete. Work group has been disbanded.
Cancelled
work is incomplete. Work group has been disbanded. Restart is not planned.

See also[edit]