Wikimedia Technology/Goals/2017-18 Q2

From MediaWiki.org
Jump to: navigation, search
TriangleArrow-Left.svgQ1 Wikimedia Technology Goals, FY2017–18, Q2 (October - December) Q3TriangleArrow-Right.svg

Introduction[edit]

Purpose of this document[edit]

Goals for the Wikimedia Technology department, for the second quarter of fiscal year 2017–18 (October 2017 – December 2017). The goal owner in each section is the person responsible for coordinating completion of the section, in partnership with the team(s) and relevant stakeholders.

This quarter, the Technology department is orienting its goals to the annual plan programs it is working on, rather than to individual teams. The goal-setting process is described here.

Goals for the Audiences department are available on their own page

Legend[edit]

Tech Goal categorizes work into one or more of these quadrants:

A Foundation level goals C Features that we build to improve our technology offering
B Features we build for others D Modernization, renewal and tech debt goals

ETA (Estimated Time of Arrival) fields may use the acronym EOQ (End of Quarter).

Status fields can use the following templates: In progress In progress, To do To do, N Postponed, YesY Done or Incomplete Partially done

Technology departmental programs[edit]

Program 1: Availability, performance, and maintenance[edit]

Overall goal owner: Mark Bergsma

  • Owner for Outcome 1: Mark Bergsma
  • Owner for Outcome 2: Gilles Dubuc
  • Owner for Outcome 3: Nuria Ruiz
  • Owner for Outcome 4: Bryan Davis
  • Owner for Outcomes 5 and 6: Greg Grossmeier
Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: All production sites and services maintain current levels of availability or better. Objective 1: Deploy, update, configure, and maintain production services (Traffic infrastructure, databases & storage, MediaWiki application servers, (micro)services, network, and miscellaneous sites & services) Provide dedicated database resources for wikidata
  • Create new functional group s8, dedicated to wikidata
    • Prepare mediawiki and cloud wiki replica configuration for s8
    • Provision new hardware, serving exclusively the wikidata dataset
  • Refactor puppet/core db to introduce multi-instance for mediawiki hosts (this will be a benefit for the whole db infra)
  • Switchover service to the new functional group s8 (master failover)
TechOps (DBA) Release Engineering, WMCS, MediaWiki, Wikidata (all MediaWiki developers using Wikidata) D EOQ To do To do
Outcome 1: All production sites and services maintain current levels of availability or better. Objective 1: Deploy, update, configure, and maintain production services (Traffic infrastructure, databases & storage, MediaWiki application servers, (micro)services, network, and miscellaneous sites & services) Upgrade Varnish from v4 to v5 on at least one Traffic cluster
  • Finish any trailing Debian packaging and/or forward-porting work on Varnish v5
  • Test Varnish v5 under our production config using varnishtest and test queries
  • Upgrade to Varnish v5 in at least one cluster for all production traffic
TechOps (Traffic) Analytics (varnishkafka) D EOQ In progress In progress
Outcome 1: All production sites and services maintain current levels of availability or better. Objective 1: Deploy, update, configure, and maintain production services (Traffic infrastructure, databases & storage, MediaWiki application servers, (micro)services, network, and miscellaneous sites & services) Modernize Puppet configuration management:
  • Upgrade puppetDB to version 3.2 or newer
  • Upgrade puppet to 4.8 or newer
TechOps D EOQ In progress In progress
Outcome 1: All production sites and services maintain current levels of availability or better. Objective 1: Deploy, update, configure, and maintain production services (Traffic infrastructure, databases & storage, MediaWiki application servers, (micro)services, network, and miscellaneous sites & services) Reduce technical debt in metrics monitoring: Increase porting of statsd/graphite metrics to Prometheus
  • Port non-deprecated Diamond collectors to Prometheus, making Diamond deprecated in production by EOQ
  • Export Prometheus-compatible JVM metrics from JVMs in production (stretch)
  • Add Prometheus client support for varnish/statsd metrics daemons
TechOps Analytics, Search D EOQ In progress In progress
Outcome 1: All production sites and services maintain current levels of availability or better. Objective 1: Deploy, update, configure, and maintain production services (Traffic infrastructure, databases & storage, MediaWiki application servers, (micro)services, network, and miscellaneous sites & services) Plan for when HHVM no longer supports PHP5
  • Officially decide on our path forward (e.g. "migrate to Zend/PHP7")
  • Identify the work that will be required to implement that decision at a very high level
CTO-Team MediaWiki platform, TechOps, TechCom D EOQ In progress In progress
Outcome 1: All production sites and services maintain current levels of availability or better. Objective 3: Maintain data center infrastructure and equipment lifecycle from procurement through break-fix to decommissioning
  • Finish up trailing purchasing tasks from previous quarter (DC, hardware, network links, etc)
    • Procure at least one transit or peering link to help advance address space issue
  • Physically install all hardware
  • Acquire address space, notifying Zero team
  • Stretch:
    • Turn up network links
    • Configure network devices and hosts
TechOps (Traffic, DC Ops) Finance, Legal A EOQ In progress In progress
Outcome 2: All our users consistently experience systems that perform well. Objective 1: Maintain a comprehensive toolset to measure the performance of our platforms
  • Run performance tests on Cloud VPS using local proxy - T176361
Performance None C/D EOQ To do To do
Outcome 2: All our users consistently experience systems that perform well. Objective 3: Modernize our performance toolset. We will measure performance metrics that are closer to what users experience.
  • Helping Audiences set up tooling to compare Marvin's performance with the mobile site
  • Write a guide on how to test performance locally before pushing changes - T175239
Performance None A/ B EOQ To do To do
Outcome 2: All our users consistently experience systems that perform well.
  • Performance review of VisualEditor - T171093
  • Write extensive on-wiki documentation about Thumbor - T175238
Performance None B EOQ To do To do
Outcome 3: We have scalable, reliable and secure systems for data transport. Objective 1: Consolidation of analytics Kafka infrastructure to tier-1 requirements, including TLS encryption Analytics TechOps C: Improving our offering

D: Tech debt

Outcome 3: We have scalable, reliable and secure systems for data transport. Objective 2: Maintenance and expansion of current Hadoop cluster to support new use cases that require more computational resources Analytics C: Improving our offering
Outcome 3: We have scalable, reliable and secure systems for data transport. Objective 3: Software, hardware upgrades, and maintenance on analytics stack to maintain current level of service Analytics TechOps C: Improving our offering
Outcome 4: Wikimedia Cloud Services users can leverage a reliable and public Infrastructure as a Service (IaaS) product ecosystem for VPS hosting. Objective 2: Pay down technical debt and allow upgrading of the core OpenStack platform to modern, supported releases by replacing the current network topology layer with OpenStack Neutron, which has become the standard for most OpenStack deployments. WMCS C: Improving our offering

D: Tech debt

EOQ To do To do
Outcome 5: We have effective and easy-to-use testing infrastructure and tooling for developers. Milestone 1: Develop and migrate to a JavaScript-based browser testing stack Migrate majority of developers to JavaScript based browser test framework (webdriver.io)
  • Port Selenium tests from Ruby to Node.js - task T139740
Release Engineering All developers C, D EOQ In progress In progress

Program 2: MediaWiki[edit]

Goal owner: Tim Starling

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Stakeholders in MediaWiki development will have sense of progress and direction Objective 1: Develop a MediaWiki roadmap
  • Develop MediaWiki Platform Team roadmap
  • Develop a plan for simplifying the MediaWiki technology stack
MediaWiki None C: Improving our offering EOQ In progress In progress
Outcome 2: MediaWiki code quality will be improved Namespaceization (T166010) MediaWiki none D: Tech debt EOQ In progress In progress
Outcome 3: MediaWiki security and stability will be improved Objective 1: Address the backlog of action items that arise from security and downtime post-mortems Support restricted execution of external commands (T173370) MediaWiki Operations A: Programmatic core priority: improve privacy and security EOQ To do To do
Outcome 3: MediaWiki security and stability will be improved Objective 1: Address the backlog of action items that arise from security and downtime post-mortems Cease using unserialize() for MediaWiki text storage (T161647) MediaWiki None A: Programmatic core priority: improve privacy and security EOQ To do To do

Program 3: Addressing technical debt[edit]

Goal owner: Jean-Rene Branaa

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: The amount of orphaned code that is running Wikimedia “production” services is reduced Objective 1: Define a set of code stewardship levels (from high to low expectations) - task T174090 Objective 1, defining a set of stewardship levels. Release Engineering Code Health Group B, D EOQ To do To do
Outcome 1: The amount of orphaned code that is running Wikimedia “production” services is reduced Objective 2: Identify and find stewards for high-priority/high use code segment orphans - task T174091 Objective 2, begin finding stewards for high priority orphans. Two quarters worth of work. Release Engineering Code Health Group, Current and future code/product stewards B, D End of Q3 To do To do
Outcome 2: Organizational technical debt is reduced. Objective 1: Define a “Technical Debt Project Manager” role that regularly communicates with all Foundation engineering teams regarding their technical debt Objective 1, define the Technical Debt PM role. Release Engineering WMF Product Mangers (or similar) B, D EOQ To do To do
Outcome 2: Organizational technical debt is reduced. Objective 2: Define and implement a process to regularly address technical debt across the Foundation Objective 2, begin defining and implementing the process to regularly address technical debt. Two quarters worth of work. Release Engineering B, D End of Q3 To do To do

Program 4: Technical community building[edit]

Overall goal owner: Bryan Davis

  • Owner for Outcome 1: Bryan Davis
  • Owner for Outcomes 2 and 4: Dario Taraborelli
  • Owner for Outcome 3: Cindy Cicalese
  • Owner for Outcome 5: Kevin Smith
Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Becoming a technical contributor to the Wikimedia movement by creating and maintaining 'tools' (bots, webservices, etc) and other innovative solutions is easier than it has been historically because documentation is easier to find, more comprehensive, and descriptive of start to finish steps needed to solve common problems. Cloud Services product users feel comfortable sharing their knowledge with others as part of a community with a culture of sharing via documentation and mutual support. Objective 1: Collaborate with community to find volunteers willing to form a documentation Special Interest Group to update documentation of existing Cloud Services products WMCS Technical Collaboration A: Foundation goal (Community)

B: Serving our audiences C: Improving our offering

EOQ To do To do
Outcome 1: Becoming a technical contributor to the Wikimedia movement by creating and maintaining 'tools' (bots, webservices, etc) and other innovative solutions is easier than it has been historically because documentation is easier to find, more comprehensive, and descriptive of start to finish steps needed to solve common problems. Cloud Services product users feel comfortable sharing their knowledge with others as part of a community with a culture of sharing via documentation and mutual support. Objective 2: Create tutorial content for common issues including but not limited to: creating initial account, deploying a functional web service, deploying a functional bot, and running periodic jobs with variations. Where applicable, produce variants for more than one implementation language (e.g. PHP, Python, etc). WMCS A: Foundation goal (Community)

B: Serving our audiences C: Improving our offering

EOQ To do To do
Outcome 2: The adoption of Wikimedia technology can be reliably measured. Objective 1: Design a set of formal KPIs (key performance indicators) to measure the growth and diversity of our technology audience (task T171220)
  • Conduct structured interviews with team leads in Tech involved in building platforms with an externally-facing audience and get them to articulate who their core audience is, and how to characterize adoption of their platforms. (task T174733)
Research
  • Tech Management
A: Foundation goal (Community)

B: Serving our audiences C: Improving our offering

EOQ To do To do
Outcome 3: Value-added vendors who provide services and support based on Wikimedia software and true 'third parties' who install and use software produced by the Wikimedia movement on their own computers are more confident in recommending, deploying, and extending Wikimedia FLOSS projects. Objective 1: Establish canonical point of contact for third-parties by promoting the existence of a dedicated technical liaison for software projects with support for third-party users
  • Establish on-going channels of communication with 3rd party developers; for example: MediaWiki Stakeholders Group, SMWCon, EMWCon, meza summit, hackathons
MediaWiki A: Foundation goal (Community)

B: Serving our audiences

C: Improving our offering

To do To do
Outcome 3: Value-added vendors who provide services and support based on Wikimedia software and true 'third parties' who install and use software produced by the Wikimedia movement on their own computers are more confident in recommending, deploying, and extending Wikimedia FLOSS projects. Objective 2: Clarify the Foundation’s short- and long-term commitments to third-party users. Create, publish, and promote a multi-tiered, third-party support level system for Wikimedia software projects. Document the support level of existing FLOSS projects and ensure that the documented levels of support are delivered.
  • Develop strategy for MediaWiki for 3rd party usage
  • Initiate a catalog of Wikimedia software projects frequently used by third parties
  • Create and publish a multi-tiered, third-party support level system for Wikimedia software projects frequently used by third parties
MediaWiki A: Foundation goal (Community)

B: Serving our audiences

C: Improving our offering

To do To do
Outcome 4: The collaboration with research in industry and academics is further scaled and supported. Objective 1: Organize and host the annual Wiki Research Workshop. (task T171118)
  • Write and submit a workshop proposal for the Web Conference (task T174741)
  • Write a call for papers for Wiki Workshop 2018 (task T174743)
  • Invite reviewers to review workshop submissions (task T174744)
Research
  • Admin
  • Workshop co-organizers
A: Foundation goal (Community)

B: Serving our audiences

EOQ To do To do
Outcome 5: Organize Wikimedia Developer Summit Objective 1: A good representation of non-WMF stakeholders related to the main theme are invited and participate at the event (preferred) or online.
  • Program Committee evaluates submitted position statements; and selects invitees
  • Invitations are sent and responses processed
  • Program Committee identifies themes and defines sessions
  • All necessary event planning takes place (venue, etc.)
CTO Team
  • Developer Relations
  • Program Committee members
A: Foundation goals (Community)

B: Serving our audiences

C: Improving our offering

EOQ To do To do
Outcome 5: Organize Wikimedia Developer Summit Objective 2: Discussions start before the event with the involvement of all the relevant stakeholders, in order to identify the points that need to be addressed at the event.
  • For each theme or session (TBD), an online discussion is initiated
CTO Team
  • Developer Relations
  • Program Committee members
A: Foundation goals (Community)

B: Serving our audiences

C: Improving our offering

EOQ To do To do

Program 5. Scoring Platform (ORES)[edit]

Goal owner: Aaron Halfaker See phab tracking Epic: task T176324

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Tool developers and Product teams can innovate tools that use machine prediction to make wiki-work more efficient. Objective 1: Expand vandalism & good-faith detection models to more wikis (focus on Emerging Communities)
  • Deploy full edit quality support to Swedish and Spanish Wikipedia as well as Spanish Wikibooks (task T174558, task T130279, task T176331)
  • Train/test a draft topic modeling AI (experimenting with mitigating new page curation issues) (task T123327)
Scoring Platform C To do To do
Outcome 1: Tool developers and Product teams can innovate tools that use machine prediction to make wiki-work more efficient. Objective 2: Work with CE and a community liaison to develop and implement better processes for supporting new wikis with a focus on emerging communities Engage in a community-led discussion about the design and use of JADE (task T170954) Scoring Platform CE (Keegan) A To do To do
Outcome 1: Tool developers and Product teams can innovate tools that use machine prediction to make wiki-work more efficient. Deploy on new ORES* cluster (task T168073) Scoring Platform Operations (Alexandros) D To do To do
Outcome 2: Volunteers are empowered to track trends in prediction bias and other failures of AI in the wiki. Objective 1: Develop best practices for using community input to improve/correct predictions Deploy an MVP of the JADE API in labs (state database, event generation, structured UI support) (task T176333) Scoring Platform Operations (Alexandros) AC To do To do

Program 6. Streamlined service delivery[edit]

Goal owner: Mark Bergsma

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: We have seamless productization and operation of (micro)services Objective 1: Set up production-ready Kubernetes cluster(s) with adequate capacity
  • Implement authentication/authorization in Kubernetes clusters
  • Experiment with a TLS proxy/router for pods
  • Improve monitoring of the Kubernetes clusters
TechOps C EOQ In progress In progress
Outcome 1: We have seamless productization and operation of (micro)services Objective 2: Create a standardized application environment for running applications in Kubernetes
  • Design pod-level monitoring and service-level alerting
  • Create scaffolding of services templates for deployment in production/staging
TechOps C EOQ In progress In progress
Outcome 2: Developers are able to develop and test their applications through a unified pipeline towards production deployment. Objective 2: Set up a continuous integration and deployment pipeline to publish new versions of an application to production via testing and staging environments that reliably reproduce production
  • Complete build phase of release pipeline
    Build phase of the chart
    • Build test variant
    • Run test entrypoint w/developer feedback - services dependency
    • Build production variant w/developer feedback - services dependency
    • Tag production container
    • Push to production docker registry - ops dependency - staging namespace
Release Engineering Technical Operations, Services C EOQ In progress In progress

Program 7. Smart tools for better data[edit]

Goal owner: Nuria Ruiz

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Foundation staff and community have better tools to access data. Objective 1: Wikistats 2.0 redesign
  • Wikistats 2.0 alpha release
  • Daily and monthly pageviews per country. Visualization and reports task T90759
  • Add one edit metric to wikistats backend that is non aditive in nature like Active Editors Daily Monthly
C: Improving our offering To do To do
Outcome 1: Foundation staff and community have better tools to access data. Objective 2: Better visual access to EventLogging data C: Improving our offering

D: Tech debt

To do To do
Outcome 1: Foundation staff and community have better tools to access data. Objective 3: Experiments with real-time data and community support for new datasets available C: Improving our offering To do To do
Outcome 3: Wikimedia Cloud Services users have easy access to public data. Objective 1: Provide reliable and available access to Wikimedia database dumps by upgrading the hardware used and consolidating access by internal teams, Cloud Services users, external mirrors, and HTTPS downloaders to the new canonical location. WMCS C: Improving our offering EOQ In progress In progress
Outcome 3: Wikimedia Cloud Services users have easy access to public data. Objective 2: Complete migration of production database replica access for Cloud services customers to the new high-availability cluster, which uses 'row based' replication technology to provide a more consistent view of production data. WMCS Technical Operations (DBA) C: Improving our offering

D: Tech debt

In progress In progress
Outcome 2:

Access to Wikimedia content and data with scalable APIs

Objective 1: Revision storage scaling Migrate mobile HTML storage to Cassandra 3 cluster & new schema. Service Platform Technical Operations D: Tech debt EOQ To do To do

Program 8. Multi-datacenter support[edit]

Goal owner: Gabriel Wicke

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Our audiences enjoy improved MediaWiki and REST API availability and reduced wiki read-only impact from data center fail-overs. Objective 1: MediaWiki support for having read-only “read” requests (GET/HEAD) be routed to other data centers Performance None D: Tech debt EOQ To do To do
Outcome 2: Backend infrastructure works reliably across data centers Objective 1: Reliable, multi-DC job processing Service Platform Operations, Analytics D: Tech debt EOQ To do To do

Program 9. Growing Wikipedia across languages via recommendations[edit]

Goal owner: Leila Zia

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Surface relevant information about the articles to editors at the time of editing with the goal of helping editathon organizers Objective 1: Build, improve, and expand algorithms that can provide more detailed recommendations to editors about how an article could be expanded. (task T171224)
  • Build a prediction model to predict section ranks within category (task T174737)
  • Build a tool for article expansion recommendations and run a test for editors and editathon organizers (task T174739)
  • Submit a paper on article expansion recommendations, write a blog post, assess if any data release is helpful (task T174736)

Research

  • External collaborators (Bob West, Michele Catasta, Tiziano Piccardi)
  • Baha
  • Pau

B, C

EOQ To do To do

Program 10. Public cloud services & support[edit]

Goal owner: Bryan Davis

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Members of the Wikimedia movement are able to develop and deploy technical solutions with a reasonable investment of time and resources on the Wikimedia Cloud Services Platform as a Service (PaaS) product. Objective 2: Migrate Tool Labs account workflows from Wikitech to Striker where they are easier to integrate with the new user onboarding workflow and easier to maintain WMCS Research A: Foundation goal (Community)

B. Serving our Audiences

EOQ To do To do
Outcome 2: The 'Labs, labs, labs' branding confusion is eliminated. Branding is separated, so that all of these are no longer referred to as just ‘Labs”: infrastructure as a service product, the platform as a service product, the team that manages those products, and the community that uses them to produce technical solutions. Objective 1: Complete initial outlined rebranding activities and announcements by 2017-12-31 WMCS C: Improving our offering EOQ In progress In progress
Outcome 3: Wikimedia community members, Foundation staff, and potential contributors are aware of the breadth of products and services offered by the Cloud Services team. Objective 1: Promote available services and products at relevant conferences, hackathons, and within the Wikimedia communities WMCS Technical Collaboration A: Foundation goal (Community)

B: Serving our audiences

EOQ To do To do

Program 11. Improving citations across Wikimedia projects[edit]

Goal owner: Dario Taraborelli

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Quantitative research is available to help Wikipedia and Wikidata contributors focus and prioritize their sourcing efforts Objective 1: Estimate what proportion of content in Wikipedia or Wikidata is unsourced and in need of citations. Publish a rich dataset on citation contexts to support additional research on Wikipedia sourcing gaps (task T175663)
  • Research
  • Scoring Platform
  • External Collaborators (Andrea Forte, Meen Chul Kim)
C EOQ To do To do
Outcome 3: Outreach activities continue to ensure community and technical efforts are aligned Objective 1: Fundraise for, and host the 3rd annual meeting in the WikiCite series Write a report for the funders (task T176500) and fundraise for WikiCite 2018 (task T174750)
  • Research
  • Admin
  • Advancement
  • WikiCite steering group
B EOQ To do To do

Program 12: Grow contributor diversity[edit]

Goal owner: Leila Zia

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: To do To do

Product departmental programs[edit]

Note: When the draft annual plan was written, the Search Platform and Fundraising Tech teams were in Product. They were moved into Technology during the "tune-up" in June 2017.

Program 1: Make knowledge more easily discoverable[edit]

Goal owner: Erika Bjune

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
  • Goal 1: Outcome 1: Through incremental Discovery improvements, readers are better able to discover and search for content.
  • Objective 1: Implement advanced methodologies such as “learning to rank” machine learning techniques and signals to improve search result relevance across language Wikipedias.
  • Begin to automate the machine learning pipeline, starting by targeting eight to ten languages, other than English, that match (at a minimum) current performance and then deploy those models.
Search Platform Analytics, Operations, Community Engagement C. Improve our own feature set EOQ In progress In progress
  • Goal 1: Outcome 1: Through incremental Discovery improvements, readers are better able to discover and search for content.
  • Objective 2: Improve support for multiple languages by researching and deploying new language analyzers as they make sense to individual language wikis.
  • Investigate open source language software that is available and see if it can be converted into ElasticSearch plugins.
  • Investigate usage of fall-back languages and fuzzy (phonetic) matching.
  • Continue general language support.
Search Platform Analytics, Operations, Community Engagement A. Foundation Goal: Reach,

C. Improve our own feature set

EOQ In progress In progress
  • Goal 1: Outcome 1: Through incremental Discovery improvements, readers are better able to discover and search for content.
Address technical debt:
  • convert existing Selenium tests to Node.js
  • investigate ownership and maintenance of Logstash
Search Platform Operations, Search Front-end D. Technical Debt EOQ In progress In progress
  • Goal 2: Outcome 1: Through improvements to the user experience of search interfaces, users are better able to find content in an intuitive and easy way.
  • Objective 4: Investigate how to expand and scale Wikidata Query Service to improve its ability to power features on-wiki for readers
  • Work on sub-category filtering and searching within the Wikidata Query Service.
Search Platform Analytics, Operations, WMDE C. Improve our own feature set EOQ In progress In progress

Program 7: Payment processor investigation and long-term strategy[edit]

Goal owner: Katie Horn

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Advancement and fr-tech find a solution that lowers or does not increase current maintenance costs. Q2 we will be running down our list of options and investigating them. We have priority meetings regularly As time allows: possible tech investigations Advancement/fr-tech Advancement management D EOQ To do To do

Program 8: Donor retention[edit]

Goal owner: Katie Horn

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: In FY 16/17 four well-trained team members spent 106 hours on deduping related to the English campaign. One of those employees may not be available for this task next year and a new contractor may help. We still hope to reduce the hours spent. We have scoped out several phases to fix names and addresses Work on Phase 1 and 2 in the spec attached to task T143057 fr-tech Major Gifts team B EOQ To do To do

Cross-departmental programs[edit]

Community Health[edit]

Segment 3: Research on harassment[edit]

Goal owner: Dario Taraborelli

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: We aim to understand and model the characteristics of harassment in Wikimedia projects. Objective 1: Conduct research to characterize and model wikihounding. (task T171249)
  • Analyze editor-editor interactions for instances of wikihounding (task T175664)
  • Research
  • Community Tech
  • Scoring Platform (consulting)

A (Community), C

EOQ

In progress In progress
Outcome 1: We aim to understand and model the characteristics of harassment in Wikimedia projects. Objective 2: Prototype new models to facilitate sockpuppet detection and the classification of toxic discussions. (task T171251)
  • Publish an annotated dataset of conversation structures on English Wikipedia talk pages and submit a paper on early indicators of toxic conversations (task T175666)
  • Prototype new models to facilitate sockpuppet detection (task T171635)
  • Research
  • Community Tech
  • Support and Safety
  • External collaborators (Lucas Dixon, Nithum Thain, Cristian Danescu-Niculescu-Mizil, Yiqing Hua, Srijan Kumar)

A (Community), C

EOQ

In progress In progress

Privacy, Security, and Data Management[edit]

Segment 2: Technology[edit]

Goal owner: Nuria Ruiz

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 2: To protect user data and uphold movement values, the Wikimedia Foundation continues compliance with best practices for data management Objective 3: Ensure retention guidelines are being followed Purge all old data from EventLogging master task T168414, Data Purging for eventlogging data slaves task T156933 Analytics To do To do
Segment 3: Office IT, Outcome 1: Through improvements to our organizational security posture, the Foundation ensures the high-quality protection and security of our infrastructure and data Objective 1: Evaluate current security practices and make changes and provide training as appropriate Evaluate and recommend an outside solution for ongoing WMF employee training on protection from phishing OIT, Security, Legal DBAs (Ops) To do To do

Structured Data on Commons[edit]

Segment 1: Database Integration[edit]

Goal owner: Tim Starling

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
  • Outcome 2: Introduce Multi-Content Revisions
  • Objective 2: Enable saving components to use the new backend. Update transaction management facilities to ensure changes to one or more types of content in a page are committed safely in the database and related systems.
  • MCR sufficiently ready such that the Multimedia and Search Platform teams can start using it to test and prototype things
MediaWiki, WMDE EOQ To do To do

Segment 2: Search integration and exposure[edit]

Goal owner: Erika Bjune

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Readers, editors, and content re-users can find media [on commons] using precise queries. Objective 1: Commons search will be extended via CirrusSearch and Elasticsearch and Wikidata Query Service, to support searching based on structured data elements describing media.
  • Determine advanced search requirements and measures for structured data on commons.
Search Platform, Analysts, WMDE C. Improve our own feature set EOQ In progress In progress
Outcome 1: Readers, editors, and content re-users can find media [on commons] using precise queries. Objective 2: Advanced search capabilities (e.g., Wikidata Query Service, SPARQL queries) will be updated to support the more specific media search filters and the relationships to the topics they represent.
  • Begin work on prefix- and full-text search in ElasticSearch on Wikidata in preparation for the Structured Data on Commons project.
Search Platform, WMDE Operations C. Improve our own feature set EOQ In progress In progress

Segment 4: Programs[edit]

Goal owner: Jonathan Morgan

Annual plan outcome Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 2: Develop a better understanding of existing needs for Structured Commons Objective 1: Attend movement and GLAM network events that allow us to identify needs and priorities for this stakeholder groups.(task T171252)
  • Complete and report GLAM stakeholder interview research (task T159495)
  • Conduct survey of GLAM Commons contributors' workflows, wants and needs (task T175188)
Research Community Programs; Technical Collaboration C EOQ In progress In progress
Outcome 2: Develop a better understanding of existing needs for Structured Commons Objective 2: Write case studies and documentation for Commons and Wikidata projects that allow project development among Wikimedia Communities and allow us to identify gaps in existing tools.(task T171252)
  • Interview 6-10 volunteer contributors to Wikimedia Commons to understand current workflows and impact of structured data (task T175185)
Research Community Programs; Technical Collaboration; Multimedia C EOQ To do To do

"Missing" Program[edit]

In early 2017, when the Fundraising Tech team (fr-tech)was developing their FY2017-18 annual plan, they were discouraged from including any kind of program related to the actual raising of funds. Since then, as an organization, we have decided to try to capture more of our work in the form of quarterly goals within programs.

Fr-tech works closely with Advancement to raise the target budget each year. Their first priority is the maintenance of current systems and the support of live activities and campaigns for Advancement. At least 50% of the budget is raised in Q2 (Oct-Dec) each year. The following work is not expressly called out in the annual plan but is essential to the funding of this organization. The table is structured as if there were a program in the annual plan.

(Faux) Annual plan outcome (Faux) Annual plan objective(s) Quarterly Work (or Goal) Primary Team(s) Dependencies Tech Goal ETA Status
Outcome 1: Advancement and fr-tech raise the target budget amount for the year Conduct a successful English fundraising campaign Support the English Campaign:
  • Maintain all live systems as best as possible through the English Campaign
  • Respond to changes in traffic, security and stability (including external vendors)
  • Support changes in Advancement tactics
fr-tech with Advancement Advancement, External vendors: Ingenico and Adyen EOQ To do To do

Please note that virtually all activities in fr-tech are for fundraising purposes, and are budgeted as fundraising (and not as "programs") in the non-profit accounting format. Anything labeled as an fr-tech project or programs is budgeted as non-programmatic work.