Matt's Blog: while { coding }
    Back to Matt's Homepage   |   Hire Matt

The Secret

I have an amazing, incredible, mind-altering secret of incalculable value to share with you. This is a little tidbit they didn’t teach you in your CS, SE, or PM classes in college. Once you are clear about this one thing your software – and your life – will change FOREVER. I promise.

So. Would you like to know the single most important thing there is to know about developing software?

Are you ready?

Can you handle it??? Here it is, BAM!!!:

Manage Expectations

[Matt drops mic and walks off the stage.]

Um… that’s it. That is the whole thing, right there.

If you’re disappointed right now it is probably because I didn’t manage your expectations very well.

It’s true though. Managing expectations is more important in software than gathering requirements, analyzing problems, writing gleaming code, or shipping a high quality piece of software out the door. Those are all very important things. They just aren’t THE most important thing.

For years I’ve said that given the right circumstances I could succeed as a programmer without ever writing a single line of code, just by managing expectations. A couple of years ago I saw a programmer prove this, albeit in a rather unfortunate way. This guy was on the job for three months and hadn’t written a single line of code. And then he got fired. But he wasn’t fired for his code. He was fired due to office politics and teamwork problems. In fact, it was only discovered that he hadn’t written any code the day after he left! The best part is that before he was fired, he was being considered for a promotion to team lead!!!

Did you see the video making the rounds last week about Susan Boyle, the frumpy 47 year old lady that blew away Simon Cowell with her singing? If you haven’t seen the video, Go take a look. (Ordinarily I would embed the video but the fine folks at Youtube and/or BBC have disabled embedding on this one.)

Yes, Susan sings well. Hardly the point though. The real point is that the producers are smart! They have totally and completely managed expectations. Think about the entire set up: The first thing you see is a middle aged frump shoving a snack into her mouth. Then she talks and every word is in a charming but distracting brrrrrogue. And then mix in some well-timed editing: Simon’s unamused reaction when she walks up. The extreme-eye-rolling girl in the audience. Raised eyebrows everywhere. Finally, toss on some ham from the lady herself and you have a perfect recipe for a managed expectation. No one is going to watch all of those social cues and genuinely expect the lady to be able to sing a note. So when she can sing and sing well, POW, they got you. TV producers FTW.

You may think all I am describing is manipulation. That is not the case. Managing expectations is about empathy as much as it is about control. If you promise a feature in a new release of software and it isn’t there, that is going to be very disappointing for your stakeholders. And if you promise to ship a new version in a month and it takes you six months, that might put your stakeholders out of business if the project is critical enough. On the other hand, if you promise something in six months and it takes you four, you’ve got a couple of months to catch any problems you may have missed and you can ship early.

It is far, far better to manage expectations – including your own – and produce average results, than it is to try to produce outstanding results without managing anyone’s expectations. And many times – when you manage expectations well – your “average results” turn out to be quite above average.


Photo courtesy of Sea Turtle

Photo courtesy of Sea Turtle