Understand the requirements

"If you don't know where you are going, any road will get you there." 

Make certain you know what your customer expects before you begin designing and coding your program.

Some customers know exactly what they want and they know exactly how to express it.

Others don't know what they want, or don't know how to express it, or both.

Regardless of how difficult it may be to come to that understanding, do it.

You will be glad if you did, and possibly sorry if you didn't.