Code Health Group: Difference between revisions

From mediawiki.org
Content deleted Content added
→‎Active Projects: linked DevEd page
→‎Active Projects: added Code Review Sign-up form link.
Line 96: Line 96:
|André Klapper, Jean-René Branaa
|André Klapper, Jean-René Branaa
|Formation
|Formation
[[https://forms.gle/5BPe1VjQ9hTUMTFf6 sign-up]]
|-
|-
|[[Code Health Group/projects/Code Health Metrics|Code Health Metrics]]
|[[Code Health Group/projects/Code Health Metrics|Code Health Metrics]]

Revision as of 23:00, 8 April 2019

Vision

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

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

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

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

Active

Name Group Contact
Erik Bernhardson Search Platform ebernhardson@wikimedia.org; irc: ebernhardson
Erika Bjune Interim CTO 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

Annual Plans

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

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 Guillaume Lederrey, Jean-René Branaa Investigation
Code Review To understand the code review challenges that we are facing and propose a course of action. André Klapper, Jean-René Branaa Formation

[sign-up]

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

States

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 workgroup.

Active - workgroup 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. Workgroup has been disbanded.

Cancelled - work is incomplete. Workgroup has been disbanded. Restart is not planned.

See also