hacknot.info
Home Archive About RSS 2.0

Purr Programming

8 Sep 2003

Advocates of Pair Programming claim that the practice produces higher quality code than that produced by individuals, with little or no negative effect upon immediate productivity. They also claim that participants generally enjoy the experience of Pair Programming and are enthusiastic about it's adoption and dissemination. These claims are supported by a growing amount of anecdotal evidence from the development community.

These impressive results have encouraged us to experiment with an even more extreme method of code production, which we call Purr Programming. The practice is similar in form to Pair Programming except that one of the pair is a domestic cat.

Of course, the cat does not produce code directly (due principally to the lack of suitable input devices) but fulfills the "observer" role that is shared in normal pair programming. With suitable training, the cat's natural pattern recognition abilities can be directed to the task of code style and format checking. The feline preference for playing with balls of yarn manifests in a programming context as a facility with multi-threading problems.

Our initial results have been very encouraging. The programmers who trialed PurrProgramming report that they enjoyed the experience of writing code with a cat nearby, and estimate their defect injection rate fell by at least 30%, due to spending approximately 30% of their time stroking the cat. The effect of the practice on the cat's productivity is unclear, but it is certainly no worse than when it works individually.

We have also observed a nonspecific knowledge transfer effect whereby coding insights that occur to a developer will later spontaneously manifest in another developer when Purr Programming with the same cat. We can only speculate as to the underlying mechanism, but we suspect it is a consequence of the relationship between Extreme Programming methods and Buddhist philosophy.

Those introducing pair programming into a development environment typically encounter opposition from their management, who believe that the pairing practice will halve the productivity of their team. When introducing Purr Programming into our own development process we encountered no such opposition, as most managers refused to believe that the cat could have any effect on the development process at all.

We have found that a small percentage of developers do not have the courage to change their coding habits. We refer to such programmers as Dog People, as opposed to those who embrace Purr Programming whom we refer to as Cat People. As ethnographic studies have long confirmed, Dog People and Cat People don't mix.