Coding Horror

programming and human factors

Vision Quest

If you asked each member of your team why they were working on what they are currently working on, what would they say? Could they even give you a coherent answer? If they did, would their answers all agree?

All too often, I see developers working without a clearly defined goal. I don't mean a boring 12 page design spec. I'm talking about a simple vision statement everyone can rally around: here's what we're doing, and here's why it's going to rock. Short, succinct, and clear. Like an internal elevator pitch.

In Scott Berkun's new book The Art of Project Management, he notes something I've observed repeatedly: most projects have no vision statement. And those that do are generally mind-numbingly bad:

I've read dozens of vision statements in my career, and there are certain patterns the bad ones share. Lame visions have no integrity; they don't offer a plan, and they don't express an opinion. Instead, they speculate, and avoid the possibility of being wrong. If the vision doesn't take a clear stance on what should happen, the team leaders will never fully invest emotionally in the effort, setting up the project for failure.

Scott also provides a helpful catalog of lame vision statements:

Lame vision statementExampleWhy it fails
The kitchen sinkMaximize our customers' ability to get their work doneToo broad to be useful. This is a mission statement for an organization, not a vision for a project.
The mumbo-jumboDevelop, deploy, and manage a diverse set of scalable, performant, and strategic knowledge management tools to best serve our constituents, partners, and collaborative organizations, improving the possibility of overall satisfaction among our diverse customer profilesThis is committee-speak jargon. It uses complex language to hide the absence of strong ideas. No one can figure out what this means and therefore it's useless.
The wimp-o-maticWe may eventually consider trying to do something that's kind of better than what we've done before. At least that's what we think our vision should be now. But don't go too far because we think it might change again pretty soon.Everyone will see how spineless this is. There's nothing for the team to rally around.
What the VP wantsMr. VP's vision for our corporation is to be the best producer of widgets in mid-size markets, and we will work very hard to live up to Mr. VP's standard, using every resource at our disposal to make this happen."I said so" is not a supportable argument. VPs are obligated to provide reasons for important decisions. That's what the vision is for.

As an example-- perhaps the canonical example-- of a great vision statement, Scott points to the project goals for the original circa-1996 Palm Pilot:

  1. Size. Fit into a shirt pocket. Light enough not to feel unwieldy.
  2. Cost. Less than a luxury paper organizer ($300 US).
  3. Simplicity. As simple as paper. Turns on instantly. Uses simple conventions.
  4. Sync with PC. Use the PC as a common point of interaction.

A vision statement isn't just marketing weasel-speak-- it's the soul of your project. And who wants to work on a project with no soul?

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror