We are not as rational as we think we are. Or as Dan Ariley might put it: We’re All Predictably Irrational. The other day I read “Die Kunst des klaren Denkens” (lit: The art of clear thinking) by Swiss author Rolf Dobelli. One of the common logical fallacies Dobelli describes in this book is the fallacy of Hyperbolic Discounting – the inclination to value immediate rewards over over delayed rewards. It seems to me, this human predisposition like no other lies at the heart of many mistakes in software development, including failed attempts adopting Test-Driven Development (TDD).
But first, let’s look at the research on Hyperbolic Discounting. The inclination to favor immediate rewards over long-term rewards is also observed in animals and is likely to be a remainder of our animalistic past. Animals, for the most part, do not show the ability to postpone gratification. One particularly famous example, illustrating our human struggle to deal with delayed gratification is the Stanford Marshmallow experiment. In this experiment children were offered a small, immediate reward (e.G. a single marshmallow) or a bigger, delayed reward (e.G. two marshmallows in 15 Min). Continue reading

