The Lean Scrum
Published 23 February 2012
Note: This is post is formed from extracts of a talk given at PHP London 2012 rather than a fully fleshed out post
What is Lean and What is Scrum
Lean is a product development methodology introduced by Eric Reis. Scrum is a software development / project management methodology widely used in the industry. What’s interesting is that they both have roots in lean manufacturing and there is a lot of synergy between the two.
Scrum is a process for the management of software projects. Its aims are:
- Consistent delivery of features
- Increased productivity (through minimized interruptions)
- Visibily of progress being made so scope, resource and deadlines can be managed
Essentially you have a prioritized backlog that gets organised into short sprints and completed and interated on.
Lean is a process for the development of a successful product. Its aims are:
- Finding product market fit / create a successful product
- Eliminating waste
You have a build, measure learn cycle aimed to allow pivots (changes in direction)
The emphasis in Scrum is more around the development and the development team whereas with lean the emphasis is on the product and product managers.
Both have a strong emphasis on fast delivery and both emphasise iterating on small chunks of work.
What happens we throw these two together?
The best way I can describe combining Lean and Scrum is the foundation, lean is the attitude.
- Product owners - synchronize the build, learn, measure cycle with the sprint cycle
- Product owners - add assumptions and validation to the backlog / user stories
- Developers - be very strict on whether in asking whether or not something fits into this user story.
- Developers - always ask yourself “is this a problem we’re having right now”. Can it wait until the next sprint, if it can it can usually wait another 5 or 6 sprints.
- Developers - add metric gathering as part of the done definition.
It helps if you have a good Scrum Master that understands Lean
By focusing on two processes inside a single company you run the risk of loosing focus and failing at both. Particularly if different people have different interests.
- Bad scrum is an excuse for no planning and chaos
- Bad lean is an excuse for half baked product
How to avoid the pitfalls
Focus on where the two align and bring Lean thinking into your Scrum process.
With Scrum, aim for:
- Strict planning
- Well managed backlog
With Lean, aim for:
- Validated learning - making assumptions and gathering data
- A high quality MVP
The key thing you should aim for with both of these things is alignment and synchronization. Everyone must be working towards the same goals at the same time.
The to methodologies have a lot of overlap. A focus on short cycles, fast delivery and using information to guide decisions.
What’s interesting is that the two can support each to help improve both processes. Applying Lean thinking to backlog grooming results in a better backlog and applying the Scrum framework to Lean thinking gives it a more practical platform for delivery.
If we take the scrum framework and apply lean thinking it allows us to pivot frequently by achieving consistent delivery.