First and foremost, this means listening to your customers. Early on in the project, your team must spend time with customers and end users. Make sure the project team understands the requirements from the users’ point of view.
As you move from planning into project development, try to create prototypes of the end product. If the product is a web page, it’s simple to build a dummy page that looks like a user interface but which has no functionality. If you’re building a house, build a model first. If you’re writing a play, test some scenes with friends. The idea is to build a mockup of the product before the “point of no return” decisions have been made. Change is cheap during the prototype stage, but change is expensive once we’ve locked down functionality.
Why build a prototype? Because people are busy and because language is an imperfect communication tool. I can spend hours writing documents and talking about user interfaces but the odds are high that my audience is busy thinking about other things. However, when you sit them down in front of a prototype and say “this is what the product is going to look like,” then suddenly they can focus. Even if they tell you that they hate it, you’ve made progress because now you have information.
Another benefit of involving your customers is that they become invested in the success of the project. It’s easier to manage their expectations because they are close to the project. Finally, if your customers are truly involved, then you can be confident that you’re working on the right project. Don’t forget, if you build the wrong product quickly and effectively, it’s still wrong.