Why Are Constraints Helpful?
Why Are Constraints Helpful?
Constraints aren't necessarily a bad thing. In fact, they can be rather beneficial. Learn about why they're often helpful, and how.
Join the DZone community and get the full member experience.Join For Free
You've been hearing a lot about agile software development, get started with the eBook: Agile Product Development from 321 Gang.
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 than 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.
Published at DZone with permission of Gil Zilberfeld , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.