A Parable

Valorie’s first day back at work was yesterday, and the principal at her school led a discussion about the following parable:

Once upon a time there was a town that was built just beyond the bend of a large river.  One day some of the children from the town were playing beside the river when they noticed three bodies floating in the water.  They ran for help and the townsfolk quickly pulled the bodies out of the river. 

One body was dead so they buried it.  One was alive, but quite ill, so they put that person into the hospital.  The third turned out to be a healthy child, who then they placed with a family who cared for it and who took it to school.

From that day on, every day a number of bodies came floating down the river and, every day, the good people of the town would pull them out and tend to them – taking the sick to hospitals, placing the children with families, and burying those who were dead.

This went on for years; each day brought its quota of bodies, and the townsfolk not only came to expect a number of bodies each day but also worked at developing more elaborate systems for picking them out of the river and tending to them.  Some of the townsfolk became quite generous in tending to these bodies and a few extraordinary ones even gave up their jobs so that they could tend to this concern full-time.  And the town itself felt a certain healthy pride in its generosity.

However, during all these years and despite all that generosity and effort, nobody thought to go up the river, beyond the bend that hid from their sight what was above them, and find out why, daily, those bodies came floating down the river.

 - Dennis Connor, Gonzaga University.  He’s unaware of its origin…

This story led to a rousing discussion among the teachers, and I realized that it’s true outside its intended circle (lawyers in training).  It’s just as relevant to software engineering as it is to any other field of endeavor.

As a simple example, think of computer security.  Issuing patches is equivalent to tending the bodies coming from the river.  Eventually you get pretty good at it, and can be rightly proud of your work.  But issuing patches ignores the root causes of the problem; it just deals with the symptoms.  Sometimes you’ve got to go beyond the bend in the river to find the source of problems.  In many ways, XP SP2 is an example of going beyond the bend – it’s an attempt to preemptively thwart the bodies from coming down the river.

And this goes way beyond that.  How many times have you spent fixing bug after bug after bug in a particular component without spending the time to look at the root cause of those bugs?  Maybe taking a step back could let you eliminate entire classes of bugs.  Maybe there’s an underlying class that’s too hard to use and instead of applying band-aid after band-aid, the right thing to do is to throw away the old code and replace it?


Comments (9)

  1. Anonymous says:

    Encouraging users to NOT run as Administrators would be one really effective way of damage control. I’ve tried, and it doesn’t work in practice – too many applications fail, and the OS doesn’t seem to have a way of putting up a dialogue: "you must be admin to do this, enter password". On my OS X machine, it works great. So what gives?

  2. Anonymous says:

    Excellent post and so true.

  3. Anonymous says:

    In real life, anyone who went past the bend in the river would probably become one of the next day’s bodies.

    In software engineering there are some opportunities for the parable to be as valid as we wish. It is fortunate that XP SP2 is such a case. But in the usual situation corporate politics trumps engineering, and anyone who goes past the bend finds that their job is one of the next day’s bodies.

  4. Anonymous says:

    Unfortunately so, but hopefully not as often as that.

  5. Anonymous says:

    Doctors fall under this category as well. Most of them treat symptoms and don’t bother to venture up river to find the cause. Their job is prolonging life, not restoring it.

    While you may be the next body floating down the river in theory it doesn’t really happen in practice. If an industry NEVER ventured up the river then it is only asking for disaster. I believe some work should be done on patching symptoms versus problems but if a company never ventures up the river they’ll be stuck in an endless loop.

    SP2 ventured up the river a little bit but probably not quite enough. I don’t think one could really fix the problem without breaking the OS. Maybe Longhorn will be different.

    Bjorn: Restricted user access does work. It is a pain to use effectively if you are an administrator but in the case of my company it’s perfect. No one should have administrator access because I don’t want them installing programs or doing any of the tasks an admin can. I am a little peeved that you can’t view the system calendar as a normal user (read only? Helloooo?) but overall it really is the best approach. It’s not quite as easy as OS X but I think it’ll get there.

  6. Anonymous says:

    Jeremy, I have an article on my opinions on the date&time control panel applet currently in review 🙂

  7. Anonymous says:

    The parable may be modified to end like:

    Committees were formed to set standards for care of the bodies. These were standing bodies that continually improved their process. Many of the towns people were involved and soon their was a need for professional paid managers to deal with the people issues, and damage control. They produced spreadsheets, powerpoint presentations and shared them among themselves.

    During the annual town meeting, much time was spent discussing how successful this whole process was and plans to improve it. {I’m showing my NE upbringing here}

    One day, someone suggested that they organize a posse to ride up the river and figure out how to stop the bodies. Most of the people and esp. the professionals were too busy. Some of the professionals provided logical reasons not to ride upriver such as safety of the posse members, the fact the town would have fewer people to deal with the bodies, and that the town needed these people to drive the economy forward.

    So, one night a summer intern slipped out of town and was last seen heading up river.


  8. Anonymous says:

    Well, this year I didn’t miss the anniversary of my first blog post.

    I still can’t quite believe it’s…

Skip to main content