I have worked as an employee, constructing and developing projects for several clients in the past decade, so I have the experience on contractor and client relationships in terms of obligations and responsibilities. I have seen many failed projects over the past 10 years either as a third party or the second development team, and I have found many common denominators. In the cases where a project is being paid on a flat rate, both sides have even a greater responsibility. The level of responsibility depends on the client. A web development company that is sending work has a greater responsibility to make sure the development team does not go over hours. In turn the development team has the responsibility to be responsive with the information they have. Here are some key issues that should be addressed prior to starting a project.
About 90% of failed projects are due to lack of planning and understanding. On a project that is quoted at a flat rate, this is important to all parties. I think it is the responsibility of the person sending the instructions to define the project scope. On larger projects, I prefer to do a phase one with approved designs and scope of work as the project is delivered. It is better to spend more time getting a good project scope in place, than being sorry later as expectations on both sides start to crumble.
Figuring out a payment method that will keep both parties happy can be tricky. Luckily credit cards and PayPal have built in buyer protection. Without a solid written agreement, all payment entities will favor the buyer over the programmer or developer almost every time. The clients who showthat they are serious with money is a an essential factor for the project programming and development, and to its overall success.
Understanding what communication method that all parties plan to use is important. I am a big fan of the combination of a chat Program (Skype), Project Management System (BaseCamp) and Screenshare Software (Jing). If the work is not going on in the same room as the client, these tools are pretty necessary for both the client and the contractor. Both parties should agree on this prior to starting a project. I recently have one client from Arizona that started with the ability to get on Skype chat when I quoted the project and ended up sending over 100 emails of changes that over doubled the hours.
It is important for both parties to understand the expectations regarding timelines and what could prevent this from being met. If the contractor or developers do not agree to the unrealistic completion date, this will only ruin the relationship. Just like payment speed will demoralize production on programming; slow delivery speed based on any upfront agreement will lead to ruined relationships.
Both parties being available for communication is important. This should be stated in the initial agreement on how often and when to expect contact. In some cases it will not be important for the developer to be available outside of emails. The number one complaint I hear from web development companies is lack of response from the programmer.