Understanding Flow Efficiency Over Resource Efficiency in Software Delivery

Resource Efficiency in Software Delivery

‘Hard work vs smart work’ has always been a topic of debate in industries. With every passing day, the emphasis is shifting more towards smart work and that’s where flow efficiency is winning over resource efficiency. Organizations following the strategy of Resource Efficiency, focus more on maximum utilization of resources paying little attention towards flow efficiency whereas organizations focusing on flow efficiency work towards making their working process better.

Both Resource and Flow Efficiency act as performance indicators and measure the efficiency of how the team and the process are getting maintained. If these terms do not sound familiar, this blog will discuss how Flow Efficiency gives a better edge over Resource Efficiency in improving the overall productivity and delivery of your teams.

What is Resource Efficiency?

Organizations focusing on Resource Efficiency always desire to keep resources 100% occupied and in turn assign loads of work even beyond the capacity of the resources. This way the teams are kept busy all the time. This might sound like a great idea. But, the picture is something different especially when resources are working on multiple projects. For keeping the resources busy all the time, organizations often assign continuous jobs to the resources. This can work only if it can be guaranteed that a job done by a resource will not come back after review.

To understand the practical scenario, let us consider that an analyst completes the job of creating a specs document for project A and immediately takes up the next task— which may be for project B—assigned to him. Meanwhile, since the developer cannot sit idle, he starts working on another development job that has been assigned to him, which may belong to some different project.

Now, while the analyst is working on the next task from project B, his supervisor returns the specifications document of project A for rework. In that case, the analyst now has two pending tasks belonging to project A and project B. What shall he do now? Either he must pause the current task at hand from project B and work on the specifications document of project A or he continues to work on the current task and the previous task returned for rework has to wait until he is done with the current one. Eventually, the developer after completing his previous task, still cannot start working on the development task of project A as that task is now waiting for review feedback implementation by the analyst.

So, the overall picture is, although everyone is 100% busy, yet all the current work for project A progresses at a slow pace and gets into the risk of getting delayed.

What is Flow Efficiency in Software Delivery?

Flow Efficiency, on the other hand, talks about lean and reduction of waste in the production process. It talks about optimizing your process for making the production flow efficient so that maximum value can be delivered to your customer in minimum time. It recommends not to constantly engage every team member, but to ensure every aspect of the production pipeline is kept continuously moving through the workflow.

In Flow Efficiency, the emphasis is laid on work optimization for delivering software faster by reducing the waste.  Lean technique stresses on Pull System rather than Push Mechanism. A Pull System allows members to pull their next task depending on their available capacity to start working on it. This facilitates better prioritization of tasks and minimizes the overloading of jobs. Hence team members stay focused on working and completing the most important work just in time. This approach allows a team to deliver at a faster rate, minimize waste of resources, accelerate productivity, and improve flow efficiency.

How to Measure Flow Efficiency in Software Delivery?

Flow efficiency is a metric for measuring the team’s workflow. It calculates the Work Time (actual time spent by a team on a feature) with respect to the Lead Time (the time between the feature request and its completion). Higher the flow efficiency indicates the high optimization of the process of the team in converting a request to a feature. You can measure the Flow Efficiency by considering the following formula:

Work Time

Flow Efficiency = ——————————– X 100

Lead Time

For example, let us assume a feature is completed in 100 days and the work time is 30 days. By using the above formula, the Flow Efficiency of the team is calculated to be 30%.

30

Flow Efficiency = ——————– X 100

100

Though the value seems low, but it has been observed that flow efficiency of a team generally stays between 2% to 40%

Measuring Flow Efficiency is essential for understanding whether any serious effort would be required to improve the current work process or a few tweaks and adjustments in the process would help to fine tune it further.

Maintaining the Balance between Resource and Flow Efficiency

Both these approaches have their own pros and cons. From a customer point of view, Flow Efficiency has comparatively more importance, as it expedites the delivery with better quality. In addition, from an economic point of view, Flow Efficiency might not appear to be a wise choice since the skilled and highly paid experts often do not get the opportunity to utilize their full capacity.

So, there is a need to strike a good balance between the two.

How Kanban Can Improve Flow Efficiency in Software Delivery

It is observed that Kanban has become a simple and efficient method to track the flow of work and to discover bottlenecks in the process of development. It helps to increase a team’s Flow Efficiency in the following ways:

  • Displaying and helping to limit Work in Progress (WIP).
  • Allows easy monitoring of the flow of work through each phase of the delivery process.
  • The reports and metrics produced by Kanban increase your organization’s predictability.
  • Promotes a very thorough understanding of how things work (Process Management) and how work is getting done (Task Management).
  • Easily promotes more objective and rational discussions about the issues and risks amongst the team.
  • Helps to clearly envision your teamwork progress – better visualization of work since challenges such as additional time on documentation, asking for status updates, dependencies on others, etc. will be removed.
  • Restriction on the number of work in each stage of the process helps to maintain the workload balance and hence keeps it more streamlined.

Kovair Kanban Solution

Kovair ALM Studio is a 100% web-based application, featuring the Kanban board that helps to manage the entire software development process. Kovair Kanban helps you to configure your own Kanban board without discarding your existing process. This “code-less” configuration consists of the following steps:

  1. Configuring the Columns (Phases / Lanes).
  2. Identifying the various Card Types, i.e. Feature, User Story, Defect, etc. that are to be included in the Board.
  3. Restricting the card movement by specifying its boundary through Card status to board column mapping.
  4. Configuring the Swim lanes in order to streamline the execution process depending upon the card’s Priority, Class of Service, Size, Owner, etc.

Kovair Kanban Board

Figure: Sample on-going Kovair Kanban Board

Once the Kovair Kanban board is implemented, team members can pull up their own work (here cards) from the Backlog heap (what needs to be implemented) to the “To Do” stage and proceed with their work towards a successful, less error prone and high-quality completion.

Benefits of Kovair Kanban Solution

  1. Visualizing your work by:
  • Monitoring the work progress from a single virtual board interface anytime. With a simple mouse click one can get all the information in detail such as other related work items, priority, comments, attachments and more.

 

  • Performing Card movement between the Columns (Phases / Lanes) over an online drag-and-drop intuitive visual board.
  1. Limiting Work In-Progress (WIP) in any Phase / Lane:

In Kovair Kanban board, one can limit the work with respect to a Column. Items like Cycle Time can be defined, which sets the time limit within which the work needs to be accomplished. This is important to refrain specific situations from turning bottlenecks and hence helping each piece of work to proceed smoothly through a pipeline.

  1. Performing a complete analysis on the entire execution process through:
  • Graphical “drill-down” reports like distribution by Card Type, Card Status, Control Graph, etc.

 

  • Useful metrics like Wait Time, Block Time, Cycle Time; which eventually help to take corrective actions earlier in case there is any bottlenecks and unnecessary delays in the process.

Conclusion

Thus, implementing Kovair Kanban in your organization optimizes the flow efficiency of your team. The work will no longer be pushed, rather pulled instead. Limiting Work In-Progress (WIP) in specific phases or lanes keeps the work load balanced through proper distribution of work among the team members. Working in this environment enable team members to happily work and improve the quality of delivery, thereby resulting in greater customer satisfaction.

Interesting! Isn’t it? Contact with sales@kovair.com if you want to adopt Kanban immediately in your organization to optimize the flow efficiency of your team.

Soumanil has been associated with Kovair for more than nine years. His key responsibilities are to provide On-site and Off-shore consulting services for complete ALM and Omnibus Integration solution implementation. He also manages projects for Kovair products for the customers.

One comment

  1. The blog on “Flow Efficiency vs Resource Efficiency” is a very simple concept but very important for higher management of understand and adopt. Providing my inputs from a CEO perspective.

Leave a Reply

Your email address will not be published. Required fields are marked *