Many of us who’ve worked with offshore outsourcing companies and/or freelancers often end up thinking that we have perhaps selected the wrong guy for the project. While in more than half of the times you’d be right, many a times you are wrong. Nobody likes to take the blame on his/her own shoulders. Your outsourcing partner company will blame it back to you and you will blame it to them and it will never come to a conclusion. Almost 70% of the modification projects that we get from first time clients is due to the fact that their previous developers left the project half-done in order to pursue some other interests of their own and leaving the client in jeopardy. In this article, through my experience so far in working with overseas and remote clients from various industries, I try to address to the common mistakes that clients make and try to find out how to avoid the same.
1. Select the right outsourcing partner for the right project
First thing to do here is to analyze your own project. Find out how big the project is (very small scale, small scale, medium or large scale) in terms of budget value. Never go with a freelancer or a group of freelancers for medium to large scale projects. And at the same time avoid working with offshore outsourcing companies for very small scale projects, unless you’ve an on-going arrangement with a partner. Now, when I say very small scale, it generally means projects less than $500 USD. You are getting a cheaper or competitive rate when you outsource your project, not only that, but you don’t have to hire a full time employee in house for a project that will run for a few months – but the reason you should avoid working with freelancers for medium to large scale project is very obvious. Freelancers or group of freelancers lack trustworthiness and dependency factors. They will abandon your project at any point of time if they find another bigger project or get landed with a conventional job in a company. They will also abandon your project if they, at some point of timel, realize that the project is turning out to be larger than their capability and capacity.
You go with freelancers because they are very cheap. This is where your selection process fails entirely. While budget is a very important factor in selecting the right partner for your web development, software or any other relevant IT requirement, there are other important factors that you should give equal consideration to as well, such as partner company’s overall team size, projects that they have already accomplished, years of being in IT sector/business, experience of the resources that they are planning to engage for your project etc.
For medium to large scale projects, it requires the engagement of a team to provide you desired or above-expectation results for your project. While the freelancer may possess one or two skills required for the project, he/she cannot be a one man army to take care of all the divisions such as Design, Database Architecture, Coding, Testing and Project Management. However, it depends upon your overall project requirement that how many of these will really be required to get engaged on your project, but certainly if you think one freelancer can handle it all, you are on a wrong track for your project. And you’ll probably end up finding out that your developer left without any prior notice in the middle of the development phase. Almost 50% of projects that we get that are partially completed have this single reason, ‘My developer left leaving the project incomplete and in jeopardy’! Many of such freelancers often have a full-time convensional job and they still undertake such projects by assuming that they will be able to work on it after-hours. This way they will only end up in delays and at some time stop responding to your emails and you have no other way of contacting him/her. A good website or software development is not a weekend project. Why to take any rist in the first hand?
Even for companies, you should first check out their overall team size and since how many years they are in business. A relatively new company with less than 1 year in business and less than 10-15 employees cannot be a great option to manage your larger projects unless, well, they are all scientists.
2. Analyze the outsourcing partner before you start working with them
Only because you were presented with a cheap rate for your RFP (Request for Proposal) and it suits within your budget, it does not mean that you should sign that partner right away. If that partner is desperate in getting the work started without even taking a good look at your project requirement and trying to address a few concerns or queries prior to the project amendment, you got to ring the alarm bell. Many companies though have separate sales (business development) and technical departments and different people are engaged to manage each, they can still engage a technical person to analyze your project requirement prior to signing the contract or the agreement. It simply means to me that they give prior importance to their top line rather than your project.
It would also be handy to find out if they have done any similar work before. Similar in terms of technical aspects and in terms of budget and overall size of the project, too. In case you have a very large project and they don’t have any similar experience of managing such scale of project in past, you can at least try to listen to their approach to this.
3. Statement of Work (SOW) and your engagement with it
A common mistake that most clients make it in thinking that the project requirement documentation including SOW is solely the service provider’s responsibility. Even if it is true, you should be involved in this process yourself to make sure whether all your requirements (functional as well as technical) are clearly mentioned in the SOW or not. This is generally the 1st phase of the SDLC (Software Development Lifecycle) and hence is very important to make sure there are no conflicts during the later phases of the SDLC for a given module or project. If you are too busy yourself to look into this, you should engage one of your colleague or partner to address to the queries and concerns raised by the service provider team regarding the scope of work and overall project requirement. If you fail, keep it on hold or avoid to address them now, they will haunt you later on and it will disturb your working relationship with the service provider since you still expect them to provide you something that you never clearly communicated with them when it was required.
4. Inspect what you expect
Since you made your requirements clear to the service provider and they started the work, your job is not yet over. I know that it is not what you want though and that is why it is of real importance for the client to provide you with daily or at least weekly update reports. We generally keep the clients updated by providing them regular time-sheets of resources who are engaged on their projects along with updated PTCs (Project Timeline Checklists). This enables the client to get up-to-date with the process and find out if a particular task or module is delayed. Delays, when communicated well on time and in most cases, ‘predicted’, can be helpful. This helps in determining well in advance if the overall deadline for the project will get delayed and helps plan your post launch marketing or other programs for the project accordingly.
Our project coordinators and project managers stay in constant communication with the client to make sure they are kept informed of what is going on. This is generally done by default when they provide regular time-sheet updates which explains the overall progress and the next schedule of work. If your service provider is reluctant in providing you any such reports or is not in communication (be it online chat, email or phone) loop, it should ring an alarming bell for you. They refrain from communication if they don’t have any progress to show since the last update, which should not happen. Whatever the reason may be, you need to find it out and make sure that you understand and agree with the reason.
6. Understanding the delay
A project can be delayed due to various reasons. Delay can be due to technical issues and from non-technical issues as well. Sometimes the developers under-estimate the overall scope of the work (which should not happen in the first place though) and later find out that the certain deliverable will need to be postpone and thus the timeline for overall delivery delayed. Many a times, majorly in case of working with freelancers, they report of such delay only after the project is already delayed by months. When you know well in advance that the project is running behind schedule, it helps. Although a delay is still a delay, but it helps from a sudden shock of realizing that you’ve wasted months and still have no deliverable at all and worst, the freelancer refuses to work any further since you did not pay, hell you did not pay because you did not see any deliverable at all!
It simply gets confusing and frustrating with meaningless and useless arguments in exchange from both parties. Well, sometimes clients and such freelancers exchange such a huge volume of arguments when they get into conflict, so much amount of communication exchange perhaps never were in place between them regarding the project (functional and technical point of views) at all! It is surprising to see how some employers/clients tend to waste hours trying to argue with the freelancer when their project is already in jeopardy while they never did pay attention when they did not receive anything for a month or so!