As my new role involves Jira as our main workflow visualisation tool and Thoughtspot as our analytics platform, I don’t get as much time these days to build on functionality of FlowViz for Azure DevOps. However, as we near (hopefully) the end of lockdown in the UK, I used some free time over the past few weekends to make a number of new changes to the report.
Work Item Age
I was never quite happy with how this chart looked previously. Whilst I accept it was pretty easy to read, I don’t believe taking action off work item age *alone* (most likely always looking at the oldest) is sufficient. You need to see where it sits in the workflow to help aid that conversation. For example, if you swarmed/prioritised something with a high work item age that is relatively left in the workflow, say ‘In Development’, this may not be the right thing to do if you have lots of items with a lower work item age that are close to ‘Done’.
The new version of this chart helps provide a clearer picture of the workflow and all the items, hopefully allowing you to make more informed decisions. Each dot represents an item (items with the same age and same column overlap). Hovering on a dot reveals the work item ID, title, the date it was started and the days in progress so far.
Daily Work In Progress (WIP)
This was a revert back to an old chart. The previous version would show average WIP per week which, whilst helpful, could easily mask some problems with flow in your system. You could easily have really high WIP on Monday and Tuesday, but much lower in the subsequent days, which could mean you have a system falling foul of the ‘flaw of averages’. Whilst this may seem fine, I can’t see how an environment where you’re always starting your week trying to do lots of things at once is a healthy/enjoyable culture!
The new version now shows daily WIP, as well as retaining the trend-line. I also went with a stepped chart rather than a line chart as I believe this better highlights changes in increases/decreases in WIP.
Blocked Work
No actual change to the visuals here, just a back end/data loading one. Previously, the only way to get blocked data was to use tagging when items were blocked, then removing tags once unblocked. After a couple of requests via the Azure DevOps Club Slack channel, you now can also get the benefits of this data if you use an inherited process and add the Blocked field to the work item form.
One thing to call out here is that if you do both (I’m not sure why you would?) of these approaches to identifying blocked work, your numbers will come out crazy, as it will double count. Unfortunately there is no workaround for this, so if you do want to use these visuals, make sure you’re consistent in your approach to blocking work!
Cycle/Lead Time Scatter Plots
I’ve made a few tweaks to this one - the first main change being reducing the size of the dots. The previous scatter plot was hard to read (using the ‘out the box’ dot size) if you had lots of ‘done’ items.
I’ve also now managed to tackle the issue if multiple items finish on the same date with the same cycle/lead times by showing larger ‘dots’. The more items that have the same details, the larger the dot. A new version of the tooltip also means that you can see what these multiple items are and the associated details around work item ID, date they were ‘done’ and exact cycle time.
The final tweak was to remove the legend as given there is a legend in the line charts above showing the average cycle/lead time I felt this was wasted real estate on the report.
Azure DevOps Server Support
Finally, there is now a working version for Azure DevOps Server. Again this came via the Slack channel, where Vincent Quach offered tonnes of help in getting it setup for his organisation. As I don’t have a test Azure DevOps Server and didn’t have the time to set one up, his assistance in validating what I built was much appreciated. So for any folks out there who have longed for this in Azure DevOps Server - now you can use it!
Final thoughts
I’m always on the lookout for inspiration and new ideas when it comes to what can be visualized in FlowViz. Typically these come at random times, so I use the Notes app in my iPhone to jot them down.
Some current ideas I’ve yet to explore include:
One template that can cover all use cases instead of the four templates currently
Ability for scatter plots to highlight any items that were ever blocked
Use of Power BI anomalies to highlight ‘strange’ weeks and possible reasons
If you have any ideas yourself I’d love to hear them in the comments below or via the Discussion page on GitHub.
Please use the GitHub repo or Azure DevOps Marketplace to download the latest version!