Posts » Feedback loops

When people get into software development, sooner or later they figure out the concept of feedback loops. We start with writing some code, then follow with testing it - if it doesn’t work we go back to fix it, when it does we move on to write some more code. Then it goes like this until a piece of software is done. Luckily a single loop can be as short as few minutes, so we can iterate quickly and feel rewarded for what we do.

On the other hand, the more complex the project the longer feedback loops become - testing is harder, writing or changing code goes slower, business decisions or communication within teams take time. That’s an inherent toll of complexity.

However only once you move out of software development, you start to realize how lucky we are.

I for once followed my passion of gardening only to find out annual feedback loops: if I plant something in spring, I only find out if the decision (and others along the way!) were good in autumn. Then I can decide what to fix next season, and I better not make too many mistakes. That’s where domain expertise, either from books or people, comes handy. You can afford mistakes but you pay the price of time.

When it comes to cutting or planting fruit trees feedback loops move to 5-20 years space, which leaves even less room for testing and more for learning from others and planning carefully. In my garden I can extrapolate what happened to trees from my childhood in between then and now, pair it with domain knowledge (thanks grandpa!), and hopefully make some good decisions. And that’s tricky!

Ultimately there’s human life with a single loop of unknown length: there’s no way of going back and redoing things, only patching what we already have.

That’s eventually much harder but also so rewarding if we get it right.