Reinterpreting Experience

Nov 23rd, 2002 by Tony in Questioning XP

Reinterpreting your experiences is very important in times of change. As things change, we need to see if what we learned in the past is still applicable and relevant. An example of this is the difficulty of reading source code to understand what a program is supposed to do.

Historically, this has been really hard to do in assembler and low-level languages, so the lesson we learned was that programs need lots of external documentation and that printed diagrams are really useful for understanding the structure of a program. With modern, expressive object-oriented programming languages it might be time to re-evaluate how much external documentation is needed to make the code understandable.

A more appropriate example is possibly the assertion by the Extreme Programming community that the cost-of-change curve is no longer exponential. Although it is probably not flat, it is still useful to question the “get it right the first time” lesson we learned from the exponential curve. It may also be useful to ask what it would take to flatten the curve even further. Maybe the whole concept of “get it right the first time” is obsolete, and what we now need is a “fast failure.”

By getting something out quickly, the users will be able to guide the development team to an appropriate solution.

— Pete McBreen, Questioning Extreme Programming, Chapter 5

No Comments