Closed peterflynn closed 9 years ago
NJ & I came up with this suggestion for how to calculate it:
Re-assigned to me.
@peterflynn I brought this up before, so I'm glad we're finally getting around to discussing it. The algorithm suggested here eliminates the overlap between cards within a release, but there could still be date ranges for cards that overlap across releases.
For example, a card for current release that was pushed from release to release could be 4 or 5 months old (e.g. "PR: #6409 Switch language / syntax mode of current document" card in current release) and really skew throughput for release.
Using most recent action date for the "end" for this release is reasonable. What we want for the "start" date is the "end" date of the previous release, right? This will eliminate overlap of dates across releases. We already prompt for "Ship It!" column for current release, so we can add a prompt for "Ship It?" column for previous release as well. How does that sound?
cc @njx @pthiess @dangoor
@pthiess and I spoke about throughput a couple of days ago. My understanding of throughput is that it has nothing to do with releases whatsoever.
Throughput is "number of cards per X amount of time" where we could choose to make X a week or a month. So, to calculate throughput you just need to look at how many cards landed in the done column over a given period. We'd then average that over time.
We have the extra variable of two different card sizes, but otherwise it's the same idea.
@dangoor
My understanding of throughput is that it has nothing to do with releases whatsoever.
Correct, but we just happen to organize our cards around releases, so it's convenient to use that info while we're calculating cycle times.
We could make a separate report where input is start and end time, and then search through all "Ship It!" columns for Cards that were complete during that time range. This would be addition work, but will be (somewhat?) more accurate.
@redmunds
Correct, but we just happen to organize our cards around releases, so it's convenient to use that info while we're calculating cycle times.
I believe we shouldn't intermingle releases and throughput calculation. As @dangoor mentioned the two are independent. If the throughput calculation is based on releases we should fix that. The release should just be a random point in time when we review the outcome. The idea behind Kanban as I understand it is that the focus is on throughput and not on time boxing (as opposed to sprints in SCRUM). It is not so important at which date something is landing, it is more important that it is landing as soon as possible after it has been prioritized and started. This is my understanding of optimizing the Kanban flow. I'm inclined to put the release 43 milestone on this since we need accurate data.
We just discussed this briefly. There's some work to be done to make this happen because it's different from how the script currently works. Before doing that work, we should decide as a team whether we're ready to move to Waffle or if it's worth investing more and sticking with Trello for a while.
Leaving needs review until after we've had that conversation.
Added this to Nominations as I need to discuss the timing with @ryanstewart. Instead of doing the fix for Trello we want to do this so that it works with github / Waffle.
Ready
) that were closed per weekReady
to being ready to ship (closed) Ship it
@peterflynn @pthiess Since we're now using Waffle this issue is obsolete. Closing.
Original Subject: Throughput calculation appears to be wrong
Copied from PR comment:
I think the cycle time data shouldn't actually factor into the throughput calculation at all. For example:
avgCycleTime === 1
avgCycleTime === 5
The throughput should be the same in both cases: 5 cards per week. But the equation in
getCategorySummary()
will instead give very different answers for these two cases...