Tangents

Everyone knows that it’s hard to accurately estimate the duration of a software project. At bottom, this is because you often don’t know exactly what you’re doing, or exactly how you’ll do it, which makes it hard to work out how long it will take. (Possible complicating factor: figuring out what you’re doing and how you’ll do it is 95% of the work; the rest is just a little light typing.) I think a related (and more addressable) problem is that of the seductive tangent.

Temptation

As you work away on a project, lots and lots of related projects pop into your mind. Perhaps you could add feature X, or redirect the project to address use case Y, etc. Many of these ideas are bad, perhaps a few are great. I think it is in relation to these side projects that the difficulty of accurate estimation really bites you.

Tar Pit

It’s all too easy to underestimate the difficulty of going down the tangential paths, and therefore, because the apparent payoff seems largish and the apparent cost seems smallish, abandon your plan and charge off in all directions. This has many deleterious effects, which I’m sure are self-evident. The remedy seems obvious: an institutional bias against such tangents.

Choice

Unfortunately, exploration and adaptation are essential to the creation of a successful product; of the dozens, hundreds, or thousands of tangents a project may head down, most will be dead ends, but a few will lead to design breakthroughs. So it seems you have a choice: You can ship on schedule (but probably deliver something uninspired) or possible deliver something great (but it’s likely to be an ugly project).

Life’s imperfect.

Share and Enjoy:
  • Twitter
  • Facebook
  • Digg
  • Reddit
  • HackerNews
  • del.icio.us
  • Google Bookmarks
  • Slashdot
This entry was posted in Jack Handy. Bookmark the permalink.

Comments are closed.