Core Platform Team - MediaWiki
Jump to content
From mediawiki.org
This page is obsolete. It is being retained for archival purposes.
It may document extensions or features that are obsolete and/or no longer supported. Do not rely on the information here being up-to-date.
See
MediaWiki Engineering Group
instead, since 2023.
The
Core Platform Team
has the primary responsibility for the Platform that supports the projects of the Wikimedia Movement. The platform is comprised of
MediaWiki
and the Wikimedia service infrastructure which provides our services, APIs and tools. Additionally, the team supports MediaWiki as a FLOSS product to be used by 3rd parties to host and share knowledge in a variety of contexts.
This team was formed in July 2018 by merging the
MediaWiki Platform team
and the
Services
team. In July 2020, the team was evolved into a larger
Platform Engineering
group with separate workstreams for "MediaWiki Expedition", "API", "Data", and "Platform Operations and Dumps".
Wikimedia Foundation projects
Core Platform
Leading the maintenance and improvement of the MediaWiki platform and Wikimedia service infrastructure
Group:
Platform Engineering
Start:
2018-07-01
End:
2020-07-01
Team members:
Clara Andrew-Wani
Kate Chapman
Cindy Cicalese
Will Doran
Eric Evans
Daniel Kinzler
, Holger Knust,
Alex Paskulin
Petr Pchelko
Bill Pirkle
Tim Starling
Hugh Nowlan
Nikki Nikkhoui
Naïké Nembetwa Nzali
Mat Nadrofsky
Gabriele Modena
Wendy Quarshie
Thomas Chin
Frances Goodwin
Backlog:
#Core_Platform_Team
Lead:
Corey Floyd
MediaWiki Platform team
Wikimedia Services
MediaWiki Platform Team
Mission
We shepherd Wikimedia’s essential software and infrastructure technologies enabling our users and developers to unlock free knowledge.
Our values and how we model them in our work
Knowledge sharing
We continually learn and hone our skills to apply the best solutions to challenges
When learning something new, we aim to share it with both within and outside the team and encourage others to do the same
We proactively share our knowledge, collaboratively work on solutions, and provide mentoring whenever we can
We prefer to aid others in achieving their goals, rather than solving problems for them. This both empowers them and makes our team and organization stronger
We actively and frequently talk to our teammates about their work and challenges over simply asking them if they need help.
Clear and respectful communication
We ensure all voices are heard in discussions by asking the opinions of others who have not spoken up.
We give detailed code reviews and try to communicate the “why” as well as the “what”.
When we offer criticisms, we also offer help and assistance getting to a solution.
We volunteer our thoughts and perspectives while considering and respecting the thoughts and perspectives of others
When we offer criticisms, we are careful to re-evaluate our own assumptions and are open to changing our minds.
Quality work
We strike a balance between constraints and long-term implications of our work
We follow the architecture principles whenever possible and be sure to communicate our rationale to others when we don’t
We focus on projects that deliver clear and measurable impacts
We use experiments to figure out new paths while minimizing risks in order to overcome challenges
We use our own products for our work whenever possible in order to better understand and improve our software.
We do not hold ourselves to perfection, but we do establish good metrics of success that allow us space to experiment while minimizing risks
We keep the codebase clean and hold others accountable to do the same in order to minimize tech debt.
Effective and Inclusive Collaboration
We take time to get input from team members on decisions that affect them.
We always try to finish what we are working on before starting something new.
We try to solve problems ourselves first because we value the time of our teammates, but we don’t wait too long before asking someone else because we also value our own time.
We make an effort to promptly respond to messages so to not block other team members.
We keep our code reviews focused on facilitating merging, minimizing feedback that are not required for the code’s goal and provide actionable comments
We collaboratively support other teams’ goals by proactively asking them for their needs and requirements and providing them timely responses and concrete decisions and feedback.
We keep our priorities clear and work on what is most important.
We give people the space, opportunity and trust to grow, even if it means the most skilled person isn’t working on a task.
Goals
To lead the maintenance and improvement of the MediaWiki platform.
To assist and encourage feature development on top of MediaWiki by providing developers with a clean and elegant core.
To provide value for end users by undertaking feature development work which is primarily architectural in nature.
To create and publish a
MediaWiki roadmap
to assist planning of internal and external users.
To establish guidelines and standards for the MediaWiki core code.
To automate monitoring, metric reporting and logging for Wikimedia services.
To keep the majority of services simple and stateless by offering general multi-datacenter storage and change propagation solutions.
To make our infrastructure more flexible, robust and efficient by gradually migrating from a monolithic architecture to
micro-services
Roadmap
An updated list of projects we're working on is visible in Phabricator on the
Platform Engineering Roadmap
Platform Engineering Team Initiatives
The Platform Engineering Team work process involves a number of stages that derive from the
PET Roadmap
, which maps at a high level the layout of all initiatives that the PET is responsible to complete or support. Initiatives are drawn from the
PET Roadmap
and entered into
PET Initiative Planning
. The Director, Senior Project Manager, Product Managers, Engineering Managers and Technical Leads are responsible for the work of developing the initial outline to a full proposal decomposed into Epics and Tasks ready to be scheduled and implement by Engineers.
All
PET Initiatives
are published and updated through out planning and implementation on
our wiki
The PET is composed of 2 functional teams specialising in Distributed System and Storage, and Features, Data and Content. Within PET we break down into 3 core teams, 2 teams focused on product work and 1
Clinic Duty Team
Our work process
is agile based using 2 week sprints. The content of the sprints is determined in pre-sprint planning. Product teams are formed based on the functional requirements of the projects to be undertaken while the Clinic Duty team is rotated on a sprint by sprint basis.
Work Processes
Clinic Duty
Meetings
PET Ideal User Story
PET Initiative Check Process
PET Initiative Planning
PET Roadmap
PET Task Criteria
PET Task Process
PET Task Triage
PET Task Types
PET Work Process
PET Workboards
Taking part in Clinic Duty
Individual Goals
Members of our team set goals each quarter in order to support other team members and their own professional development.
Core Platform Team/Goals/FY1920/Q1
Workboards
#platform-engineering
This board contains our Inbox and a set of columns identifying the Initiatives we are working on and the prioritized tasks of work to complete each
#platform-team-workboards
This board contains the PET Icebox and each of our sub team work boards
#sf-contract
, our contractor workboard
#cpt-clinic
, our Clinic Duty Team workboard
#cpt-prod-green
, Product Team
#cpt-prod-arch-review,
Architecture Team
Documents
Platform Design Doc Template:
File:Platform Design Doc Template.pdf
Development Practices
Testing
Decisions of Record, Architecture and Research
API router and rate limiting design proposal
Dropping Abstract Schema Support For Oracle and MSSQL
Services Architecture Recommendations (2019)
Using SuperTest Rather Than Creating an API Integration Test Runner
Using our Integration Testing Framework for Monitoring
Team Improvement Working Groups
Workboards
Contact the team
wikitech-l
mailing list
#wikimedia-services
connect
IRC channel
#mediawiki-core
connect
IRC channel
Past Programs
2018-2019
TEC1: Reliability, Performance, and Maintenance
TEC2: Modern Event Platform
TEC13: Code Health
CDP2: Platform Evolution
(see also:
Platform Evolution
CDP4: Structured Data Program
Retrieved from "
Category
Pages kept for historical interest
Hidden categories:
WMF Projects 2018q3
WMF Projects 2018q4
WMF Projects 2019q1
WMF Projects 2019q2
WMF Projects 2019q3
WMF Projects 2019q4
WMF Projects 2020q1
WMF Projects 2020q2
WMF Projects 2020q3
Core Platform Team
Add topic