Thinking about project failures

March 8, 2006

Via a link from MiniMsft's latest entry, I wound up reading this item on hiring people. In it I hit an interviewer question I realized that I probably wouldn't pass:

6. I will ask you in an interview to describe a project you worked on or effort you made that failed - partially, completely, and miserably are all OK for response fodder. If you've worked for a substantial length of time in IT, you've been part of at least one of these turkeys. [...] If you've got more than, say, 4-5 years of professional experience and you can't (or won't) describe an event like this, I'll deduce that either you're not being straight-up with me or you haven't done what your resume says you did somewhere. [...]

Thinking back, I honestly can't really think of a project I would describe as having 'failed' in this way. I've had projects not work out, but when it happens it's been failures of persuasion, not failures of implementation.

Failures of persuasion are things like not convincing management that an idea is worth doing (and certainly not all of them are), or building something no one is really interested in (or failing to interest people in the project), or disappointing users and having them quietly drift away. Or even failing to inspire passionate users who really want the service, as opposed to people who just use it because meh, it's there.

Or to put it another way: around here, projects don't die spectacular showy deaths in public, they die quiet little ones off in some dusty corner.

(You can have spectacular deaths for projects that work as designed, when it's just that the design was terrible. I don't think I've been involved in any of these, although I may just have been oblivious to it.)

I don't think of projects that fell victim to these as failures so much as things that didn't work out; to me, words like 'failure' and 'turkeys' require something more spectacular and explosive. (This is probably blinkered 'implementor' thinking from some views, and perhaps I should be trying to move past it.)

I'm not sure why we haven't had failures of implementation. Perhaps we've been lucky. Perhaps we've been sufficiently careful with trial projects and the like (we've definitely had trials that didn't work out). Perhaps we're not being aggressive enough (although we do plenty with little).

(We have had problems with services, but we've managed to get over them, so I don't consider these failures. Unforeseen glitches happen; what counts is whether you can fix them.)

PS: I have certainly made my share of mistakes when implementing things. But so far I have been lucky enough that none of them turned into catastrophes; I get to count them as (narrow) escapes, not project failures.

Written on 08 March 2006.
« A modular approach to Apache configuration
Closures versus classes for capturing state »

Page tools: View Source, Add Comment.
Search:
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Wed Mar 8 02:43:02 2006
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.