Planning vs short feedback loops

September 4, 2021

My wife and I are in the middle of a bathroom reonnvation right now.

This afternoon the installer asked me to verify the placement of the new lighting fixtures, and I commented “I’m glad you’re doing this work instead of me. There are a lot of details I would miss.”

His response I found interesting.

“It’s just a matter of planning everything out. Then testing it every step of the way!”

I hear a lot of talk from two different schools of thought when it comes to software and IT systems design.

To over-simplify, one school of thought says “We should spend some extra time planning our system before we dive in” and the other says “We should work in small iterations, and let the overall design emerge.”

Both are right, of course. These aren’t actually mutually exclusive concepts. My bathroom installer has a plan (which my wife and I helped design). But every day he has a new question, as new constraints become discovered.

Short iterations, and practices like TDD, are not excluslive of good architecture (or even BDUF, not that I recommend it). Short iterations are simply a way to verify frequently that you’re still moving along the right track, and an opportunity to adjust course at the earliest sign of trouble, before it’s more difficult.

Related Content

BDUF vs emergant design

In the debate over the merits of BDUF vs emergant design, who's right? Both camps are right.

Do your developers write tests?

When test writing is removed from code writing, there's no observed benefit in IT performance. Writing tests in a silo is an anti-pattern.

An unexpected benefit of short feedback loops

Practices that create shorter feedback loops help gamify the software creation process, and more frequent dopamine releases.