DevTools/Planning/Performance: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{ForceRefreshButton}}
{{ForceRefreshButton}}


'''Performance Management Tools Stack'''
===What the hell is this?===
This is a Kanban board. It's simply a way of managing the flow of work through engineering from writing down the requirement to finally landing the feature without some big heavy process or methodology. (We all pray that we'll never start doing SCRUM.) We simply "stack" user stories into work piles that we process. Product management has a work pile of user stories they prepare for engineering to work on, and engineering has a work pile of user stories that are prioritized and ready to be implemented.


To track the pile of user stories related to performance management, we created the tracking bug 928571, also known by the alias "perf-kanban". To put a user story on the board, just create a "bug" that contains a user story or requirement, and make it block "perf-kanban". At that point, it's in what we call "the backlog". To get it going into the flow, just set the pm-scrub flag to "?" and now it goes into the pile of work for product management to look at. When PM has done the required work of scrubbing the user story (making sure there are no duplicates, that it has mockups, and that it fits into the "product story line" and that it's appropriately prioritized) then the PM flag is set to + and any engineer can assign themselves to it and implement it. After that, it's business as usual.


===Test query===
Bottom line: ideally, you want to work on new features that block "perf-kanban" and have the pm-scrub flag set to "+".
<bugzilla>
 
{
As a standard disclaimer: the process of preparing user stories for implementation isn't just a PM task, engineers and engineering managers at Mozilla should always be a part of the process of validating and refining any user story.
    "blocks": "928571",
    "status": "NEW",
    "whiteboard": "[US]",
      "flags": "pm-scrub+",
"flags_type": "not_contains",
    "include_fields": "id, priority, summary, status, assigned_to",
    "order": "bug_id"
}
</bugzilla>


===All===  
===All===  
Unfiltered query of all NEW bugs on the Kanban board.
For now, this is an unfiltered query of all NEW bugs on the Kanban board. Ideally this should be the backlog, i.e. incoming user stories not yet assigned to PM to work on. In terms of Bugzilla, it means status = "NEW" and the PM-Scrub flag has not been set. However, the query is broken, BugZilla doesn't respond to a "not_contains" type query on the flag.
 
<bugzilla>
<bugzilla>
{
{
         "blocks": "928571",
         "blocks": "928571",
"include_fields": "id, whiteboard, summary, status, assigned_to",
"include_fields": "id, whiteboard, summary, status, assigned_to",
        "order": "bug_id"
}
</bugzilla>
===Backlog===
The backlog contains all incoming user stories not yet assigned to PM to work on. In terms of Bugzilla, it means status = "NEW" and the PM-Scrub flag has not been set.
Note: Query is broken, BugZilla doesn't respond to a "not_contains" type query on the flag.
<bugzilla>
{
        "blocks": "928571",
        "status": "NEW",
    "whiteboard": "[User Story]",
      "f1": "flagtypes.name",
      "o1": "substring",
      "v1": "pm-scrub+",
  "v1_type": "not_contains_any",
"include_fields": "id, priority, summary, status, assigned_to",
         "order": "bug_id"
         "order": "bug_id"
}
}
Line 45: Line 22:


==="To be Scrubbed" Stack===  
==="To be Scrubbed" Stack===  
The PM work stack contains all the user stories that need to be scrubbed and prioritized by PM and engineering. In terms of Bugzilla, it means status = "NEW" and the PM-Scrub flag has been set to ?.
The PM work stack contains all the user stories that need to be scrubbed, validated, worked on by UI and prioritized by PM and engineering. In terms of Bugzilla, it means status = "NEW" and the PM-Scrub flag has been set to ?. Usually, most of these need mockups from UI.
<bugzilla>
<bugzilla>
{
{

Revision as of 04:56, 31 October 2013

What the hell is this?

This is a Kanban board. It's simply a way of managing the flow of work through engineering from writing down the requirement to finally landing the feature without some big heavy process or methodology. (We all pray that we'll never start doing SCRUM.) We simply "stack" user stories into work piles that we process. Product management has a work pile of user stories they prepare for engineering to work on, and engineering has a work pile of user stories that are prioritized and ready to be implemented.

To track the pile of user stories related to performance management, we created the tracking bug 928571, also known by the alias "perf-kanban". To put a user story on the board, just create a "bug" that contains a user story or requirement, and make it block "perf-kanban". At that point, it's in what we call "the backlog". To get it going into the flow, just set the pm-scrub flag to "?" and now it goes into the pile of work for product management to look at. When PM has done the required work of scrubbing the user story (making sure there are no duplicates, that it has mockups, and that it fits into the "product story line" and that it's appropriately prioritized) then the PM flag is set to + and any engineer can assign themselves to it and implement it. After that, it's business as usual.

Bottom line: ideally, you want to work on new features that block "perf-kanban" and have the pm-scrub flag set to "+".

As a standard disclaimer: the process of preparing user stories for implementation isn't just a PM task, engineers and engineering managers at Mozilla should always be a part of the process of validating and refining any user story.

All

For now, this is an unfiltered query of all NEW bugs on the Kanban board. Ideally this should be the backlog, i.e. incoming user stories not yet assigned to PM to work on. In terms of Bugzilla, it means status = "NEW" and the PM-Scrub flag has not been set. However, the query is broken, BugZilla doesn't respond to a "not_contains" type query on the flag.

Full Query
ID Whiteboard Summary Status Assigned to
625846 [performance] [shumway] Add Heap Snapshot and Analysis tools RESOLVED
834865 Web inlining tool RESOLVED
879008 [c=devtools p= s= u=][status:landedon] New UI for the sampling Profiler RESOLVED Victor Porof [:vporof][:vp]
885508 [difficulty=hard] [DevRel:P1] [meta] WebSocket Inspector NEW
929114 [User Story], [mockup] Live Frame Rate Visualization RESOLVED
929469 [devtools-platform][c=devtools p= s= u=] Add reflow markers invalidation reason RESOLVED
931898 [User Story], [mockup] [c=devtools p= s= u=] Recorded Frame rate visualization RESOLVED
931959 [User Story], [mockup] Frame Rate Drop Root Cause: JS RESOLVED
931968 [User Story], [mockup] Frame Rate Drop Root Cause: DOM RESOLVED
932008 [User Story], [mockup] Find Frequent Redraws in a Recording RESOLVED
932021 [User Story], [mockup] Find slow JS execution in a Recording RESOLVED
932075 [User Story], [mockup] Find unoptimized JS Execution RESOLVED
932553 [User Story], [mockup] Find orphaned DOM fragment leaks in a Recording RESOLVED
933006 [status:planned].[dependency: marketplace-partners][MemShrink:P2] Real Time Memory Visualization NEW
933026 [User Story], [mockup] Recorded JS Memory Profile NEW
933048 [User Story], [mockup] Finding short term memory leaks NEW
934015 [User Story], [mockup] Finding long term memory leaks RESOLVED
934022 [User Story], [mockup] Find references for GC'd objects NEW
938453 [User Story] Live Frame Rate widget API RESOLVED
940738 [User Story], [mockup] Objects Aggregated by Event handlers RESOLVED
957791 Firefox should tell me why particular JS objects aren't being freed. RESOLVED
962304 Memory tool should show total process memory consumption RESOLVED
979723 Diff comparison between two complete memory snapshots RESOLVED
1011224 Performance tools are available in WebIDE RESOLVED

24 Total; 5 Open (20.83%); 19 Resolved (79.17%); 0 Verified (0%);


"To be Scrubbed" Stack

The PM work stack contains all the user stories that need to be scrubbed, validated, worked on by UI and prioritized by PM and engineering. In terms of Bugzilla, it means status = "NEW" and the PM-Scrub flag has been set to ?. Usually, most of these need mockups from UI.

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


"Ready to implement" Stack

The ready to work stack contains all the user stories ready to be implemented. That means the stories have been flushed out, cleaned up and prioritized. In terms of Bugzilla, it means status = "NEW" and the PM-Scrubb has been set to +.

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


"In Progress" Stack

User stories currently being implemented. Bugzilla: status=ASSIGNED.

No results.

0 Total; 0 Open (0%); 0 Resolved (0%); 0 Verified (0%);


"Landed" Stack

User stories that have landed.

Full Query
ID Priority Summary Status Assigned to
625846 -- Add Heap Snapshot and Analysis tools RESOLVED
879008 P2 New UI for the sampling Profiler RESOLVED Victor Porof [:vporof][:vp]
929114 -- Live Frame Rate Visualization RESOLVED
931898 -- Recorded Frame rate visualization RESOLVED
1011224 -- Performance tools are available in WebIDE RESOLVED

5 Total; 0 Open (0%); 5 Resolved (100%); 0 Verified (0%);