How do we optimise the flow of work that gives the best balance of value?
We will have a look at three ways to optimise throughput managing quality, work in progress (WIP) and classifying the work items.
It is worth reading the book by David Anderson on Kanban as he explains how to optimise throughput in software development. The concepts can be applied in other business areas.
What can be done to optimise throughput?
Effective communication lies at the core of optimising throughput. There are many examples throughout this blog where the importance of good communication is emphasised. The following page gives a high level explanation on the benefits of an effective communication strategy and implementation
Poor quality is a major contributor to waste in terms of time and costs. It is important that quality management starts at the very beginning of any process. This means that the quality of communicating what we want done, is critical to the quality of the work that is to be done. You can read more on quality management in projects and programmes in this article.
Example: Read how to structure good quality requirements
Work In Progress and Multitasking
It is important to limit the number of different tasks a person is working on at any one time. The ideal is to plan the work so a person can start and complete one work item or task. Sometimes it may be practical to have a second work item to fill in down time, this should be the exception rather than the rule. The reason for this is that every time a person has to switch between tasks, an amount of time is needed to re-focus on the task to be done. The time needed for this re-focusing process quickly adds up and before you know it, weeks or even months of effort are wasted on switching.
Example in software development:
If a developer has a relatively complex work item to create a feature, he or she needs to spend some time thinking through how to go about developing the feature. This process may even involve a couple of other team members to ensure that the most reasonable solution is crafted. The discussion may take anywhere from a few minutes to an hour or so for relatively small features. If you have a 3 day job and on day 2 the developer is diverted to another job or jobs and can only get back to the original work-item a week later. The developer will have to re-do some of the planning work to understand where he left of and what needs to be done in order to finish the work item. On its own this is not a big deal, but compounded over multiple developers and a time period of a few months you will have possibly lost one man month of development time.
By limiting the work in progress then you enable individuals to focus on processing and delivering work items without incurring the waist associated with switching multitasking.
Classifying and prioritising your work items
Why classify the work to be done?
The short answer is to get the most value out of the limited time and resources available.
By dividing or classifying the work into distinct “Classes”, David Anderson refers to this as “Classes of Service” you can give a structure to the work that needs to be done. If you understand what type of work items you are dealing with, you create a common understanding on how to prioritise and select the work items that will over a period of time give you the best balance.
What type of work items are there?
1. Expedite class of work-item
2. Fixed date class of work item / project
3. ASAP class of work item / project
4. Maintenance class of work item / project
Expedite class of work-item
Excessive expediting of work indicates that you are in a crisis management state (Quadrant One of the time management quadrant). Expediting work leads to excessive multitasking which leads to waste of time and resources and this will put a financial burden on the organisation. It is not likely that you will avoid expediting but you want to keep it to a minimum.
Example guidelines for the expedite class of service
• Expedite work item requests use red cards when visualised on a Kanban board
• The Expedite class has a work in progress (WIP) limit of 1 for work items.
• The expedited item must be pulled immediately by a qualified resource and other work put on hold. This will increase the total WIP.
• At any point in the workflow, the WIP limit may be exceeded by 1 in order to accommodate the expedited request. Assuming there is no buffer capacity to take up this work.
• The expedited request will be included in the next release. If there is a business need and the request needs to be released earlier then the person responsible for releases should confirm that this is possible.
Fixed date class of work item
This class will be particularly useful for businesses that have seasonal or event type needs. The on-line gaming industry will need promotions prepared and delivered for major sporting events such as world cup Rugby matches, Wimbledon or the premier league football. Regulatory requirements will also be a good candidate for this class.
To use this class effectively you need to have an understanding of the lead times so that you can work out when to put the work item into the work package (prioritised queue) for development.
Guidelines for Fixed Date Delivery class of work item
• Fixed delivery items use orange cards (Example)
• The Fixed Date class should have a work in progress (WIP) limit of X
• The required delivery date is displayed on the bottom right-hand corner of the card
• Fixed delivery date items receive some analysis and an estimate of size and effort may be made to assess flow time.
• Fixed delivery date items are held in the backlog until they are selected for the input queue.
• Fixed delivery date items should be put into the queue as late as possible based on the estimated lead time with a buffer for the item to be processed.
• Fixed delivery date items are pulled in preference over other, less risky items. In this example they are pulled before ASAP or maintenance class work items once we get to the planned start date.
• Fixed delivery date items must adhere to the WIP limit
• Fixed delivery date items queue for release when they are completed and ready for release. They are released in a regularly scheduled release just prior to their required delivery date.
• If a fixed delivery date item gets behind schedule, and release on the desired date is at risk, its may be promoted and treated as an expedite work item.
ASAP class of work item
Work items and projects that fall into this class will bring in value of some sort as soon as they are released into the market. When prioritising them you need to consider the benefits that will be realised or the cost incurred if the work item is not released.
For example your customer service department may want a change request to feature on the website that will help process customer queries, the current irritates customers and there is a high risk that you will loss customers as a result. This feature may not result in increased revenue generation, but it not done it is likely to have a high cost in the loss of revenue from customers leaving and not promoting your business. A situation like this is clearly an issue and should be solved as soon as possible.
Guidelines for ASAP class of work item
• ASAP class items use white cards if displayed on a Kanban or electronic board
• ASAP class items are prioritised into the input queue based on business value and possibly other criteria that are important to the organisation. For projects the road map / or component product flow diagram in combination with critical chain scheduling can be useful as a starting point for prioritisation of work items or component products.
• ASAP class items use first in, first out (FIFO) queuing as they are pulled through the system. Typically, when given the option, a team member pulls the highest value ASAP class item if there is no expedite or fixed date item to choose in preference.
• ASAP class items queue for release at the next scheduled release when they are ready.
• ASAP class may initially be analysed for order of magnitude in size, typically, small (a few days), medium (a week or two) and large (month or more)
• Before starting work on a new standard item re-evaluate the effort estimate based on the knowledge you have now.
• ASAP class items are generally delivered within X days of selection with a due date performance of Y% (Adjust for each organisation)
A typical ASAP class may offer a service level agreement of XX-days lead time with 80% due date performance.
This class is for any important work items that are required at some time in the future beyond the current planning horizon. If these items are not attended too, then at some time in the future there will be a business cost to the organisation.
Typical candidates for this class are:
• Cleaning up technical debt (poorly structured code) in a software system. Often a company is not in a position to completely re-write their system. They can have a long term plan and work on the most business critical issues first.
• Upgrading products that will be discontinued as a result of newer versions being introduced. Operating platforms on computers are a good example.
Guidelines for the maintenance class of work item
• Maintenance class items use light green cards to distinguish them from the other classes.
• Maintenance items are prioritised into the input queue based on an agreed balance between those work items that will contribute to the business profit margin or regulatory requirements and the need to maintain the system over a period of time.
• Maintenance class items are pulled through the system in an ad hoc fashion. Team members may choose to pull a Maintenance class item regardless of its entry date, so long as a higher-class item is not available.
• Maintenance class items queue for release at the next scheduled release when they are ready.
• Maintenance class items may be analysed for size. Large items should/may be broken down into smaller items. Each item may be queued separately.
• Before starting on a maintenance item carry out an estimate of the effort required to be reasonable sure that it can be completed without having to exceed the work in progress limit.
Classes of Service for a Portfolio of Projects
Projects that are delivering change to the business will generally fall into two categories, ASAP projects that will generate value as soon as they are completed and fixed date projects that need to be delivered by a fixed date in order for them to be of value. Building of the Olympic stadiums is a fixed date project/programme that has to be delivered by the host country by a certain date. If they are not delivered on time then that country will not be able to hold the Olympics and the work done does not result in the benefits it was originally intended to deliver.
For maintenance or upgrade projects then we can classify these as maintenance projects. You should not as a general rule, get expedited projects unless a fixed date project is running late and needs to be expedited.
1. Fixed date class of project
2. ASAP class of project
3. Maintenance class of project
How you divide the work load between business as usual work items and the project needs to be decided in each organisation and based on business priorities.
Release products, component products or features often
The time between releases to the end users will vary depending if you are working on a project or doing business as usual development of small features. As a general rule there is a good case for doing releases as often as possible.
If your organisation is on a three month release cycle for business as usual development work, then look to reducing this in stages if necessary to once a week.
By releasing often you are able to gain the trust of those ordering the functionality from your team. It is also possible to identify any issues early on that get past quality control. It is normally quicker and easier to fix something that has just been created than to go back after a break of a few months.