How Lean can improve your software delivery process – Waterfall or Agile
Regardless of whether you use waterfall or agile methodologies or a combination of both to deliver your software, Lean thinking can help you increase customer value, eliminate waste and decrease costs.
Having used the concepts of lean thinking on previous large programs, I have seen how it enables very significant capacity improvements of the order of 50%. In addition, without realising it, I also began to apply the Theory of Constraints. I just called it common sense at the time. I later formalised the process with some industry experts to manage capacity constraints and enable trading of new requirements of higher value for old. So how do you know if you are running a lean program or not? Well you can easily tell if you’re not which is a great place to start.
The NOT Lean Test
Lean Thinking comprises Five Principles shown below. For each, ask yourself the appropriate questions to identify where you can improve your software delivery. If you cannot answer YES to all of the below then you’re not quite there yet but you have opportunities to improve.
1. Specify Value from the Perspective of the Customer
Only a small fraction of the total time and effort in any organisation actually adds value for the end customer. By clearly defining Value for a specific product or service from the end customer’s perspective, all the non-value activities – or waste – can be targeted for removal.
Are your internal (and better still external) Customers heavily and constantly involved in the prioritisation of work?
If the answer is NO, then value is not being maximised and Effectiveness is compromised.
2. Identify and Map the Value Streams
The Value Stream is the entire set of activities across all of the organisation involved in jointly delivering the product or service. It is the end-to-end process that delivers the value to the customer. Once you understand what your customer wants the next step is to identify how you are delivering (or not) that to them.
Most teams look at the value stream of the software process itself. But I think they risk missing something possibly more important – the value chain of the internal users and of the customer to whom they are delivering the product. So let’s ask two questions here.
Is the Value Chain for the software delivery process clearly defined and visible to all and does every activity within it add value to the end software product, i.e. would the customer pay for it?
If the answer is NO, then waste is occurring.
Is the Value Chain for the business/customer clearly defined and visible to all and is every activity in progress contributing to a key part of that value chain?
If the answer is NO, then value is not being maximised for the Customer.
3. Create Flow by Eliminating Waste
Typically when you first map the Value Stream you will find that only 5% of activities add value, this can rise to 45% in a service environment. Eliminating this waste ensures that your product or service “flows” to the customer without any interruption, detour or waiting.
Have all bottlenecks been removed from the system, e.g. delays waiting for steering group decisions, a resource with critical knowledge who limits throughput, the team with insufficient skills efficiently work?
If the answer is NO, then flow is not optimised.
4. Respond to Customer Pull
This is about understanding the customer demand on your service and then creating your process to respond to this. Such that you produce only what the customer wants when the customer wants it.
Do you embrace changing requirements as an opportunity to add value for the Customer (with processes that encourage changing requirements as opposed to resisting them)?
If the answer is NO, then agility to respond to Customer demands is compromised.
5. Pursue Perfection
Creating flow and pull starts with radically reorganising individual process steps, but the gains become truly significant as all the steps link together. As this happens more and more layers of waste become visible and the process continues towards the theoretical end point of perfection, where every asset and every action adds value for the end customer.
Is continuous improvement formally built into your process and part of the way you do things?
If the answer is NO, then someone else is moving ahead of you.
Following Lean principles, you will implement a philosophy that becomes “just the way things are done”. You will constantly drive towards you organisational success only by ensuring your process continuously and consistently delivers value to your customer. This allows you to maintain a high level of service and grow and adapt to the changing environment in a sustainable manner.