What are the most important factors to consider when choosing an offshore software development vendor?
And moreover, what questions do you wish you asked, but didn't, the first time you partnered with an offshore software development company?
Good Answers (7)
Wolfgang R
Dipl.Ing. (MSc), PMP, CSM; Specialized in Project and Requirements Management for the Telco Industry (OSS/BSS).
Best Answers in: Project Management (3), Product Design (2)
Besides the usual contractual stuff (how much, how long, availability of skilled(!) resources, etc.) there are three very important things I would always check first, before hiring offshore companies:
1) Check when they work. E.g. in China there is something called a golden-week. If you have set deadlines in your part of the world and require them to work it might be the case, they just won't do it. Also overtime might be a problem, weekends if required, etc.
2) Ask about fluctuation in the company, so the coming and going of people. The impact to a project can be significant, if people are likely to leave the company after the learning phase.
3) Communications and influence: What are the channels and tools you can use, what is the language you can use (i.e. does everybody understand english e.g.), is it possible to send somebody there to act as an interface who might know something about the different behaviours and cultural peculiarities.
This is something I learned from a few projects I worked on when parts were outsourced. The 3 points apply in principle to every part of the world, I would say. People work differently, people have different expectations and people interpret things differently, that is why offshore development often does not keep what it promises budgetwise. Such a project requires much more discipline from people and especially from management as an onsite one would. Planning these things in addition to "normal" things is crucial.
Tatyana K
Creative Thinker, Sales, Social Media/Networking Marketing and Business Development Executive
Best Answers in: Offshoring and Outsourcing (2), Internet Marketing (2), Web Development (2), Government Policy (1), Business Development (1)
Very good question, Luetrell!
There are standard set of questions that you see in every single RFP: like company data; references; technical skill sets, domain expertise, etc...
However, you rarely see questions that will help you greatly in managing your on-going strategic relationship with the outsourcer. Like: local account management - most of the outsourcing engagements that fail had problems only because of the lack of local account management/project management – communications! And you hardly see RFP asking about local Account Manager availability.
I am also surprised when companies during their selection process are asking for specific skill sets and domain expertise – in case of successful outsourcer who has strong customer retention [which means that most of their engagements are structured base on offshore development center model] they DO NOT have those resources available anyway – they need to go and hire them! Those companies cannot afford to have skilled programmers on a “bench” for just in case situations. So the real question should be more about their hiring capabilities and in general labor market for those specific skills sets in that specific region. And the internal availability of the required skills means only that they will be able to potentially train people when then hire them – it is unrealistic to expect that they will pull them from the existing project!
You also want to work with the partner who is committed to doing business in your country and have sustainable sales/marketing/support infrastructures - the questions that should be asked in these areas are: describe your sales organization structure, business development, support in my country. Show the growth of major new accounts/customers year after year since you started doing business in my country.
I probably can write another 10 pages on lessons learned in this area, including the notion of “near-shore” vs “off-shore” requirements that also was hyped up recently and many other areas.
Please contact me for more information if needed.
Best regards,
Tatyana
Tkanzaveli at yahoo dot com
Links:
I would echo some of the points made in previously posted answers:
1) What is the professional culture in the country you are considering? Will they always tell you they understand even when they don't?
2) What has their employee retention been in the country you are considering?
3) Will their be local project/relationship management?
4) What communications tools will you use? Email, instant messaging, telephone, video conferencing.
5) What training program will be put in place to train the employees on your product or processes? How involved will you be?
6) What type of management reports will be provided? What tools do you have set up internally to management productivity?
7) Always require weekly or monthly (whatever is appropriate) status meetings.
The only other piece of advice I have is to have the products and processes you are considering outsourcing thoroughly documented. And don't outsource bad business processes. Get them straightened out first.
Hugo C
Director at TGV - Excelencia en Soluciones Informáticas SA
Best Answers in: Computers and Software (1), Software Development (1), Using LinkedIn (1)
Although the company I work for supplies these types of services (offshore developing / outsourcing), I will try to keep my answer far away from marketing purposes.
(1) The cultural Issue: I have talked with companies in Europe who where very concern about what they called “cultural similarity”, but I prefer to name it “functional similarity”. I will try to pointed out with some example: You will surely have trouble if you are planning to develop a “credit card management system” using a factory from a country where credit cards are not used at all, or are only used by a minority which does not include IT professionals. There are a lot of vocabulary, procedures, explanations which are obvious for anyone who uses credit card daily, that will be impossible to write down on a detailed specification, surely their will be tacit (or omitted), and therefore will be the origin of misunderstanding.
(2) Calendar Issue: remember to agree working days and timetables at the beginning.
(3) Language: try to keep language differences to a minimum, meaning that you should communicate using a language that is native at least to one of the parties (your company or your suppliers). There are plenty of examples of companies from Europe (for example purposes I will mention Spain) that tried to work with non-Spanish, and non-English native speaking companies, and therefore they both used English as an international language. Although the project leaders from both sides spoke fluid English, the continuous series of little misunderstandings at programming level (reading and writing specifications), produced a lot of deviations, delays, and rework.
(4) Presence: when we provide an offshore service, we recommend that part of our team (a couple of analysts) must travel to our client location and work from there during the project. These actions allows us to avoid misunderstandings, agree and detect any differences and minimize the impact of the 3 previous issues I have pointed out. I know that this will be somehow controversial but non of the modern communication procedures (e-mail, phone, videoconference, instant messaging) can totally replace the richness of a personal face to face talk.
(5) Management & reporting: the procedures, tools and periodicity of the status meeting and reports must be agreed from the very beginning.
Thomas D
Vice President and Enterprise CIO at Blue Cross of Northeastern Pa
Best Answers in: Wireless (2)
Luetrell,
Having gone through this exercise before, let me go at this from a hindsight point of view:
1) Do they provide a client manager that can translate and coordinate the offshore team with the client.
2) What security mechanisms are employed at the offshore facility and how is this managed.
3) Are there ways to lock certain key individuals into the project so that you don't have a rotating door of consultants.
4) What are the hidden costs required by the vendor beyond hourly rate comparisons (telecom costs, etc...)
5) It is also very important to understand the coordination and handoff of development work across the various timezones.
Hope that helps
Tom
Andrew M
Senior Software Developer currently working in C# and C++ developing software for mobile devices.
Sorry to give you yet another answer but...
* You should also visit the company. Two companies could look the same but one has a proper IT infrastructure a good office environment and happy staff but the other has no heating, grim-faced developers and have to leave the office at 6 in the evening to allow the rooms to be used for English lessons. This was what I found when comparing two outsourcing companies.
* What is their domain experience? If you want specialist software you ideally want a supplier with experience. You don't want to be explaining the difference between two fonts for a graphical package if you can help it.
* How available are they via the communication mediums? They may all have phones but they might hardly ever work.
* Again, all the good things about training, education levels, hourly rates etc.
* How visible is the status of the project. We had a representative that said that the project had been going for 4 weeks but when I spoke with the developer’s no-one had started.
* Can you build quality metrics into the deal? Software can be delivered to time but be awful or make it impossible to maintain going forwards, thus costing you more money. Technologies like .Net have a host of tools to ensure test coverage (NCover), coding best practices (FXCop) etc.
* How well do you get on with the people who you will be dealing with on a daily basis? Working together and trusting each other is the key to success.
* How quickly can they expand the size of the team if required (and expand it with quality people who will make a difference).
* Can you set up a test project between 2 or more companies to see who you work best with and who delivers the closest to what you wanted?
Hope this helps.
Allan T
innovation architect, globalization guide, entrepreneur
Best Answers in: Computers and Software (2), Compensation and Benefits (1), Offshoring and Outsourcing (1), Viral Marketing (1), Public Relations (1), Starting Up (1), Blogging (1), Web Development (1), Wireless (1), Using LinkedIn (1)
The first questions you should ask are of yourself/your team.
- How clear/mature/well documented are our requirements? How likely are they to change?
- How much time and effort are we willing to spend managing the relationship with the outsourcer?
- Are we experienced in managing outsourced development? Across the street? Across the ocean?
- How much domain knowledge is required to develop our products for our market? Is it niche (like yacht racing) or more widely known (like commercial banking)?
Once you've answered those questions, you'll be in better shape to answer questions about which geography you're ready to deal with, what characteristics your outsourcer should have, and how you should structure a contract.
The question that I've seen come back and bite sourcing customers is whether the size of the project is truly a good fit for the outsourcer. I find most customers either want to work with "the best" or "the cheapest". But when projects are too small, "the best" companies can't give them time, resources, and management attention because they have bigger fish to fry. And good-but-cheap companies will often overcommit on upscale work that they are not staffed or ready for capability-wise. In either case, the outsourcer sales rep will not bring this up in the sales or contracting process, so its up to you to assess !
More Answers (5)
Joy M
building your business system so you can build your business
Best Answers in: Using LinkedIn (6), Staffing and Recruiting (2), Public Relations (2), Manufacturing (2), Professional Networking (2), Job Search (1), Mentoring (1), Occupational Training (1), Foreign Investment (1), Personnel Policies (1), Events Marketing (1), Business Development (1), Search Marketing (1), Writing and Editing (1), Corporate Governance (1), Planning (1), Philanthropy (1), Supply Chain Management (1), Branding (1), Market Research and Definition (1), Engineering (1), Interface Design (1), Career Management (1), Ethics (1), Small Business (1), Databases (1)
Can you really afford to lose the local talent you currently have and their familiarity with your business when corporations are crying over their inability to find talent?
What are the hidden costs brought on by distance, cultural differences, language differences, and the cost of doing business in another country?
What legal protection do you have?
Siddhartha T
Head of Marketing & Inside Sales
Best Answers in: Staffing and Recruiting (1), Organizational Development (1), Enterprise Software (1)
Dear lauetrell,
Visit the URL below to get 10 Point checklist for Outsourcing success.. If you have any doubts or need any assistance in your outsourcing initiative, we can definitely help you with no obligation consultancy
Regards
Sidd
Links:
Dear Luetrell,
I would suggest you have a look at this link which will give you a very good idea of important factors. "Ten Points to Ponder Before You Outsource
By Adam Stone"
Cheers,
Vipul
Links:
I would suggest to look at service provider transparency. Transparency in a sense that it is easy enough to learn what is going on in your software project. Reporting and KPI should be common practice for the service provider. There are tools for that and your best service provider should be aware of those
Mark
Gustav Uffe N
Quality Engineer at CLAAS Agrosystems
Best Answers in: Manufacturing (4), Offshoring and Outsourcing (2), Quality Management and Standards (2), Biotech (2), Using LinkedIn (2), Regulation and Compliance (1), Job Search (1), International Law (1), Internationalization and Localization (1), Treaties, Agreements and Organizations (1), Criminal Law (1), Contracts (1), Business Analytics (1), Equity Markets (1), Enterprise Software (1), Wireless (1)
Well, there are many potential problems. Here is a few of those I have experienced
1) I once worked for a danish company there were constructing a factory and had ordered certain goods from the french department of a US company. A lot of documentation work had been outsourced to this french department. It turned out to be a huge problem as we were getting neared to the deadline. We were being pressed by management to work something like 60 hours each week in order to reach the deadlines, but we were also dependent upon documentation from the french engineers and they were not allowed to work more than 35 hours each week due to a french law. The french engineers were quite helpful, but they faced a number of problems if they worked more than 35 hours each week. They would for instance loose their insurance benefits if they had a work accident and had worked more than 35 hours a week. Point of lesson: never outsource work to a country there has a low max limit on working hours
2) I once experienced during factory construction in Denmark that one of the system designers moved to USA. That complicated the work flow due to the time difference and it made it necessary to scan lots of papers with hand written notes in order to allow him to work on them while we were sleeping in Denmark and we could then receive the newest version in the morning. Point of lesson: Make sure there is a good electronic document system and that it is actually used.