Understanding Flow in your System
It’s important to see and understand how the work flows through your system. Whether that is your upstream funnel, (downstream) delivery system, your end-to-end value stream, or perhaps it’s a particular value stream segment you’re interested in? Is the work flowing through your system in a state of equilibrium? Or is there an imbalance in the system? Are there more requests that you can ever hope to address? Is your system starving? Or do work items take a long time before they are selected to be worked on? Once started, do they take a long time to get through to the end?
It’s important to visualise and understand your key flow metrics to identify the areas that are not in the desired state that need to be addressed. Systematically, which are the key numbers we should be trying to move in the right direction?
Something to note before we delve further is that we use the count of work items, and not velocity or story points. The reason being we are a platform supporting at scale, and story points are purely a team-level metric. The moment they are looked at outside a team, they are no longer meaningful.
Demand vs Capacity
Demand is the number of requests that have entered into your system over that period of time.
Capacity is your real-world capacity, what you are actually able to deliver. The number of items that have departed your system over that period of time.
If your Demand is greater than your Capacity, then your Inventory (typically your backlog) will continue to increase over time. You’ll likely have more work than you’ll ever be able to satisfy. Is this something you’ll need to address within your context?
Conversely, if your Capacity is greater than your Demand, eventually you’ll get through your inventory and your teams are at risk of starving.
Inflow vs Outflow
Inflow is the number of items started by the teams over the selected time period.
Outflow is the number of items completed by the teams over the selected time period.
If your Inflow is greater than your Outflow, it means your WIP will continue to increase over time. This typically has the knock on impact of longer lead time, lower throughput, and lower flow efficiency.
Conversely, if your Outflow is greater than your Inflow, this can be a positive in the short term (teams are attempting to bring their WIP down). However, over a longer period of time, it could mean your teams are starving, with not enough items ready for them to start.
Note that both Capacity and Outflow are the same value. It’s the throughput for the selected time period.
Inventory are the items that have been requested to your team, but haven’t started yet. For many teams, this is simply your ‘backlog’. For others, they may have several workflow steps before it reaches the ‘commitment point’.
The reason we refer to this as inventory is that this doesn’t come for free. There is a cost to maintaining it: estimation, prioritisation, splitting, discarding, elaboration etc. Too much inventory means a higher cost of maintenance. Too small and you are at risk of starving your teams.
What we also highlight in Flomatika, is your inventory size in time. Using your historical delivery rate (throughput), we can calculate how long it’ll take to go through your existing inventory. So we can say things like “You have 30 weeks of inventory”.
Commitment Rate is of all the items that were raised during the selected time period, how many were actually picked up by the teams?
Answers the question of “how much of our backlogs are actually worked on?” Does this give you an insight to how well your teams are meeting the demands asked of them? If your customers are aware of this number, would they be satisfied?
Time to Commit
Time to Commit is “how long does it take, most of the time, to before a request is started by the teams?” We use the 85th%ile to represent the “most of the time” component.
If your customers are aware of this number, would they be satisfied?
Commitment Rate and Time to Commit combined would give your customers a good indication on the likelihood, and wait time, for their requests to be started. With this information, they would be better informed of their available options. Perhaps their best course of action is not to go through this team/system. It might be better to look at other options. An alternate team perhaps? Or even to go to an external service to satisfy their needs.
The total number of items currently in Work in Process. Flomatika also calculates the average number of items in WIP per assignee.
We refer to it as ‘work in process’ and not ‘work in progress’ as often the work is in process (meaning it has entered your delivery system after the commitment point) but it may not actually be progressing.
This is important as out-of-control WIP is usually the cause of most flow problems as it directly correlates with longer lead time, decreased throughput and lowers flow efficiency.
A common scenario we’ve seen is where customers feel the system is too slow to address their demands. So they use the only lever available to them, which is to expedite items. This results in items “borrowing” lead time from other work items in the system, making the overall system slower. The cycle repeats, where the only option to get things done is to expedite them. Soon only expedites are getting done, and the whole system is fed on a negative reinforcing feedback loop resulting in a death spiral.
"The more it happens, the worse it gets. The worse it gets, the more it happens" - Marcio Sete, Flomatika Chief Technology and Product Officer
Avg WIP Age
This is pretty self-explanatory. It is the average time items are currently spent in WIP.
Focusing only on lead time can leave you blinded sighted to the state of things currently in WIP. It’s important to have visibility on what is happening now, as you can do something about it. Looking only at a lead time is only looking at the past. Consequently, WIP Age is a leading indicator. You can no longer influence their lead time as they have already moved to done.
Throughput is the number of items completed within the selected time period.
It is the ultimate measure of productivity. This is the ‘exit’ of your system. The goal is to move items to this state to satisfy your customer needs. It shows the ability of your system to get things done / to transform customer requests into value delivered.
It shows the cadence of value creation, which is why Flomatika calculates the average throughput per week.
Throughput is what the customer understands and values. Customers can’t use story points or spend it. It has no value to them. It is only meaningful within a teams’ setting.
Flow of Demands
Understanding your flow of demands will help you understand how the work flows through your system and where the areas of concern are for you to focus your effort towards. For an effective flow based system, you want your Ins and Outs to be in a state of equilibrium as much as possible.
For further analysis, you will want to see the next level of metrics to understand how the work flows through your system, and where are the points in your system causing flow issues. Through the use of our context menus and filtering, you can then conduct this analysis across multiple aspects. By normalised demands, flow item types, by teams or squads, custom fields and even custom views you can create.
Here are some other blogs you might find of interest: