3/22/2008

Iteration and Feedback

We often think of iterative processes as successive refinements. But the key to the success of any iterative process is the feedback received between iterations. The quality of that feedback will determine the quality of the output. But what kind of feedback do we need?

Suppose you are driving a car on a highway. You want to drive as fast as possible but you also want to avoid getting a speeding ticket. Every time you look at the speedometer, you get precise feedback. From that feedback, you can either choose to accelerate or decelerate depending on your current speed compared to the speed limit. The feedback allows you to take corrective actions.

I don't know if you have ever tried to drive a boat. I tried once. It is not easy. Because of the water viscosity, the boat does not change its course immediately when you change the direction. The delay makes it very difficult to quickly maneuver the boat because as long as you do not get the feedback you can not take the next corrective action.

Therefore, we need accurate and prompt feedback. The accuracy will determine how close to the objective we can be and the promptness, the speed at which we can it. I see three levels of feedback in an organization: individual, organizational and operational.

Individual feedback is targeted to a specific individual. An employee review is an example. Organizational feedback aims at the organization as a whole. Employee surveys are an example. Operational feedback concerns the way the organization works and ultimately the products/services it delivers. Software architecture reviews and testing are two forms of operational feedback in typical software companies.

My point is the following: To be efficient and deliver quality an organization needs to maximize accurate and prompt feedback on all three levels.

0 commentaires: