Shorten Your Feedback Loops to Build Better Software, Faster
I recently took a vacation in Israel. I had a blast, and I took a lot of great pictures.
Back before we had digital cameras, I had an analog camera. It was a good camera—not high-end, but good enough for my purposes. But when I took pictures, I was almost always disappointed by the results. I didn’t manage to compose the image the way I wanted. I cut off people’s heads. I missed the end of the rainbows.
My pictures stank. I knew what I wanted; I just didn’t know how to get it.
Enter my smart phone a number of years ago. I started to take pictures again. Now, my composition is good. And, because I don’t have to wait for a lab to develop my pictures, I can take pictures any time I want—and retake them if I don’t like them.
What changed? My feedback loops. They shortened from weeks to seconds. I’m still learning to be a better photographer, but my shorter feedback loops help me learn even faster.
It’s the same with your projects. The shorter your feedback loops, the faster you can deliver what the product owner wants.
Just like when I said I knew what I wanted but I didn’t know how to get it, your product owners know the problems they want to solve. Your developers know how they can solve those problems. Your testers know how they want to test to provide information.
And, because software is learning, we don’t always get it right the first time around. We need feedback.
When we have short feedback loops, we are still in the moment for that feature (or that picture). We still have the context. The longer the feedback loop, the less likely we are to still have all the context for the feature. We are on to the next piece of work.
How long are your feedback loops? How long does a build take? If it’s hours, can you shorten the build duration to minutes? If it’s minutes, can you shorten it to seconds?
How about your testing? Can you create different kinds of tests, such as automated smoke tests that might run in seconds right after a build, to provide you feedback right away? Can you create regression tests—or a series of regressions—that you can run, depending on how much time you have?
Once you have confidence in your feature-creation process—development and testing with short build and test times—you can ask for feedback more often. Your product owner can tell you if you’ve met the mark or not.
Short feedback loops work. I may never be a master photographer, but I can enjoy my vacation pictures. You don’t have to get everything right the first time if your feedback loops are short.