Feedback is an essential notion in usability. This is the notion which struck me the most as I read the book « Design of Everyday Things » by Donald Norman and of which I am now the most attentive to in my every-day life. This article explores the way we can apply the feedback concept in other field than usability.
But first *how can we define what Feedback is? *
Feedback is data or results which are given in return for a completed action. me
Every action should have a reaction Arnie Lund
Feedback is also a central concept in system theory, especially cybernetic system theory, every action performed by a system on another one needs a feedback to measure its effect and so adjust its action to the reaction it perceives. You can replace « system » in the previous sentence with « human ». Also the feedback can be asynchronous with a response delay that can vary in time.
Examples Of Feedbacks In The Physical World
Donald Norman, in his book, uses as an example telephone keys which produce a sound when they are correctly pressed (a different sound to every key too). This allows the user to know that his action has been taken into account.
On my part, I remember for example having rented a car of a recent model a while ago and during the ignition not hearing the engine (‘feedback’) and spending 30 seconds just looking for a feedback to my action of ignition, actually the dashboard lights were on but unfortunately they were flooded in sunlight. Until I finally put it into gear and the car started going in reverse – the engine was on and the car had been operational the entire time!
Another example is the knobs which control the volume on my old Dell had a horrible feedback: a bar would appear on the screen but gave no indication of what the real level of volume was. Now on my Mac, as well as the appearance of a visual bar, the volume buttons emit a beep of the volume which has been modified by my action – a feedback I personally find much more useful!
In short, every action must have a feedback worthy of the name, especially in software!
Agile Practices Are Built With Feedback Loops
I find that the Feedback notion is a fundamental one and can be applied to our organizations. It is also a good way to explain the Agile practices as they are part of a feedback loop with just a different time laps which depends on the action (I stick to the number 3 to emphasize the unit change for each practice, a kind of Rule of Three ! :-) ). Hence:
- Pair programming: feedback within 3 seconds
- Unit tests: Feedback within 3 minutes
- Refactoring and continuous integration: feedback within 3 hours
- Standup meeting and planning: feedback within one to 3 days
- Iteration: feedback within 3 weeks
This feedback can sometimes be quantitative and very rational like with practice of A/B testing which consists of providing two different version of the same website/application and collect metrics about the different behaviors from users according to each version.
The faster the return, the better, which is why real-time BI systems are popular. Because, like in real life, feedback makes it possible to adapt the action in a continuous manner according to the returns.
In short, every activity can be questioned according to the feedback it returns. And how about you, what are your feedback loops for your activities?