Always Optimize the Feedback Loop
Some thoughts about the impact of feedback loops in startups and software.
Parts:
- Intro
- Framework
- Observations
- Take-away
Intro
Feedback delay is the time between doing something and seeing whether it was successful.
If the feedback is slow, we have a "lagging indicator". It becomes hard to link causes and effects, and in consequence it becomes hard to optimize the performance. Fast feedback makes things easy.
How quickly the feedback arrives is critical. If it takes milliseconds to seconds, it works at the speed of the brain and enables a state of flow. If it takes decades to centuries, it needs a multi-generational organization like a government or organized religion to run it. Somewhere in the middle is the realm of persons, teams and companies.
A framework of feedback time
Here's a quick table of feedback times, in three groups, with each roughly an order of magnitude difference.
- C4 centuries
- C3 decades
- C2 years
- C1 months
- B4 weeks
- B3 days
- B2 hours
- B1 minutes
- A4 seconds
- A3 100+ milliseconds
- A2 10+ milliseconds
- A1 1+ milliseconds
Observations
1 - Startups
Startups are viable if they do something 10x better. Each of the steps is a 10x improvement, so if you manage to create a solution that brings feedback time down one step on the ladder, you have a viable startup. At least according to Peter Thiel.2 - Faster is always better
Faster feedback is always better and never worse, but there are diminishing returns. E.g. when I'm typing and it takes 4 milliseconds to render to the screen, it's already imperceptible, and improving it more offers no benefit.
When looking to improve something, check what level it is at right now and what would count as imperceptible. The difference is the space that a new product or service could enter.
For example, in a regulated industry I will get feedback from an auditor at C1 (a couple of months) but my life would be so much better if they replied at A4 (seconds) and I can have a dialogue. So: there's an enormous opportunity here for a regulatory body that promises responses in B1/B2 (see e.g. Scarlet) or for a group of experts you can chat to instantly (OpenRegulatory Slack).
3 - Multiple orders-of-magnitude improvements shake the world
Improving by 1 step is great, but something weird happens when we take 2 steps down the ladder or more. Things that were previously impracticable or downright impossible, now become in reach.4 - Software vs Hardware
5 - Hunt for the feedback loop
- Getting compiler / linter errors in my IDE. When I've refactored code or when I introduce a linter to help clean things up, I get a bunch of new errors that I just have to fix one by one.
- I execute the program and get an error, then I fix it and go to the next error.
- Getting CI test results (e.g. speed of the program, memory usage, code coverage). Changing something and seeing the result of my change gets me feedback pretty quickly, but CI is often in B1/B2 (minutes/hours) and unfortunately frequently gets me out of flow state.
- Create a to-do list of things to finish, and try to get it to 0 as quickly as possible.
Comments
Post a Comment