Design and development principles



The Wikimedia Foundation designs and develops MediaWiki software for Wikimedia projects. The projects and the WMF are designed to follow principles mixing collaboration, FOSS principles, and the dissemination of free knowledge. During the second quarter of 2015/2016 (Oct.-Dec. 2015) the community liaison team has been tasked with developing similar principles to internally guide the software design and development teams when building products.


The creation of these principles is intentionally an internal process within the Wikimedia Foundation. Wikimedia projects have their own principles, as does the operation of the Wikimedia Foundation by its Guiding Principles (linked above). The development and design principles are to guide and advise the engineering teams within the Foundation, not the entire MediaWiki nor Wikimedia-specific MediaWiki development communities and volunteers. Comments from the Wikimedia and Wikimedia developer communities will be welcome on the Draft document and as much of the process will be documented publicly here.

This project is starting with surveying ~40 staff members at the Wikimedia Foundation to identify and define shared principles amongst those involved in the software design and development process. Once complete the text of the survey will be placed at the /Survey page here. The results will be compiled and compared with the previously linked Guiding Principles to identify commonalities and the key points. These points will be assembled into a list of 7-10 most important principles to keep in mind in software. This list will be presented here at /Draft list for staff and Wikimedia community review and comment in December 2015, with the goal of the final publication taking place at All-Hands in January 2016.

After a month's delay due to the holiday season, the principles were finalized and published at Design and development principles/Principles.



Fri, 11: Write this thing

Tues, 14 - Weds, 23: Get text together for a survey for opinion gathering, get text together for email to engineering as a whole as well as individuals selected by the team.

Thurs, 24 - Weds, 30: Review text and change/correct as needed, review and revise timeline if needed

October - stage one[edit]

Thurs, 1 - Kick-off: email relevant list(s) (wmfall? just engineering? just specific stakeholder teams?) with information about the project) with information about the project

  • Perhaps email wmfall with the sum total of the initiative, and a separate email to target stakeholders asking for a representative - allow one week for appointment
    • I'm thinking each person that attended the offsite listed below, plus one more delegate from each team from the non-management clade

Mon, 5 - Weds 7: Initial set up of page(s)

Thurs, 8 Thurs, 15: contact team representatives with an overview and a link to the survey, allow two weeks a week for submission

Tues, 20: poke those who have not filled out the survey

Wed, 28: close the survey, email participants and thank them

Thurs, 29 - Tues, Nov. 3: Review and discuss data, turn top results into text based on influence from WMF's Values, Mission, and Guiding Principles

November - stage two[edit]

Weds, 4 - Tues, 10: Management review

  • Veteran's Day holiday Wed. 11

Thurs, 12 - Tues, 24: Open review

  • A great number of staff don't observe American Thanksgiving. However, the long long weekend does start for many the week of this close.

Wed, 25 & Mon, 30: Review comments

December - stage three[edit]

Tues, 1 - Tues, 15: Further community review

  • Solid two weeks.

Wed, 16 - Thurs, 24: Executive final review

Mon, 28 - Thurs, 31: Final polishing and sign off

November and December were disrupted due to holidays, staff vacations, scheduling conflicts, and relevant stakeholders engaged in other projects. Resumed to wrap up in January 2016.

January - launch[edit]

Tues, 19 - Fri, 22: Work with Comms and Product on draft three

Mon, 25 - Fri, 29: Draft four, review

Post-launch January[edit]

First week of February: remove the draft tag and call it a day. Yes Done