…if you don’t “loop”. People…you are killing me! There’s a reason it’s called the “Build-Measure-Learn Loop” and the most important word in that phrase is the “loop”!
Okay, take a deep breath…let me Take a Step Back™…because I started with the conclusion.
All the rage these days is talking about iterative development and emergent design. If you’re in the business, you know what I’m talking about. If you’re not, a bit of background:
The way a house gets built is “stage-based”. You start with a idea, and you turn that into a plan by working out every detail in the blueprints, then the house gets built and after it’s built the city building inspector signs off that it’s safe, and finally you get a certificate of occupancy and you can move in. In other words, there are many stages, the project moves through each stage step-by-step. Software people call this stage-based approach “waterfall” (often derisively).

At Cheezburger I kept a wall of sticky notes with bits of wisdom I have learned over the years.
For a variety of reasons, when building software it is often less efficient and/or less effective to use a stage-based approach—to make a plan, build the software, then test (i.e. inspect it). Sometimes it’s better to just start building, see what happens and then adjust. This is called emergent development because you let the software emerge, as opposed to planning the desired outcome.
The whole notion of emergent forms of construction is that they are iterative. That is, after building a little bit of the software, you try it out (or let the customers try it out), then you go back and make some changes based on learning and feedback. This iterative process is referred to as the “Build-Measure-Learn Loop”.
- Build: make the thing, software or whatever.
- Measure: have people use it and observe how well it works
- Learn: based on the observations, figure out what would work better
- Loop: make changes to the thing based on the learnings
What makes an emergent system work well is that taking by baby steps, building the system one bit at a time and seeing what’s working, then you can correct course before investing too much time and effort into something that doesn’t work or meet the needs of the users. Correcting course, in this case, is Loop, meaning you re-build or adjust some of the things you’ve made based on the learning.
All too often, I see people forget the Loop. First, they put a lot of effort in to Build. Then, more effort goes into Measure because measuring is hard. Finally, they study the results and Learn. But, then they don’t do anything with those learnings. They forget the Loop!
Gah!
Frankly, if you’re not committed to Loop, then Measure and Learn are a waste of time. As people who build stuff, we have to be honest with ourselves: are we committed Loop? If we are, then great! But, if not, then let’s stop wasting time on Measure and Learn because they’re merely for show…to make us believe that were making data-driven decisions when really we’re just shooting from the hip.