Sometimes the developer within us gets so excited and wrapped up in doing a project that we don’t always keep the lines of communication going. Even worst, we see an easy project and we don’t make sure the customer is on the same page with us before we get started.
You’ve heard me say this before and I’ll say it a million more times because we forget it all to often. "Manage the expectations!" The success or failure of a project is defined in reference to the customer’s expectations. You may (should) have a very clear understanding of the project and it’s scope but if you don’t make sure that your understanding matches the customer’s expectations, you are starting the project with unacceptable risks before the first line of code is written!
That’s not to say you give in to the customer’s every expectation, you merely have to make sure that they’re not expecting something you’re not planning on delivering. If you don’t clarify that with them up front, they will come up expectations all on their own! So clarify up front, get it written down and as the project progresses and the customers expectations magically seem to change, you gently refer back to the scope document. That’s what we call Managing the Expectations. Good luck and happy coding!