WIP and Age of WIP over time

Issue #78 resolved
Bill Sheboy created an issue

Please consider adding a WIP over time and Age of WIP over time charts.

Along with your scatter chart (control chart) and work completed over time (throughput or velocity), additional charts for WIP will help teams better understand their workflow and how to improve it.

For WIP over time, this chart could be shown as a line chart, and also include an Average WIP indicator line.

For Age of WIP, this chart could be shown as either a line chart or a histogram, and possibly include an average Age of WIP indicator line.

Thank you!

Comments (25)

  1. Bill Sheboy reporter

    Greetings!

    If you are considering a faster way to start this suggestion, please consider updating the “Control Chart” gadget to allow selecting the current date/time, {{now}}, as the Cycle Finish point, rather than using a log entry date/time.

    The difference between an item’s start of work (in-progress) and {{now}} would be the Age of WIP. Enabling the average line (and/or percentiles) would help teams see stale items on their board, or where they have “flow debt”, which is when a team trades off working on new things over existing in-progress items.

    Please note this would only help with in-progress items. To see the Age of WIP for previously completed items, the engine would need to compute the age of each in-progress item, day by day, during the point in time plotted. That is why I suggested a new chart for this idea.

    Thanks!

  2. Danut M [StonikByte] repo owner

    Hi Bill,

    Thanks for posting these great suggestions.

    WIP is visible in Cumulative Flow Diagram chart. Isn’t this enough for ‘WIP over time'? We could eventually extend the CFD to allow the user to decide what series to be displayed (New, In Progress and/or Done). This way, if you select only the ‘In Progress’ series to be displayed, you will actually get a nice 'WIP over time’ chart. Would this work?

    Regarding the ‘Age of WIP’, I think it would be best to be a new chart / gadget. But how would you expect this to look like? Can you please provide a mockup or an example?

    Thank you,

    Danut Manda

  3. Danut M [StonikByte] repo owner

    Hi Marcelo,

    Thanks. I’ve got your answer, but I had to remove your previous comment as it contains some info that might be considered 'sensitive'.

    We would be happy to receive your suggestions over email at support@stonikbyte.com.

    Thank you,

    Danut Manda

  4. Former user Account Deleted

    That’s fine…..you could’ve just removed the images…

    then again, there’s probably many examples out there of similar.

    Hopefully you kept the substance of it without the images, because I really don’t want to type all that in again. 🙂

  5. Danut M [StonikByte] repo owner

    Hi Marcelo,

    This is your original comment (without images). Feel free to repost it if you want.

    Marcelo Lopez commented on issue #78:

    @Danut Manda

    I suspect what @Bill Sheboy is referring to is a chart like this.

    This one displays the work items mapped within the zones of different percentiles.

    Here’s how you’d interpret that.

    Horizontally: The States or Statuses in the particular board or projects workflow (think:

    To Do → In Progress → Done

    or

    Assess → Design → Code → Test → Deployment → Done

    Vertically: The Cycle Time Percentile and AGE (how long that item has been IN that column)

    For the columns that are NOT DONE, an item would be assessed by it’s Cycle Time within that status. In other words (and I’m doing a somewhat loose assessment of the 2nd picture above…

    Dark Green → Something that is WITHIN the 50% of the Cycle Time in its particular column.

    Lime Green → Something that’s WITHIN it’s 65% of the Cycle Time within its particular column.

    Yellow → Something that’s WITHIN 75% of the Cycle Time within its particular column.

    Orange → Something that’s WITHIN 85% of the Cycle Time within its particular column.

    Red → Something that’s ABOVE 85% of the Cycle Time within its particular column.

    The above is ONE interpretation that could be applied to that picture…

    The point is to see “How Fresh” are things within EACH STATE within the Workflow. If you look at a Jira Item, and you activate:

    You’ll see dots show up on a the Story/Task/etc cards in a projects
    Kanban. This set of dots represent how long something’s been in THAT
    status in the workflow. The images above are effectively a way to repesent:

    How long has everything within the workflow been sitting in the respective status it’s currently sitting in.

    This is ONE way of using this chart.

    Another one is that for any item entering the workflow as it moves from LEFT to RIGHT, the item moves UP within each of the percentile ranges over the OVERALL DISTRIBUTION of Cycle Times.

    I don’t think that’s what Bill is asking for, but may be something to consider as well.

    Drop me a line if you want to discuss further.

    I hope this helps.

    Marcelo

  6. Danut M [StonikByte] repo owner

    Hi Marcelo,

    I have one question. Let’s assume that we have 10 items in column ‘Test'. Obviously, their age in column gives their position on the vertical Y axis. But on what criteria should they be positioned on the X axis WITHIN the column 'Test’?

    Danut.

  7. Former user Account Deleted

    Hi Danut,

    Short answer: Yes. Each dot indicates a work item of the type (from the filter or board [which is based on a filter, I know]). When 2 or more items co-incide in duration, they can either be lain next to one another. If they get to be “substantial” (i.e. they would take up whatever width the column ended up being) they could be consolidated into 1 dot which might indicate HOW MANY items have the same cycle time and are over-laying one another.

    Does that help?

    Marcelo

  8. Danut M [StonikByte] repo owner

    Yes. So apparently there is no specific criteria for positioning the items on x axis within the same column, other than avoiding the overlapping. Correct?

  9. Bill Sheboy reporter

    Hi, there!

    Sorry that I am late in responding to this spirited conversation! Thus I will try to be brief in my adding of thoughts:

    • Danut: Yes, the simplest form of a WIP over time chart is a CFD minus the “to do” and “done” regions. However this misses some powerful additions such as rolling average and variation (standard-deviation bands above/below the mean). The built-in Jira one is unhelpful in this area. I was suggesting a simple line chart with mean and percentile indicator lines.
    • Similarly, Age of WIP can be shown in a couple of ways I have seen: plot over time of mean, or median, with variation indicators; or as similar data with process steps shown left-to-right on the x-axis.

    To avoid posting someone else’s intellectual property as chart examples, I can instead refer to a few reference source books which further explain the value and construction of such plots:

    • Actionable Agile Metrics for Predictability: An Introduction, by Daniel Vacanti
    • The Lean Six-Sigma Pocket Toolkit, by Michael L George, et al.
    • The Principles of Product Development Flow: Second Generation Lean Product Development, by Donald G. Reinertsen

    Thanks again for your help and support!

    Kind regards,
    Bill

  10. Former user Account Deleted

    +1 what Bill said…although it would just as easy for examples to : WIP Aging Chart

    Which is what I probably should’ve done.

    The only issue I have with referring directly to the “Actionable Agile Metrics” is that if you look at the charts in there…they won’t help that much because none of the graphics are in color (nor for the follow-up book “When will it be done?”), hence why looking at some colorful examples will help further.

    Oddly enough, you could even start with very simple representation of:

    How many things in each one of the states in the workflow, are in a particular percentile of X days.

    Before we had the statistical tools for visualizing (yes, back in the old days), we would color code a card (yes, on a physical board) according to how many days it was in a particular column from the day it entered in that state, then as time progressed, we’d update the color according to how long it had been there, according to policies we’d set as a group.

    1-2 Days Green

    2-4 Days Yellow

    5+ Days Red

    as an example.

    It’s not statistical, but it served the purpose of motivating action, which is the basis of WIP aging anyway.

    Something else to consider.

  11. Danut M [StonikByte] repo owner

    Thanks Bill & Marcelo for this great input. At this moment we have enough info to begin the work on a first version of the WIP aging chart. It is WIP. Stay tuned!

    Danut.

  12. Bill Sheboy reporter

    Thanks, Danut!

    That is an interesting chart, as it shows the Age of WIP by status for the in-progress issues only (which is essentially a one-status, running cycle time). I was also thinking of:

    • this chart instead showing total age of WIP (from start of in-progress) and mapped to the column,
    • and a time-series chart of the total age of WIP over time, not just for the currently in progress issues. The time-series helps teams learn how this is changing over time.

    Kind regards,
    Bill

  13. Danut M [StonikByte] repo owner

    Hi Bill,

    Thanks for the feedback.

    Indeed, the chart now calculates the age as:

    • the total time in current workflow status, if the ‘Display chart by’ is set to ‘The statuses of the issues’
    • total time in current board column, if the ‘Display chart by’ is set to ‘The columns of the selected board'

    We followed the advice of Marcelo on this, where age is “how long that item has been IN that column”, which makes a lot of sense to me.

    But your point for calculating the age as “time since the start of in-progress“ seems also valid. To me it means the sum of time spent in all the “in-progress“ statuses/columns, regardless its current WIP status/column. I think we can make it configurable, so that the user can decide how the age is calculated.

    Regarding “WIP Over Time“, to me it looks like a different chart / gadget. We are still debating if this should be made as a new gadget or extending the existing CFD gadget. I would recommend creating a different ticket for this, for tracking it separately.

    @Marcelo Lopez Did you get the chance to try this new gadget. What do you think about its current implementation?

    Thank you,

    Danut Manda

  14. Danut M [StonikByte] repo owner

    Hi Bill,

    We added the “Age calculation method“ as an option in the gadget settings.

    Please pick the appropriate option for having WIP calculated “from start of in-progress“.

    Looking forward for your feedback.

    Danut.

  15. Former user Account Deleted

    @Danut M [StonikByte] Few thoughts….Love the first start.

    Let me know if the following would be better served by separate issues being submitted.

    1. Display statuses or columns even if there are no items within them. (I know that might present further challenges…we can discuss, there’s a reason I’m saying this).
    2. Assess which issue types show up, and permit to selection “by Issue Type”.
    3. Permit a “Back to the Future” feature where the person can scroll through between dates, and observe items as they flow through each of the statuses/stages of a workflow. (again, this is a longer conversation).
    4. Permit an option to differentiate between “Blocked” (i.e Flagged is set ) and “Unblocked” (Flagged is EMPTY) times within the chart (this feature can also apply to other gadgets as well).
    5. Display things above different percentiles in different colors (50% or below - Green, 50-75% - Yellow, 75% or above - Red. That’s just an idea.)

    I suspect #5 will be the easiest right now. I’ve already implemented this gadget in several teams, and given them guidance on how to use it….I will gather further feedback from them regarding it. Some of the above is coming from some folks as initial feedback (I’ve distilled it).

    @Bill Sheboy Thoughts?

    Marcelo

  16. Bill Sheboy reporter

    Hi @Marcelo Lopez !

    • I believe (1) is already happening with the new gadget. Please try the various options to see that.

      Perhaps (2) and (4) can be done with filters, although that would require separate gadgets. I like your thinking on this built-in additional filtering, as I suggested a similar thing for “done” on the CFD, helping to show work which was abandoned partway through delivery.

      I am uncertain if I would use (3), except as a diagnostic tool to better understand an outlier

      And I agree on (5), although accessibility compliance issues could make implementing it busy on the chart

    Hi Danut!

    Thanks for the new option, and I suspect that having the time series is a different chart. I probably should have created two requests rather than one when I submitted this idea. As you have implemented thus far, this will certainly help to find any “WIP debt” on the board currently. The time series helps with process/workflow improvement conversations at a larger timeframe.

    Thanks,
    Bill

  17. Former user Account Deleted

    @Bill Sheboy Hmmm….Can’t seem to get #1 no matter what options I try. For me, only columns that actually have items within them, are showing up.

    I hear you on that #2 and #4 could be done with filters, but as you said, you would end up with having to use separate gadgets….i.e. messy (Some people will balk at “having to context switch between gadgets”. Then again, some might like it. Can’t please everyone per se).

    #5 could use a palette selector if you wanted to. I know that those particular color choices might draw accessibility concerns, but one could be afforded to set “Color for X percentile”. It’s a thought.

    Lastly, #3 is precisely for that reason, as a diagnostic tool, just as you can “zoom scroll” on a CFD. A “Back to the Future” option would allow you to “scroll through the WIP across time”. When I mentioned this to a Scrum Master for one of the teams I work with, She was really keen on this idea, so there’s at least one fan out there.

    and +1 to your assertion about process improvement conversation on the basis of “across time” is useful for that (and when I’m using “the OTHER tool with the initials ‘AA’” I use that for that purpose).

    This is a great conversation, thanks for including me, gentlemen.

  18. Bill Sheboy reporter

    For (1) please try selecting a Board (not a filter) and the Columns (not the status values). That worked for me to show everything, with and without WIP.

    Regarding (3), we previously did that when we were in the office (back in the “before times” :^) as we had a physical and Jira board. After taking a picture daily we had a movie of the board evolution over time, which we could zoom in on to see the details of outliers regarding WIP. I think there are other addons which support this with a slider, timeline view of boards.

  19. Danut M [StonikByte] repo owner

    Hi Bill & Marcelo,

    This is an awesome discussion. Thanks both for this valuable feedback.

    Our answers to Marcelo’s requests above.

    1. Indeed, if you select a Board and By Columns, it displays the empty columns. We modified the gadget to also display the empty statuses when a Board with By Statuses is selected. The statuses display order criteria in the chart is: by the order of their columns, then by their order in the board column. So the order can be adjusted via the board configuration.
      We cannot display the empty statuses when the gadget is configured to use a Filter, because there might be too many (all the WIP statuses defined in the Jira instance); instead we display only the ones that contain at least one issue. It should be enough. So this request should be now "done".
    2. As Bill said, if you want to display only the issues of a certain type, you can adjust the filter's JQL accordingly. This is one of the reasons for implementing the "By Filter" option because it gives full flexibility to the user in deciding what issues to include. I know it would be nice to have it at GUI level, but some people might then ask why filtering only by type and not by priority, or by component, by project, or by Flagged etc? For now we will leave it as is.
    3. I guess you actually want to see how the WIP items on the board looked like at certain times in the past (like "As of 12-DEC-2020")? Not sure how much value this adds... Why would you be interested in seeing how the board looked like days or months ago? Even if for debug reasons, I'm not sure if this would help too much. You could eventually fill a new request. If there will be additional votes for it, we might implement it at some point.
    4. This is similar with 2. from above
    5. Please fill a new ticket for this. It needs additional discussions regarding the percentiles.

    Danut.

  20. Former user Account Deleted

    I will create the ticket for #5 and point it to this issue for reference purposes.

    Here’s is the issue with using a “Filter” versus a Board. What if I want to use a Filter, but still use the “Board columns”. This is the same issue I run into with the CFD.

    For #2 and #4

    If I use a Filter, I get the statuses (which may not match the columns, or what’s worse, I may get individual columns for individual statuses that might themselves by N-to-1 mapped “status to board column”.

    Also, #4 is about having the gadget differentiate between the “my (the items)total WIP age”, and the “I was/am blocked for X amount of that time”.

    Since the gadget draws the WIP of the items from Left-to-Right (at least that’s how it appears because the order of the dots from Left-to-Right change each refresh), this differential could be expressed as if the cursor hovers over a dot, to draw “something” to where the item would be, if it you exclude the “time the item had the ‘Flagged’ field set”. This is done via a toggle in other applications, but could be done via the same “hover” event handler that displays the little popup window.

    Here’s an example of what I’m describing. And this is just one way of representing it.

    The rationale for #3 is, as both of you assessed, a diagnostic one. The rationale for it is actually simple.

    It’s to visually assess and ascertain how the different percentiles have changed over time. Allowing one to scroll “back to the future” permits a PM or frankly anyone to ascertain how their WIP Age has changed in any given status in their workflow, across time. How have we improved (or NOT) our flow within each state. The idea being to assess, especially with regards to a particular bottleneck, how said constraint has been exploited (or not). I think the two of you are right, and I’ll open a separate issue for this. One could use a CFD for this purpose too, but it’s a much poorer visualization of the behavior than a WIP Aging chart equipped with this functionality.

    Returning back to #1, I could’ve been clearer. After I’d re-read what I said and what @Bill Sheboy said, it occurred to me what was in fact, missing, is that in some workflows, there are inventory queues (“To Do” status category) and columns in the Kanban board with those those queues. It would be useful to see WIP age in those “To Do” queues as well. Especially, if the user selects “Board” as the setting. Both “To Do” and “In Progress” columns would be helping, because it allows for quick visualization of what “Volume” and “Age” of things in each column of the Kanban.

    Perhaps this might be another issue to open, unless you think it can be easily integrated into the current Gadget.

    Thoughts?

  21. Danut M [StonikByte] repo owner

    Hi Bill & Marcelo,

    Happy new year!

    I am happy to announce that we have just released a new version of the app that includes the WIP Run Chart gadget as per your request.

    More details here: https://bitbucket.org/StonikByte/great-gadgets-add-on/wiki/Home#!wip-run-chart-gadget

    Please give it a try and share your feedback with us. You will have to upgrade to latest app version first by clicking the Upgrade button in Apps > Manage apps page.

    Looking forward for your reply at support@stonikbyte.com, because this tracking system is deprecated.

    Thank you,

    Danut Manda

  22. Log in to comment