How to Avoid Waste – a Lean Retrospective
In Implementing Lean Software Development: From Concept to Cash Mary and Tom Poppendieck categorised waste encountered in software development into:
- Partially Done Work
Is work going from beginning to end in a single rapid flow? For example; are you building up large amounts of untested or undeployed work? Do you have long-lived feature branches?
- Extra Features
Do your customers or users actually need what you’re building?
Do you spend a lot of time rediscovering what you (or someone else on your team) already knew at one time?
Is your team truly collaborating, or handing off bits of work to each other, losing tacit knowledge in the process?
Does work typically spend lots of time stalled awaiting things like environments, someone to be available, or decisions to be made?
- Task Switching
Do you find that you lose time to context switching frequently?
Does your team have a low defect rate? How late in the development process do you find defects? Could this feedback loop be shorter?
This retrospective format aims to facilitate a broad discussion around waste, using the 7 Wastes of Software Development as a skeleton. It focuses both on improving areas where we incur waste, but also on enhancing areas where we already do a good job of avoiding it!
If you’re familiar with the format presented by Diana Larsen and Esther Derby in Agile Retrospectives: Making Good Teams Great this exercise fits really well into the “Gather Data” phase.
- To get started, populate the room with 7 flip-chart sheets, each representing a category of waste. Be sure to give enough room for small groups to congregate around them, so spread them out around the room!
- Begin with a brief description of each of the different types of waste (see here for a more in-depth discussion on each). Let the team know that the core questions they’re trying to answer are:
Where are situations where we incur this type of waste?
Where do we do a good job of avoiding this type of waste?
- Now, lets gather some data! Break into groups of 2-3 people. Where possible, try to get a mix of roles in the groups. This helps to build awareness of the waste everyone else is dealing with on your team.
- Then, each team selects their first topic and spends a short amount of time writing post-its to answer the two questions above*. I generally timebox this to 2 or 3 minutes per topic. When the timebox is up, cycle to the next category until everyone has had an opportunity to contribute to each.
* hint – limit this to two post-its per person for each topic to avoid getting swamped with data!
- The next stage is to decide on what’s important for the team to address. I generally use simple dot-voting for this, and follow up with a bout of lean coffee to dig deeper, explore some root causes and ultimately generate some experiments we can try to help reduce this type of waste!
Have you tried this before? Let us know how you get on in the comments!