BLOG

What is lean software development?

By Amy, Eastpoint Software on 26 January 2021

Lean software development is about reducing waste and identifying customer and business value early. 

At Eastpoint, we believe in lean development principles and this will inform the work we do with you, with a focus on flexibility, responsiveness, efficiency and innovation.  

Before we delve into how that works on a given project (how we applied lean development principles to a recent project is coming soon!), let’s look into what lean development is, how and why it’s applied to software, and the benefits you should expect to see. 

It started with manufacturing 

What we now consider lean practices began in manufacturing. Ford had revolutionised car production, and in post-war Japan they lacked the finance and infrastructure to compete. 

Instead they approached it differently, with multi-purpose machinery, a constant desire to understand problems before they had any major impact on production, and the ability to be flexible to design changes. 

This was different to the traditional approach of a production line working at full steam - if there was a problem at Toyota, the entire line stopped. And this wasn’t considered a bad thing. This approach allowed them to rapidly improve, they didn’t carry problems forward, and as a result they outperformed their wealthier US rivals. 

In the same way, digital innovation is different to traditional full steam ahead software development that we might associate with the ‘waterfall’ method – spending huge effort sorting out the scope upfront, sticking to a large feature set, and working for months towards a release date. At the end of it, customers may or may not find, use or pay for the application. 

Innovation is disruptive, and so traditional principles are not always the best. 

Instead, a new set of principles have been identified, ones that reduce risk and waste, and focus on smaller deliverables and measurable value. 

The lean product approach 

Lean processes are focused on eliminating waste. How does it do that? By developing only what customers need and value. 

And how does it do that? By taking the concept, idea or belief at the core of the product, and working out what needs to be built to achieve the requirement. 

You might start with a vision. You believe people want this product or experience, based on your learning, expertise and common sense. Perhaps it’s something that is tightly aligned to your own societal values. 

The lean product approach is a guide, or set of principles, to understand what the product is, prove it will be used, and work out how you’re going to sell it. And all in the leanest way possible. 

Short iterations and sprints... with an objective! 

It is natural that a company may want accurate cost estimates upfront, and detailed definitions of what they can expect for that investment. That makes sense and is understandable. 

There might also be a particular release date the company always works to – perhaps marketing is geared around it, and not meeting that would have wider manufacturing implications too. 

Disruptive innovation doesn’t ignore this, but there is a need for projects to be flexible and this is the reality of successful development. 

In exchange for this compromise on traditional waterfall methods, you make a huge gain. If there is a gremlin in the system, an inaccurate assumption, or a misread of the market, you are going to find out early and often. Rather than focusing on a huge amount of work with a fixed release date, we work in short iterations to learn as fast as possible. 

Feedback loops 

This is referred to in The Lean StartUp, by Eric Ries, as the ‘build-measure-learn feedback loop’. 

Remember that waste in this aspect would be spending time building features the customer doesn’t want. Short iterations aim to reduce waste. 

Another great thing about iterative cycles and feedback loops is that you will be provided with something working much earlier in the project. It won’t necessarily do everything – in fact, that’s very unlikely – but it will do something that enables you to measure and learn from it.  

Or you might build something that’s a different, or more scaled back version of your assumed ideal product, and find that it’s already achieving a purpose and you are closer to shipping a product than you thought. 

Building value, not features 

Measuring and learning is used to verify assumptions and expose problems. Lean development isn’t about knowing the answers, it’s about understanding what measurements are relevant.  

This will be done with a variety of metrics. But which ones? How do we know what metrics are going to help us learn?  

Every project is different. The key piece of advice is to avoid vanity metrics that do not have a direct link to the understanding, success and sustainability of your business. 

One of your sources of data may be qualitative feedback from potential customers – if you’re only building what is high value to the customer, then you are likely to undertake first-hand market research. 

These potential customers will have opinions, and they might even have a clear desire for the product to go in a certain direction, or offer them certain features. 

You will want to listen to that. But you don’t necessarily want to build it.  

Collaboration and learning for the most important part of the project team – the people 

Lean development is a learned skill, with nuances and pitfalls.  

We always work closely with our clients and stakeholders, and in lean development this is especially true. You should be active in the project, and if lean principles aren’t typically followed at your company, this is a great opportunity to learn. 

And this isn’t a one-off learning experience to have in your locker for the next ideas round or innovation drive. Innovation never stops, and lean thinking can be applied throughout a product lifecycle to achieve the outcomes, even if what you are starting with is no longer an unproven assumption or vision. 

As Eric Ries puts it, everyone is an entrepreneur. 

Contact us 

Eastpoint Sofware is a technology consultancy based in Cambridge. We create web and mobile software, designed and developed by our entrepreneurial team.  

Are we a fit for your digital dreams? 

Call us on 01223 690164 or email info@eastpoint.co.uk