How to assess an Offshore vendor to Outsource your technology needs
Outsourcing refers to contracting a 3rd party organization to get work done whereas Offshoring refers to getting the work done in a different country.
So, here the context is Offshore Outsourcing where the company is looking to hire a vendor outside its country to get the work (here software project) done.
The objective of this article is to educate the companies to finalize an offshore software vendor that it can outsource its technology work to.
Where does the research begin?
1) There are a number of freelancing websites like oDesk, Elance and Guru where one can search for a vendor. However, one needs to be cautious as the experience has not always been great there.
2) The company can leverage its contact network and see if someone can refer a vendor that is tried and tested.
3) The company can do an independent research on the internet and shortlist a few vendors.
Once Shortlisted, how to choose the right partner?
Below are some points that have been grouped under broad categories of
1) Skillset assessment,
2) Quality assessment,
3) Infrastructure assessment,
4) pricing assessment,
5) legal assessment, and
6) Above and Beyond assessment
1) SKILLSET ASSESSMENT
a) Gauge the entire skillset of the vendor
You should be aware of all the areas of expertise of the vendor even though you may not need some services to begin with. Ask for a competency matrix of the vendor which gives a breakup of the resources(along with their experiences) in different skillsets. This is necessary because at a later date if you require services in other technologies, you do not need to look outside the current vendor. Working with multiple vendors on the same project might incur added complications.
b) What services does the vendor provide
You should checkout with the vendor on different services it provides apart from software development. It helps if the vendor also has an inhouse design team, a QA team and also provides post-production support and maintenance. You must have got the designs made from another vendor but if small tweaks are required in them, the vendor should have to capability to do them in-house. Also if the vendor provides QA services, the whole project planning becomes easier. Moreover post-production support becomes easy if the original vendor is contracted for the same.
c) Is the vendor well versed with the latest technologies?
It is of paramount importance that the vendor is well versed with the latest technologies. For ensuring this you should seek the opinion of the vendor on the technologies it recommends and then do some research on them.
d) Familiarity of the vendor with your domain.
It helps if the vendor is familiar with the domain of your work. Check out if the business analyst who interacts with you is able to add value through his experience.
e) Potential of skill drain
Skill drain is detrimental to the progress of the project. You would always want that the resources assigned to you stay on your project for longer duration so that skill drain does not bother you. To gauge this, have a discussion with the vendor and try to understand the measures vendor takes to retain good resources. Some figures like average number of years a resource has spent in the company and attrition rate might be helpful.
f) Communication Skills and protocol
Most often the projects fail because of the communication issues. You should ensure that there is proper communication protocol defined. If you have the bandwidth then ask for daily communication with the team. Also ensure that status updates are shared on a daily basis. Solicit for Skype video calls on a regular basis. It is not necessary that the person converses fluently, but should be able to convey properly. Also the vendor should be proactive in providing suggestions during communication.
2) QUALITY ASSESSMENT
a) Assess the work quality of the vendor
This could be done by asking the vendor some samples of the documentation and code done in their past projects.
b) Past work done by the vendor
You should also ask the vendor for relevant work experience. For this, some reference work in the past and some case studies that the vendor can share would certainly help.
c) Client testimonials and connecting with previous clients
You should check out the client testimonials at the vendor website and also at independent internet sites like Google. Also you should ask for clients' references that you can directly connect to and seek their opinion. Beyond the decision of working or not, there are other experiences the previous clients might share which could be useful.
d) Detailed estimate
On the estimate provided by the vendor, look out for the level of details. There are many tasks before and after the actual development which should be detailed out in the estimates. Also you can make out from the estimates breakup whether the project understanding of the vendor is inline with yours or not. The estimates breakdown should show all the functional areas related to your requirements along with the time that it is going to take to design, develop and test.
e) Development mothodology and project management approach
Ensure that the vendor has defined methodology and apporach that is shared with you and on which some tweaks that suit your needs are possible. Adequate information on how the project will be managed should be shared in these documents.
f) Collaboration tools used by the vendor
You should ask for the tools that the vendor uses for collaboration. Any project should be properly managed and for that using cloud based collaboration tools are quite common. You should always be aware of the project plan and the progress of the project to avoid delays. Avoid exchanging of bug lists in mails as it is very hard to maitain them after a point of time.
3) INFRASTRUCTURE ASSESSMENT
a) Checkout the infrastructure.
This is very important and if the project is of significant size and duration(say around 6months), do try to visit the premises of the vendor before engaging. If a visit in person is not possible, you could ask for some video or pictures of the infrastructure. A live tour on a video call could also be a good option. Also get information about the internet bandwidth and electricity status and their respective backup arrangements.
b) Checkout for the actual location of the vendor.
If needed, you should know how convenient is it for you to travel to the vendor premises. Check out the air, road and train connectivity to the city of the vendor.
c) On-site visit
How easy or difficult is it for the vendor resources working on your project to actually come to your place and work on-site, if needed?
4) PRICING ASSESSMENT
a) Be aware of the pricing models offered by the vendor
Usually the vendors have different pricing models in their offerings. The most prevalant three models are Fixed cost, Time & Material, and Dedicated Resources. Pick the one that suits you and see if the vendor offers that.
b) Ensure integrity of billing
If you wish to go on Time & Material or a Dedicated model of pricing, how would you ensure that the actual number of hours are billed or that the dedicated resource is not being utilized elsewhere? One way is to interact with the developers on a daily basis and check the work done in the daily work logs. The other way could be to ask the developers to use tools that keep sending the screenshots of the resource's desktop on a periodic basis that you can review. However none is a fool-proof method and ultimately you have to judge by your wisdom and the output that vendor gives.
5) LEGAL ASSESSMENT
a) Is the vendor a real company?
The first and foremost thing that one should look for is the existence of the company in the government records. If you intend to outsource to India, then the following government website should serve your purpose
Under "MCA services" tab, click on "Check LLP name". enter the name of the company and search. You should get the details in the search result.
It is necessary that you deal with a real company rather than a bunch of freelancers working together. The development process is entirely different in case of a company and independent freelancers. Also the risks associated in working with independent freelancers are far more than in working with a company.
b) Deliverables and Source code ownership
The deliverables should be precisely agreed upon. Also ensure that you get the ownership of the sourcecode. Moreover, you should ensure that your intellectual property is protected with the vendor.
c) Contract Terms and Conditions
Take a look at the standard contract that the vendor uses. Among other conditions, also ensure that it is rather easy to get out of the arrangement, if required so.
6) ABOVE & BEYOND ASSESSMENT
a) Timezone difference
Does timezone difference affect you? See if and how can the vendor mitigate the isssues that arise because of timezone. It is quite probable that the timzone difference may actually be a boon to the success of the project, if handled well.
b) Flexibility of timings
It is very likely that the vendor is not in your timezone. However you want some time overlap with the people working for you which might imply that the vendor may have to make some adjustments on the working hours. Is the vendor flexible enough to handle this, even if it means a small premium on the rates?
c) How prompt is the vendor during troubleshooting
You have to live with the fact that there will be instances when things go haywire. It is important to understand how such situations are handled by the vendor. Would the top management be accesible during such instances ? Would people other that your team members jump in if required?
d) Does the vendor have a policy of replacing resources?
It may seldom happen that a resource assigned to your project does not perform as expected. How does the vendor handle this and what are the financial implications? Does the vendor ensure a quick replacement and that knowledge transfer is efficiently handled? Also ensure that you do not bear the extra cost incurred during the internal transition period?
e) Rewarding outstanding performers
Quite often it happens that some individuals in the vendor company do phenomenal work and you want to reward them directly. Does the vendor encourage this and is the reward passed on to the individual as is?
To conclude, A vendor may not conform to all the points mentioned above. However, this shall surely assist you in comparing the vendors and make the final decision. Finally, with all due diligence done, your gut feeling is what you might want to go with. If you get a comfort feeling dealing with a vendor, you may put an end to your quest.