Page MenuHomePhabricator

Revise the Dashboard if it requires splitting into more specialized and general ones
Closed, ResolvedPublic

Description

Description:

Review the Web Team Performance Dashboard and evaluate if it needs to be split into more specialized and general ones based on the feedback from the stakeholders and users. Each dashboard should have a clear purpose and scope, and provide relevant and actionable insights for its intended audience. The documentation of each dashboard and the boards the web team uses should be updated accordingly.

Acceptance criteria:

  • The Web Team Performance Dashboard should be revised based on a user research and testing process that involves collecting feedback from stakeholders and users, identifying pain points and opportunities for improvement, and validating potential solutions.
  • The revised dashboard(s) should have a clear title and a brief introduction explaining their purpose and scope, as well as how they relate to other dashboards if applicable.
  • The revised dashboard(s) should display only the most relevant metrics and charts for their intended audience, avoiding unnecessary clutter or duplication.
  • The revised dashboard(s) should follow best practices for data visualization design, ensuring that each chart is accurate, clear, consistent, and engaging.
  • The documentation section of each dashboard should be updated with information about how to use and interpret each chart, as well as any assumptions or limitations that apply.
  • The boards the web team uses should be updated with links to each dashboard and a summary of their key features and benefits.

Event Timeline

Jdlrobson subscribed.

on the feedback from the stakeholders and users

My understanding is the web development team is the only stakeholder and user of this board. The purpose of the dashboard is to allow us to monitor the impact of our deployments on production code and to allow us to build email alerts that notify us of any problem with deployments.

This seems like a short discussion in SHDT after which we can change this task into something more actionable. @Mabualruz can you take some time to prepare a discussion for September 20th?

Some topics to cover in the SHDT meeting that I feel we should seek to answer before building any dashboards:

  • Do we understand the existing dashboard?
  • What are the problems/limitations the existing dashboard?
  • Do we have a shared understanding of what a performance budget means?
  • How do we enforce a performance budget within our team?
  • How do we enforce a performance budget outside our team?
  • Are dashboards useful for a performance budget?
  • Are alerts useful for a performance budget?
Mabualruz updated the task description. (Show Details)

Some topics to cover in the SHDT meeting that I feel we should seek to answer before building any dashboards:

  • Do we understand the existing dashboard?

Yes But we need to document the current state https://phabricator.wikimedia.org/T345990

  • What are the problems/limitations the existing dashboard?

Mostly alerts rules, and organisation, and might need a couple of extra charts or visuals depending on the documentation and analysis.
Check subtask of https://phabricator.wikimedia.org/T337404

  • Do we have a shared understanding of what a performance budget means?
  • A performance budget is an estimate of expected (Goal) future performance metric values for a set period of time.
  • Like a normal budget these needs recurring updated over a set periods of time, or can be mathematically auto update and correct itself over time.
  • A performance budget can be set as a max value to reach, or can be a percentage over or under a mathematical calculation over previous data set.
  • A performance budget has 1 alert that you exceeded the budget assigned.
  • Performance regression alerts is not part of the budget alert, but surely work in toward the same goal.
  • There is 2 sets of performance budget that we need to define:
    • General longterm goal budget: this is the target that we aim to get to even if it is somewhat not possible short term. Maybe a yearly or twice a year check and revision. This should have a lower level alert if any.
    • Specific short term budget: this is a target that we aim for each release or month, it should be revised on a schedule or automated. This should have a higher level alert.
  • How do we enforce a performance budget within our team?

Enforcement can be achieved by:

  • Communicating the budget to everyone within our team to align on goals.
  • CI pipe lines for our team's projects should include more robust checks for the budgets. ( we should try to improve and experiment with the size based ones as they are easier to run with each commit, maybe more CI automated testing can be done pre or post submit)
  • How do we enforce a performance budget outside our team?
  • Same as we do within the team for our projects.
  • For more general ones we can maybe elevate or integrate the CI to run on a core level and take into account all loaded js and css not just per skin/extension budgets.
  • Are dashboards useful for a performance budget?
  • grafana Dashboards and charts in general are good to visualise a situation, they do not stop us or allow us to define and implement a budget.
  • Are alerts useful for a performance budget?
  • grafana Alerts can be useful to check regressions in performance and a deviation from a budget.
  • A budget should guide the alert behaviour and alerts should be updated or be smart enough to follow the budget guide lines.

After a discussion within the web team in the SHDT, we concluded that:

This task is a sanity check over the dashboard and is not blocking to any other tasks related to performance budgeting.

Jdlrobson raised the priority of this task from High to Needs Triage.Dec 8 2023, 9:52 PM

Needs prioritization.

Mabualruz updated the task description. (Show Details)
Mabualruz added a subscriber: Peter.

@Peter updated the dashboards and descriptions. in a different task, I will resolve this maybe we can open tasks in the future for each specific board with specific requirements