Any business user who needs the help of a software developer -- to build a website, say, or to create a custom application -- needs to explain just what it is she needs and wants. Judging by the results, however, the communication is far from flawless. Clients and users often grouse about those irksome designers and programmers who delivered something far different from what was desired, which is how we end up with sites as popular as Clients From Hell.
It doesn't have to be this way. If you explain to your development staff or outside consultant what you want, in the right manner, you have a good chance of getting your project done on schedule and on budget -- with results that you love. These six steps can ensure the best possible outcome.
1. Define the business need.
The most obvious advice is to carefully explain what you want. But that assumes you know what you want, that you can articulate it in a useful fashion, and that you can keep your eyes on the objective. "If you don't know what you want when you describe it to us, it probably won't be what you expect when it is delivered to you," says programmer Paul Giegler.
If you start with a clearly articulated goal, you can easier measure whether the software fulfills the promise.
Start at a high level: What is the goal? Write down your overall objectives. Think of it as a project mission statement.
Before you even call a software developer, says Saeer Butt, senior software architect at Zaphyr Technologies, "Finalize the goal that this software will achieve once it's completed, such as 'Reduce invoice-generation time by 30%' or 'Increase teller output by one hour a day.'"
John Simpson, director of customer outreach at Jama Software, recommends users force themselves to articulate the goal in 100 words or less. "Developers are good at executing details but they do even better when they have visibility and context to the larger vision," Simpson says.
This exercise helps your developer, but it's also good for you and your business team. If you start with a clearly articulated goal, you can easier measure whether the software fulfills the promise. Try to include a metric for success in that goal, as in the examples above.
2. Don't tell the developer about the solution. Describe the problem.
Once you've identified the overall goal of the project, get specific. What does the software need to do?
"Describe to the developer what problem you need to solve, and trust her to help you find the right solution," says Veronica Yuill, joint owner of web development company Archetype Informatique, based in the south of France.