Why are Constraints Helpful
When people first try scrum, or TDD (or any new process), they feel uncomfortable. We “know how to do” stuff, but then we’re asked to try on something new.
Then our comfort zone alarm goes off. We feel constrained.
Scrum puts limit on sprints, so we’ll need to actually help the testers finish testing our story. We can’t just continue developing. TDD tells us to write the test before the code, and that sounds ludicrous. These are constraints that come with the system, and the ones we put on ourselves.
Constraints are disabling by nature. They don’t allow us to do things the way we naturally do. But if we treat them with respect, something good might come out.
An example would be handy right now
A few weeks back, my not-yet-12 year old daughter went to a 3-day dancing convention with her team. It was her first time sleeping away from home, and this was without any accompanying parent.
If you’re a parent, you know how to plan for this: I’m going to get a call in the middle of the night, and need to drive to get her back.
However, there was an enabling constraint in our story: The convention was a 5 hour drive away. It was understood by everyone, from the trainers, to team, and most importantly to parents and daughter, that no matter what happens during the trip, there won’t be someone driving back to take someone else home.
And that’s a good thing. You can imagine (or have already experienced), how emotional the first time apart situation is for everyone. And yet, the constraint is an enabler to go through the process.
And everything went well. She was back, there were hugs all around, and now she’s planning next year’s trip.
The why behind the how
Enabling constraints are all around us. A3 thinking is an enabling constraint. It allows us to focus our thoughts, by using a small writing space. So is WIP limit in kanban – we can focus on finishing, rather on starting new tasks. TDD is about writing working software, and sprints are there so we can actually get to “really done”.
We usually see the how, but if we miss the why, the constraints seem just like putting more weights on our ankles.
That’s when people start complaining, and the fights begin.
Always look for the result the constraint is meant to achieve. Understanding why the constraint helps, will help you to:
- Judge if that process is worth doing – will it get you to where you want to go?
- Accept it because you want to follow it. The ROI is positive.
- Help you sell it to other people. Because it’s worth it.
The constraints are there for a reason.
Reference: | Why are Constraints Helpful from our NCG partner Gil Zilberfeld at the Geek Out of Water blog. |