Service based businesses face a challenge at times of not being able to meet client’s expectations. Development teams try to justify their efforts by simply calling such a business as an “Over Demanding Deal”. Chances of such projects to not end up with a soothing experience are very high, if not handled well. One major reason for occurrence of bad situations like these is that both vendor and client talk about an abstract while entering into a deal. Although client and vendor are equally responsible for perfect project execution but onus of successful delivery lies more with vendor. Both parties start a business relationship with a positive note always. Certain pre-requisites and adequate care during project execution can save odd situations and help in achieving successful delivery.
Sometimes vendors jump over a project when a business opportunity is discovered. Hurriedness to win the business deal and urgency at client’s side makes it easy for both teams to miss the finer details of required stuff. It is important to spend as much time as the teams can at this stage and thrash the requirements to the best. Do not presume about a feature request. Ask as many questions as you can from your prospect. Do not over commit. Understand project requirements very well.
Make people aware of your assumptions, if any, in a very sure and clear way. For example if you are estimating an effort for building a mobile app for your prospect then inform that your estimates are based on specific assumptions like apps will be supported on Android / iOS platforms and shall support specific OS versions only. Weather the apps will work in landscape mode or Portrait mode or both? Shall it run with internet only or it will work in offline mode as well. Take an adequate time to analyze the client’s expectations to your best at this stage.
Learn to say “No”
Client and work profiling is a must. Say “No” to a business opportunity which does not match with your skills. False commitments leads to uncomfortable situations later. Not every opportunity is made to work on. If the job lies with any of your existing customers and does not fit your expertise then mention it openly to your client. If the client is still interested in working with you then execute the project by either hiring a new relevant developer or have one on contract.
Agreements and Documentation
It is important to have very well established and clear agreements before starting a project. This document must carry
- Scope or Work
- Technology Stack you shall follow to work on that project
- Your Assumptions and Queries
- Timelines to deliver the project
- Payment Schedules
- Support and Maintenance clause
- Scenarios related to Change Requests
- Legal implication on both parties in any odd condition
- Team skills which shall be needed to work on the suggested project.
- Details about deliverables
Every communication before starting the project or during project execution should be captured in writing through Minutes of Meeting emails to ensure that both parties agree on discussions points and will stay adhered to those while progressing after that meeting.
Self Check About Quality and Project Management
This is the most important aspect of any successful project. No project can fail if it is built with perfect quality and good project management.
- Keep a strict watch on requirements and agreement terms.
- Follow the finer details of the specs and act accordingly.
- Write best and most optimized code.
- Perform Unit Test and Functional-Integration testing at regular intervals.
- Perform code reviews.
- Follow a Project management tool and track project complete percentage
If a conflict of interest is encountered then check your work first of all. Do not jump over to a conclusion. Stay honest and accept your fault if you detect one at your end while in such argument.
Keep Customer Informed
In our observation with certain vendors we noticed certain things, for example that after the project development gets started, the concerned sales team member gets engaged in finding other business opportunities and related development team gets busy in executing the project. Communication and progress updates in such situations are kept aside without realizing the fact that the client has spent money and deserves to know as to what is happening with his that money. It is important that client must be informed about the project progress on weekly basis. If it is a website then share the public link of the website with client so that he can monitor the progress and may raise a flag if anything shows different from his expectations. It is advised that developers should schedule product demos fortnightly or weekly with client to make him understand the work done.
Customer Proxy in your Company
There should be at least one person in the team to act as client’s proxy in the office while working on a project. He can be a tester or can be the sales team member. Development team must consider these two members as their first two clients for every build which they get ready for client.
Following these practices can significantly save projects from getting failed. Always bear in mind that a happy client is the lowest possible investment towards your marketing expenses. Be determined to walk that extra mile to make your client satisfied.