Page MenuHomePhabricator

Settle on decision making process (governance model & DACI assignments)
Closed, ResolvedPublic

Description

Summary

The design system's governance model outlines the decisions, steps and collaborative processes involved in the creation, re-usage, modification and deprecation of system components (either core or project one-offs). It also sets clear collaboration guidelines that will enable teams to actively contribute to the system.

See the preliminary Governance Model diagram (pictured below)


Objectives

1. Validate the high-level paths and processes involved in the creation of components

From strategizing and ideating the component need until its release and deployment and ownership beyond.

Walk through the model and validate.

image.png (4×13 px, 2 MB)

See Figma for the living process model.

Former versions
v1: F34574303
v2.1: F34590165 (emphasized Hybrid model, “one-off component path clarification”)

Outcomes
  • Present & discuss at designer workshop
  • Bring our ideas and a refined model to the dev summit next.

Both presentations have seen interest and mostly asked for refinements: High-level like ensuring hybrid model for driver being either Product feature team/volunteer or Design System team or what's a one-off component T266687

Next steps

  1. Bring model to project managers/owners for feedback, probably in Product Saloon
  2. To be documented and shared in DS Team public-facing docs, like contribution guidelines and mediawiki.org,

2. Align on the initial model's guiding principles

The following guiding principles were developed and followed during the creation of the initial model:

  • Transparency: Tasks status and progress is clearly shared and made accessible to all stakeholders. Gatekeeping, development, design and product decisions are made in the open.
  • Enablement rather than enforcement: System consumers are considered contributors, and should be empowered by the core team to make decisions and own parts of the system. Product teams have a level of choice and impact on the system (e.g. suggesting components or variants, suggesting fixes or enhancements, or providing feedback for the governance model itself).
  • Knowledge sharing rather than knowledge silo: Contributors should have support and access to resources that allows them to understand and influence the system's workflows, methodologies, standards and infrastructure.
Outcomes
  • Present & discuss at designer workshop
    • Undisputed support at Designer Workshop

3. Identify and settle on decision-making steps for DACI assignment later

Identify & define all decision-making steps to assign in close exchange with stakeholders and leadership so-called DACI (Driver, Approver, Consulted, Informed) roles and responsibilities in the aftermath of developer summit.

See Product Department DACI & Atlassian documentation on the DACI model
Associated artifact: team working DACI document

Outcomes
  • Present & discuss at designer workshop
  • Refine responsibilities and role identifications based on feedback
  • Bring our ideas and a refined model to the dev summit next.

Next steps

  • Assign DACI steps roles & responsibilities team-internally and evaluate with management, planned by September 2020

Decisions

**The governance model for component addition has been presented in both, the designer workshop and the developer summit and has received general positive feedback and no objections. Since then we've modified it based on detailed questions and will continue to do so. Lastly, we agreed to further reach out to product owners for further feedback before sharing it out publicly.

The guiding principles will be added as general library principles.

The DACI matrix is still in the works (planned for September 2021) and will be further discussed internally. It will be aligned to other Foundation Product teams' DACIs and lastly shared publicly as well.

Event Timeline

Hi @Volker_E and @Sarai-WMDE - thanks for putting together all these materials in advance of the workshop. I've added comments on the WMF Governance Figma already, but copy+pasting them here as well:

  1. DACI roles
    1. Can we link to the definitions of the roles in DACI/RACI to ensure common understanding during discussion? I have been looking at this RACI framework from the Tech Decision Forum https://upload.wikimedia.org/wikipedia/commons/c/c4/RACI_TEMPLATE.pdf and this one for DACI https://www.atlassian.com/team-playbook/plays/daci. One piece that jumps out as atypical about the DACI here is that there is not one Driver and Approver, and the Product Owner is in the "C" slot instead of A.
    2. I would have expected the DS team to be Contributors and depending on the component, sometimes Product teams may be contributors and sometimes only Informed.
  2. First part of the flow which states "Product team / Volunteers lay out vision and consults design system to build it"
    • *FLAG* for discussion please. My understanding is that the DS team is building the Design System for us, so the Product teams and designers who utilise various components will be involved in consulting on design and implementation. This seems to suggest that it's the other way around, and that the DS team would be reacting to requests rather the ones reaching out to product teams. Is my reading correct here?
  3. Part of the flow which asks "Does the component exist?" – ** Does this mean whether it exists as a WVUI component, or if it exists as a component in current use (eg., existing OOUI component)?
  4. Part of the flow which asks whether the component is part of DS or a "one-off component" – what the definition of a "one-off" product?

Adding to the relevant questions shared by Rita (Thank you!) regarding the governance model:

  1. I'm not sure if I'm interpreting correctly the relationship between the DACI roles and the steps in the model: should we specify DACI roles for all the activities and decision nodes (e.g. "Template meets requirements", or "Sign off"), or would that be redundant?
  1. One-off vs. core DS components:

    a. (+1 to Rita's question number 4) What is the criteria that differentiates "core" system components from "product one-off"s? We should probably make sure to communicate and define said criteria with as much detail as possible in order to support objective decisions. Will the DS team have the last word when it comes to establishing said criteria?

    b. The model seems to indicate that the DS team won't be involved in the design and implementation of new Vue components that are identified as "one-offs". How might we prevent the potential introduction of inconsistencies by those components? Should designers and engineers working on product "one-off"s be able to request support or review from the DS team? Should that be the result of an "on demand" request, or a step contemplated by the model?

    c. Might be related to the ecosystem as much as to the model: how might the DS team keep track of the existing "one-off" components?
  1. Regarding the "prioritize according to roadmap" step: What determines who will implement the new component: does it depend on where the "vision" or need was originated (who's the driver)? Or on available resources?

A component has multiple representations for different purposes: documentation, code and design assets to use it in designs. Looking at the diagram I was curious about when a component is added to the component library in Figma for others to use in their designs.

Related to Rita's question of how is the process started, we may want to validate the workflow against the several usecases it may support (e.g., new components for a product vs. multiple existing ad-hoc solutions to be standardized)

Hi @Volker_E and @Sarai-WMDE - thanks for putting together all these materials in advance of the workshop. I've added comments on the WMF Governance Figma already, but copy+pasting them here as well:

  1. DACI roles
    1. Can we link to the definitions of the roles in DACI/RACI to ensure common understanding during discussion? I have been looking at this RACI framework from the Tech Decision Forum https://upload.wikimedia.org/wikipedia/commons/c/c4/RACI_TEMPLATE.pdf and this one for DACI https://www.atlassian.com/team-playbook/plays/daci. One piece that jumps out as atypical about the DACI here is that there is not one Driver and Approver, and the Product Owner is in the "C" slot instead of A.

I'd like to relay that question to @kchapman. Even though we've seen DACI assignments in a few places, I have not found a definition in Wikimedia territory either…

Volker_E renamed this task from Settle on decision making process also known as governance model to Settle on decision making process (governance model & DACI).Aug 2 2021, 4:47 PM
Volker_E updated the task description. (Show Details)
Volker_E renamed this task from Settle on decision making process (governance model & DACI) to Settle on decision making process (governance model & DACI assignments).Aug 2 2021, 11:27 PM
Volker_E updated the task description. (Show Details)
Volker_E triaged this task as Medium priority.
Volker_E updated the task description. (Show Details)