Dougal Campbell's geek ramblings

WordPress, web development, and world domination.

A Software Development Analogy

Alice takes her car to a repair shop on Monday. She walks inside and talks to Bob, the customer service representative behind the counter. “My car seems to work pretty well, but occassionally it makes an odd noise. When can you have it fixed, and how much will it cost?”

Bob smiles and replies, “we can have your car ready by noon on Friday, and it will cost $200.” Alice says that this is acceptable, and leaves her car to be worked on.

On Wednesday afternoon, Bob talks to Charlie, the mechanic. “How are you progressing on Miss Alice’s repairs?” Charlie gives Bob a blank look.

“I gave it a quick look yesterday, but I haven’t even started working on her car. I’m still finishing up the work on Mr. Durham’s truck.”

“Haven’t started? We have to get her car working by Friday at noon!” Bob exclaims.

Charlie narrows his eyes and shrugs. “That’s not going to happen. I had to order some parts, and they won’t even be here until tomorrow.”

Bob gives Charlie a pained look and sputters, “surely you realize that Miss Alice is an important customer? She works for a company that has a fleet of leased cars, and they get all their servicing from us. If we don’t have her car ready on time, we could lose that contract!”

Charlie looks back and Bob and replies, “Maybe you should have thought of that earlier. And maybe you should have asked me what my repair schedule looked like before you gave her an ETA on her repairs. Better yet, you probably should have asked Dave, since he’s the shop manager. But, no — you ignored our normal workflow, and now I’m going to have to work overtime because of your mistake. And when this lady gets her car back, if everything works fine, she’ll send you a nice thank you note, and the shop owner will congratulate you. But if I make a mistake in my hurry to meet your unreasonable deadline, you’ll blame me, and the shop owner might fire me. Is that basically right?”


“I guess I’d better get to work, then.”

About Dougal Campbell

Dougal is a web developer, and a "Developer Emeritus" for the WordPress platform. When he's not coding PHP, Perl, CSS, JavaScript, or whatnot, he spends time with his wife, three children, a dog, and a cat in their Atlanta area home.
This entry was posted in Development, Tech, Work and tagged . Bookmark the permalink.

8 Responses to A Software Development Analogy

  1. Chris Meller says:

    God I love it… If only I could go on a rant like that with people around here…

  2. Pingback: Dj Roger Junior Blog » Blog Archive » Hello world!

  3. Pingback: Blog > Around the web

  4. John says:

    Apart from the idea of an automotive analogy for software development already being an overused and hackneyed one, what’s maddening about this is that it actually has nothing to do with software development. You are talking about bad management – regardless of the domain. Some software development centers are well managed, some badly so: personally I think it is certain is that neither is helped by the kind of ‘everything is broken, blame it on the bureaucrats’ mentality.

  5. I get the feeling that this a way of thinking and reasoning that is threatening to take over all avenues of life today. We’re changing from a wear and tear society into an eternal update society… :o) Nothing is ever really finished, there is always a bug fix around the corner. Wait until our clothes starts being like this.
    Customer: “I want a coat. This isn’t a coat it is a jacket.” Salesman: “Oh, it is a coat, or it will be after the next update!”

    Nice analogy and well written!

  6. Pingback: Virtual Dave » Wisdom From The Future

  7. webdev says:

    Interesting point of view! Thanks for sharing this!

Leave a Reply

%d bloggers like this: