Design and development principles
Design and Development Principles
Identify, define, and publish 7-10 principles to guide software development for the Wikimedia Foundation
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.
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
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 mediawiki.org 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
poke those who have not filled out the survey
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
Weds, 4 - Tues, 10:
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 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 Tues, 19 - Fri, 22: Work with Comms and Product on draft three
Mon, 25 - Fri, 29: Draft four, review
First week of February: remove the draft tag and call it a day. Done