The other keynote at the XPDay conference last December was Mary Poppendieck on the theme of her book Lean Software Development.
“Make More Money”
The title certainly grabbed people’s attention. The key point being that you make more money by increasing your ratio of outputs to inputs.
Productivity in software has had its peaks and troughs in recent years, whereas in manufacturing, productivity is continuing to rise (there was a plateau around 2000/01 but not it’s heading up again). Companies who do well look at their core business processes which are what drives productivity. They then chose where to match industry norms and where to lead (and they pick a few areas to excel at). They focus on end to end improvement. You lead in a decade not in a year so it’s not a short term thing. She referred to the book by James Collins, Good to Great.
Looking at the productivity levers for software:
- What are the processes involved in turning an idea into a product?
- How do you translate customer needs into software? (This isn’t what they ask for it’s what they need!)
- You need to manage your development portfolio (resources and capacity)
- Deploy complete solutions – are you fully invested in the success of your customers?
- Managed the full lifecyle – design for maintainability.
Another large lever is marketing but that wasn’t the subject of the talk.
A key way to improve your productivity is: Do Less Work
Reduce Direct Costs
Reduce the direct cost by providing only what the customer will pay for. A quote from Jim Johnson of the Standish Group: users typically use only 25% of the system – 65% of features are rarely or never used (see Martin Fowler’s writeup of XP2002).
Where do all these extra features come from?
- we ask the customer what they want
- we reward them for thinking of everything (”scope”)
- we penalise them for adding features later (”scope creep”)
She referred to the following book which talks about MMF – Minimum Marketable Feature Set (Mark Denne & Jane Cleland-Huang, Software by Numbers; Low-Risk, High Return Development, Prentice Hall, 2004). This assumes you are deploying early and often.
Reduce Indirect Costs
Streamline your processes to eliminate waste.
Streamline the core processes to provide rapid delivery of value (cost reductions that reduce customer value do not increase productivity – beware of mindless cost cutting!).
The measure of an organisation’s maturity is the speed it can reliably and repeatedly execute key processes. For software this is the speed that customer needs get turned into deployed code.
She referred to the Value Stream Mapping process in her book (see link above), and how to change your processes to remove delays.
Get support people involved in the development and design of a product to ensure that it can be deployed appropriately.
Increase Output (Value)
Do this by shortening the customer feedback loop.
Improve customer productivity – when they win you win. A case study – Dell realised after some customer visits that there was a whole new business in delivering preconfigured PCs. This increased both revenue and customer loyalty.
How can you help your customer?
- Map their value stream
- Extend the value that you offer
Conclusion
Another interesting keynote. Covered a fair amount of stuff from her book, but with some interesting twists that made it very relevant. I also attended her workshop, and some key points from that:
- to get predictable outcomes don’t predict – make decisions based on facts not forecasts
- if you can’t deliver fast, you can’t delay commitment
- speed of software development can have a bad name but is a fundamental competitve advantage
- improve depolyment by testing earlier and making rapid small releases
- to move fast you can’t tell people what to do – they have to know for themselves (”information radiator”)



