Why and How Tektonic Labs use Scrum ... to limit WIP
By Dan Watts – February 8, 2021
Hi, we’re Tektonic Labs … a small software company with lots of ambition and great ideas about how we can produce awesome products for our customers. This series of articles describes how we use Scrum to deliver software projects on time and on budget.
We use Lean, Agile and Scrum principles to help us achieve the following aims (taken from the Agile Mainfesto);
- To make work visible – real-time and up to date
- Limit work-in-progress (WIP) – through planning and monitoring team Velocity
- Measure and manage workflow – through Story points and Velocity
- Prioritise work effectively – through clear priority settings
- Continually improve and adjust work practices
In this article we’ll walk you through how we Limit WIP.
WIP describes work in progress … work that has been started, but not yet finished. In a manufacturing plant, WIP is the materials that have accumulated between workstations. In an office, WIP is the paperwork sitting in an in-tray or an ERP task in your inbox. In software development it includes design work that’s ready for coding, coding that’s ready for testing, and test cases that are still being worked on.
WIP is an accumulation of tasks between workstations or work roles that just keeps on piling up. And inside this pile lies lots and lots of waste … wasted effort and wasted time.
An example of wasted effort is a thing called “context shifting”. Originally coined in the field of computer science, it applies equally to mental processing. Context shifting describes that moment where we move from one task to the next. In a lot of cases this can be an easy transition and in others, far more complex. We might need to refresh our memory with how to do this next task, read explanatory notes on what needs to be done, or prepare materials or information to get started. In so many ways, context shifting requires us to take time to change our thinking and apply ourselves to a new task.
Clark & Wheelwright (1993) studied the impact of multi-tasking on productivity and found that as the number of concurrent tasks increases, our productivity declines.
The more tasks we try and juggle, the more waste we lose to context shifting.
An example of wasted time is waiting or queueing. As WIP accumulates, it invariably sits somewhere physically or virtually waiting for the next process to occur. The bigger the WIP, the longer the wait, and as the waiting time grows, so too does our timeline.
No matter what process we’re looking at, wherever there is WIP, there is waste
Standard work helps limit WIP
The concept of standard work is pretty simple … we all do the same work the same way. The team at Tektonic Labs have come together to create our standard workflow procedures. These clearly documented standards, executed consistently, help everyone in the team establish clear work priorities and manage time effectively. A great reference for time management can be found in Steven Covey’s Time Management Matrix (find more about Steven Covey here: https://www.franklincovey.com/)
Covey’s matrix helps us classify work in 4 ways.
Quadrant 1 Important & Urgent – these are the interruptions in our day, the fire-fighting that takes place. When we’re always working in this quadrant, we’re stressed, under the pump. We feel like we’re working super hard, but not getting much done. Our goal should be to reduce the amount of time we spend in working in this quadrant through planning and creating standardised ways of doing our work.
Quadrant 2 Important & Not Urgent – The sweet spot. We’ve got time to devote to doing our work well. We’re not stressed. We’re organised.
Quadrant 3 Not Important & Urgent – A really bad place to be. We think we’re doing the right things and prioritising the right stuff, but we’re not. We’re focussing on the wrong priorities. Or we simply don’t know what our priorities should be. We need to minimise the time we spend in this quadrant through standard work and clear accountabilities across the team.
Quadrant 4 Not Important & Not Urgent – We’re really wasting our time here. Perhaps we’re procrastinating on other tasks? We don’t really know how to do some of our other tasks competently? Whatever the reason, we need to eliminate work in this quadrant by being disciplined with our work planning, by learning to say “NO”.
Scrum helps us focus on quadrant 2 work because we use standard work practices to plan our 2week Sprints.
Our work is Important because we have prioritised the User Stories to be completed in the Sprint based on what our client deems important.
Our work is Not Urgent because we have selected the User Stories that make up the Sprint on the basis of their Story Point values. These Story Points are assigned by the team based on the relative “effort” required. We do not build an ever-increasing pile of WIP. If work from a previous sprint was not completed, we roll it over to the subsequent sprint and it displaces work of similar value that was ear marked for action.
We apply a standard of throughput called Velocity, which is the average amount of “effort” the team is capable of producing in each 2week Sprint period. We do not take on work in excess of our team Velocity. No matter what the apparent urgency might be, we will not ask our team to work in excess of their baseline Velocity. This would only lead to burn-out, stress, poor quality and re-work.
Every 2 weeks we review our work practices at our Sprint Retrospective meeting and improve our standard work practices so we can shift tasks that may have slipped into quadrants 1 or 3 back into quadrant 2.
By minimising our WIP we can deliver value-adding software to our clients on time and on budget.
Here’s a list of some great resources if you want to do some further research;
DeGrandis, D. (2017), Making work visible, Amazon
Brophy, A. (2013), Guide to Lean, Financial Times
Womack, J. and Jones, D. (2003), Lean Thinking, Free Press
Cohn, M. (2006), Agile planning & estimating, Addison-Wesley
The Agile Manifesto, agilemanifesto.org
Steven Covey, https://www.franklincovey.com/