Lean identifies several areas that cause or create inefficient systems. Originally part of the Toyota Production System, these inefficiencies are classified into three distinct groups.
- Muda: Waste (See 8 Types of Muda Waste in Lean)
- Mura: Irregularity
- Muri: Overburden
These Lean inefficiencies apply to Agile and are just as important to Agile in the creation of a quality product.
Within Agile, eliminating waste is (or should be) one of the key considerations driving continuous improvement and continuous product releases. There are 8 waste classifications to consider in the Muda group (TIM WOODS and Lean Waste) and they generally fall into two types of Muda.
Muda Type 1 wastes are those wastes that are essential to producing a product or running a business within current conditions. Through improvement practices, these wastes can eventually be eliminated. These require business/process conditions to change. (Example: you are currently using a more expensive piece on a part and discover cheaper alternatives; you must finish the current purchasing agreement and clear currently purchased pieces before procuring the cheaper option.)
Muda Type 2 wastes are those tasks that can be eliminated without process or business changes. (Example: you discover scrap being created due to poor placement of items in a work cell so you rearrange the work cell.)
We should always try to get better and improve on what we have done in the past. Taking into consideration areas that may be experiencing one or more of the 8 types of waste is something that can lead to producing a better quality product with a potentially lower cost. Applying this thought process to Agile, we can work to find better and more efficient ways of product creation.
A flaw in some software development practices is the belief that some things are quick and easy to add in so they get added into the product because “why not?” This results in an overprocessing waste by giving the customer something they did not specifically want/ask for and are not paying for. It could also have negative consequences on other parts of the application.
When it comes to software development, I have pulled code out of a repository expecting it to be the current in use production code. I learned later (during updates to the production code) that the repository was not kept up to date. The lack of an automated system moving code from a repository to the production environment can create a disconnect between the code in the repository and the code that is in the production environment. This is a waste of motion, can cause waiting and additional rework when you have to rollback the production servers and then obtain the actual code that was used in production to make your changes to.
Muda waste is covered in several Agile certifications and educational courses, including the PMI-ACP exam.
Mura is irregularity to the flow of work. This could be a machine that has very little work for a week, but the next week it cannot produce fast enough so the machine is turned up well beyond safe operating limits. It could also be employees tasked with periodic periods of overtime and then layoffs followed by more overtime.
Within Agile, this is pretty much a violation of most agreed upon definitions of Agile.
From the Agile Manifesto:
Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.
While some fluctuation is unavoidable, some of it happens in regularly reoccurring intervals. If you have to rush at the end of an iteration, while not doing anything the first half, then your iteration planning may need some work. If you find that every few months your demand surges in some areas so you force people to work overtime while others in lower demand areas are being laid off, it may be time to reconsider how the work is broken down.
Muri has some similarities to Mura. Muri is specifically the overstress to a system, machine, or the people involved that can add to breakdowns or increased Muda waste. The solution to Mura is in trying to create a more even workflow to prevent the overstress on the people or machines involved, and that may solve some Muri inefficiencies.
However, Muri can occur in a more unpredictable fashion, meaning the work may not be able to be adjusted for in advance. If a waitress works a typical slow Saturday morning and everyone expects the Saturday morning breakfast buffet to be slow – and suddenly a bus shows up with a tour group of 50 people, the employees and kitchen tools involved are going to face some stress. The only solution that won’t create a bunch of inventory waste may be to have contingency plans in place set up to handle unexpected surges in work.
As much as possible, the workflow needs to be evenly distributed. The wastes need to be controlled and that waste is often more than just a part/product that gets thrown away for not being correct or high quality. One primary requirement of being Agile is to work continuously on improving quality and reducing inefficient and wasteful systems.
Toyota Production System Guide, Retrieved From: https://blog.toyota.co.uk/muda-muri-mura-toyota-production-system