For overseas project, communication is very essential. Clients love to see progress. If you could e-mail them every day showing them some really cool new piece of functionality or some neat new design element, you would probably have the happiest client in the world. The flip side is true too: if you’ve run into some major roadblock, it’s better to get it out in the open early and explain what you’re going to do to handle it.
The agile approach is very powerful, if everyone is along for the ride. One of the reasons the traditional approach is still hanging in there is that a whole pile of documentation is created at the outset and then handed to the client to sign off on. The client feels good about things because they know what the plan is and can see how it’s going to go off without a hitch (and then reality sets in). Taking the agile approach, you have to be diligent about talking with your client, forwarding changes to them, and actively seeking their feedback. With the agile approach, you can’t just accept a project, walk away for two weeks, and come back saying “Here you go!” It’s a very interactive process.
Chances are, you’ll never hear a single complaint if you’re over communicating with your client, within
reason. ( Remember, they have a job to do too! ) From our experience, however, the single greatest factor leading to a project’s failure is a breakdown in communication. If one party stops talking to the
other, you have a serious problem that needs to be resolved immediately.
An excellent strategy is that as soon as you can, give your client access to your development (staging) server where they can see the project progressing and start working with it immediately. Set some sort of informal policy in place about how they are looking at a work in progress and how things may break for a short period of time as things change. Send them messages periodically highlighting various features and areas that you want them to play with in depth. Encourage them to send you their impressions and any bugs they might find.