{"action":"created","issue":{"url":"https://api.github.com/repos/MozillaFoundation/plan/issues/403","labels_url":"https://api.github.com/repos/MozillaFoundation/plan/issues/403/labels{/name}","comments_url":"https://api.github.com/repos/MozillaFoundation/plan/issues/403/comments","events_url":"https://api.github.com/repos/MozillaFoundation/plan/issues/403/events","html_url":"https://github.com/MozillaFoundation/plan/issues/403","id":64273691,"number":403,"title":"A Dashboard for Engineers","user":{"login":"adamlofting","id":1901816,"avatar_url":"https://avatars.githubusercontent.com/u/1901816?v=3","gravatar_id":"","url":"https://api.github.com/users/adamlofting","html_url":"https://github.com/adamlofting","followers_url":"https://api.github.com/users/adamlofting/followers","following_url":"https://api.github.com/users/adamlofting/following{/other_user}","gists_url":"https://api.github.com/users/adamlofting/gists{/gist_id}","starred_url":"https://api.github.com/users/adamlofting/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamlofting/subscriptions","organizations_url":"https://api.github.com/users/adamlofting/orgs","repos_url":"https://api.github.com/users/adamlofting/repos","events_url":"https://api.github.com/users/adamlofting/events{/privacy}","received_events_url":"https://api.github.com/users/adamlofting/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"adamlofting","id":1901816,"avatar_url":"https://avatars.githubusercontent.com/u/1901816?v=3","gravatar_id":"","url":"https://api.github.com/users/adamlofting","html_url":"https://github.com/adamlofting","followers_url":"https://api.github.com/users/adamlofting/followers","following_url":"https://api.github.com/users/adamlofting/following{/other_user}","gists_url":"https://api.github.com/users/adamlofting/gists{/gist_id}","starred_url":"https://api.github.com/users/adamlofting/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adamlofting/subscriptions","organizations_url":"https://api.github.com/users/adamlofting/orgs","repos_url":"https://api.github.com/users/adamlofting/repos","events_url":"https://api.github.com/users/adamlofting/events{/privacy}","received_events_url":"https://api.github.com/users/adamlofting/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-03-25T13:50:22Z","updated_at":"2015-03-25T18:15:28Z","closed_at":null,"body":"Things can go wrong with our products without us knowing, and it's hard to see at a glance where efforts are best spent optimizing our engineering output across our many sites and repositories.\r\n\r\nWe want to give engineers clear visibility into the metrics they have agency over, in order to improve the experience for end-users of our products, and our contributors, and the engineers too.\r\n\r\nThe metrics discussed here are those specific to the engineering domain (unlike those which are also impacted by design, UX, marketing, product, etc).\r\n\r\n### Audience\r\nMoFo engineers, and engineering contributors.\r\n\r\n### Success\r\nEngineers can see at a glance:\r\n\r\n* Pages with slow front-end performance (page load time)\r\n* Routes with slow back-end performance (server response time)\r\n* Pages with too many http requests to a single domain\r\n* Unanswered volunteer input in Github issues\r\n* PRs that have had no response at all\r\n* PRs that have had no activity for more than X days\r\n* Number of open bugs (total)\r\n* Number of bugs needing triage\r\n* Number of bugs by triage status\r\n* Number of bugs assigned to expired Milestones\r\n* Repos with code coverage below X %\r\n* TBC: There's a moco tool that scans a site for things like CSP, X-frame-options etc as a base level of sec requirements. Perhaps we could surface results from that? I can't remember the name right now.\r\n* TBC: Something like Gemnasium alerts for old dependencies (+ security alerts)\r\n* TBC: Something like a Codeclimate score?\r\n\r\nWhat else would the engineers like? \r\n\r\nThis is not a data reporting exercise (e.g. avg. response time to PRs over time) but instead an actionable list driven by data.\r\n\r\n### Vision\r\nBy separately surfacing the problem areas in a single dashboard, we have a single list of actions to take. This will hopefully be more effective at getting the problems solved than having to look through many larger reports to identify issues.\r\n\r\nOur work is distributed across many repos and projects, and the tooling for this dashboard may require a list of 'repos we care about' to run the analysis against.\r\n\r\nWithout wanting to make this task bigger than it needs to be. This feels like a tool that could be useful to many people with an open source project and many repos to maintain.\r\n\r\n### Measurement\r\n* Adoption of the dashboard(s) by engineering team\r\n* Regular referencing of the dashboard(s) in engineering (and/or Plan) meetings\r\n* Improvement in baseline results for the things we surface, and maintaining this improvement over time\r\n\r\n### Roles\r\n * Phase: Scoping\r\n * Driver: @adamlofting\r\n * Decision Maker: @simonwex\r\n * Design Lead: \r\n * Development Lead: \r\n * Quality Verifier: \r\n"},"comment":{"url":"https://api.github.com/repos/MozillaFoundation/plan/issues/comments/86155957","html_url":"https://github.com/MozillaFoundation/plan/issues/403#issuecomment-86155957","issue_url":"https://api.github.com/repos/MozillaFoundation/plan/issues/403","id":86155957,"user":{"login":"thisandagain","id":747641,"avatar_url":"https://avatars.githubusercontent.com/u/747641?v=3","gravatar_id":"","url":"https://api.github.com/users/thisandagain","html_url":"https://github.com/thisandagain","followers_url":"https://api.github.com/users/thisandagain/followers","following_url":"https://api.github.com/users/thisandagain/following{/other_user}","gists_url":"https://api.github.com/users/thisandagain/gists{/gist_id}","starred_url":"https://api.github.com/users/thisandagain/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thisandagain/subscriptions","organizations_url":"https://api.github.com/users/thisandagain/orgs","repos_url":"https://api.github.com/users/thisandagain/repos","events_url":"https://api.github.com/users/thisandagain/events{/privacy}","received_events_url":"https://api.github.com/users/thisandagain/received_events","type":"User","site_admin":false},"created_at":"2015-03-25T18:15:28Z","updated_at":"2015-03-25T18:15:28Z","body":"Excellent. Some of these items are particularly helpful for user support and prioritizing triage as well. The only thing I would add is error counts / rates (HTTP errors and exceptions from both API and client-facing services)."}}