Code Health Group/projects/CodeReview

Code Review is an integral part of the software development process. One that has been core to the Foundation and MediaWiki technical community volunteers for many years. However, many technical contributions stall due to the lack of code review. This results in potentially valuable changes not reaching the users of the platform in a timely manner. In addition, it can be demoralizing for technical contributors and result in less engagement from the volunteer technical community.

Code Review challenges are not new to the Foundation and technical community. There have been past attempts to improve Code Reviews, but those appear to have had limited success in many cases. This workgroup will look to identify potential areas of improvement and recommend a course of action.

Scope

edit

Build understanding of problem

  • What does the data say?
  • What’s the anecdotal evidence?

Build understanding of past attempts to improve Code Review

  • What was done in the past?
  • What worked and why?
  • What failed and why?

Define potential areas of improvement and recommended courses of action for each. These recommendations should incorporate lessons learned from past attempts.

Work with Code Health Group to prioritize each area and take action on those recommendations (spinning up additional sub-workgroups if necessary).

Outcome

edit

The Code Review Workgroup has completed it's investigation as well as developed a series of proposed improvement activities. They include:

  • Put in place code review metrics that help manage the code review workload.
    • The two initial metrics will be focused on measuring backlog and responsiveness.
    • More information about this work can be found in task T229510
  • Identify code review workload management best practices and propose a common approach that can benefit both internal needs as well as community needs.
    • More information about this work can be found in task T229513
  • Revisit and refresh the Code Review Office Hours
    • The primary purpose of this work is to identify a way to get reviewers and reviewees connected and engaged.
    • More information about this work can be found in task task T229512
  • Work with Engineering and Product Managers to include this work in annual planning/budgeting process.
    • No task is associated with this work. For more information on progress, please contact Jean-Rene Branaa.

Code Review Workgroup

edit

Below are the active members of the working group. If you'd like to join the group, please contact Jean-Rene Branaa. We are using the RACI approach to identifying people's degree of engagement with this workgroup.

Name Group Contact Role
David Barratt Anti-Harassment Tools dbarratt@wikimedia.org, IRC:davidwbarratt Consulted
Jean-Rene Branaa Quality and Test Engineering jbranaa@wikimedia.org, IRC:jrbranaa Accountable
Will Doran Core Platform wdoran@wikimedia.org, IRC:wdoran Responsible
James Forrrester Release Engineering jforrester@wikimedia.org, IRC:James_F Consulted
Natalia Harateh Mobile Apps nharateh@wikimedia.org, IRC:nataliaharateh Consulted
Kosta Harlan Growth kharlan@wikimedia.org, IRC:kostajh Responsible
Andre Klapper Developer Advocacy aklapper@wikimedia.org, IRC:andre__ Responsible
Holger Knust Core Platform hknust@wikimedia.org, IRC:hknust Consulted
Niklas Laxström Language nlaxstrom@wikimedia.org, IRC:nikerabbit Responsible
Mukunda Modell Release Engineering mmodell@wikimedia.org, IRC:twentyafterfour Consulted
Moriel Schottlender Community Tech mschottlender@wikimedia.org, IRC:mooeypoo Consulted
Timo Tijhof Performance jhof@wikimedia.org, IRC:Krinkle Consulted
Gergő Tisza Reading Infrastructure gtisza@wikimedia.org, IRC:tgr Consulted
Lars Wirzenlus Release Engineering lwirzenius@wikimedia.org, IRC:liw Consulted
Daniel Zahn Service Operations dzahn@wikimedia.org, IRC:mutante Consulted

Stakeholders: Code Health Group, Code Stewards, technical contributors

Informed: Brennen Bearnes, Chris Danis, Dayllan Maza, James Fishback, Kate Chapman, Kunal Mehta, Nick Wilson, Niharika Kohli, Petar Petković, Riccardo Coccioli