What could be the best practices for outsourcing ?
I've been trying to find many offshore companies or freelance developers and I experienced a few disapointements:
* as people never answer
* or people lie about themselves, pretending to be a company with many developers and in fact they were 2.
* or people had not the required skills
* or they gave up the project before the end consequently wasting my time and my money
Besides, it was not obvious to get contacts
May I know if you have any experience in this domain ?
What could be the best practices ? a kind of HOW TO ;o)
I would appreciate your help.
Cheers
Emmanuel
Invite me: http://tinyurl.com/yvhwrs
Good Answers (5)
Based on my experience with offshore companies especially in India, but also other countries I can advise this:
Be prepared to invest a significant amount of time (and possibly money) in an initial research. As with any project - the more quality time you invest, and the more attention you pay to planning in the beginning, the bigger the probability of success. You can use e.g. RFI, RFP approach (request for information/proposal).
1. Invest some quality time in research first.
2. Pick established companies (does not necessarily mean large and well-known). Do not pick the cheapest, but the best offer.
3. Ask them for reference projects and do check them. Speak to their clients (if possible meet them personally). Check for quality, adherence to the budget, and time plans. Prefer companies who have long-term partnership with such company.
4. After initial research, take the time and meet them personally - in the company (if possible). Take an experienced technical person with you. Check how they work, how they check quality, how they plan, budget, the processes they actually use (I do not mean paper documentation, but the way they really work) etc.
5. Start with smaller projects. Build trust gradually. Try to establish a long-term cooperation, if you're satisfied with the results.
6. Be more strict and demanding in the beginning, pay attention to important details.
7. The bigger the project, the more important a personal presence of both sides is at the beginning of the project.
8. The bigger the project, the more attention needs to be spent on contract and legal backing.
9. According to the nature of the project, make sure you can consult the most important aspects of each offer/bid with real experts in that area (e.g. hosting, software development, operations, web technologies, hardware, networks).
10. Make sure both sides have the time and equipment to communicate regularly (in person, over phone, via internet).
Michael O
LION, michael.withpassion@gmail.com - Content Manager at HotelClub (by Orbitz Worldwide)
Best Answers in: Using LinkedIn (2), Travel Tools (1), Staffing and Recruiting (1), Business Analytics (1), Organizational Development (1), Quality Management and Standards (1), Career Management (1), Small Business (1)
I agree with Ravi's approach:
"... make an announcement in the local news paper [or check on websites], visit the place, meet with the prospective business partner, visit their location, discuss, decide and enter into business partnership." This was how our outsourced operation started. We had our Operations Director visit the outsource providers' locations and tour facilities and enter into a dialogue. Then decide who would suit best. Our outsourced arrangement has been in operation for over 2 years with success. It is recommended that you do research and set up appointments/contacts prior to your visits. I would also go so far as to say, ask if any LinkedIn people are willing to recommend any companies they know. Make sure you have a defined business plan/problem/definition to outsource and always setup a Service Level Agreement to ensure you will be getting your money's worth.
Clarification added March 1, 2007:
Chunhe is very accurate in saying that you must have specific tasks with specific instructions in order to make the offshore relationship work. The outsourced operations will require continually monitoring to ensure they are on task. This may end up with you supporting them with answers instead of them thinking creatively to solve problems.
Eric M
Embedded Software Manager, LION
Best Answers in: Using LinkedIn (8), Offshoring and Outsourcing (2), Web Development (2), Project Management (1)
My advices are:
*1* work with big established companies (more than 1000 of developers)
*2* do not be abused by their CMMI level 5 claims
*3* outsource only projects that require minimal interfaces
*4* have face to face meetings regularly
*5* offshore people should be able to travel to Europe or USA
*6* read a lot of white papers on the subject
*7* do Time & materials rather than fixed bids
*8* do not overemphasize on process
*9* beware of project performance metrics masking problems
*10* beware of cross cultural issues
an example of a project that require minimal interfaces is "port that protocol on this chip"
an example of a project that require a lot of interactions is "do me tool that does this, that and in addition, plus you have this constraint, and so on"
an offshored project will cost you 4 times less but will take twice the time to complete.
Hi Emmanuel,
You can check out the below links. I am sure it will interest you. If so, feel free to get in touch with me and I will help you to get a lead with the right person to contact and we can move forward.
Each of this are specialized in a different domains. Development, High End Technical Support, Testing etc…
http://www.cybernetsoft.com/
http://www.slashsupport.com/
http://www.readytestgo.com/
http://www.synaptris.com/
http://www.manageinfra.com/
You can reach me at sachin_s_mehta@hotmail.com
Have a great day!
Cheers Sachin.
Clarification added March 1, 2007:
Very improtant :-) We are in the same network. You can directly reach me to take it forward.
NASSCOM (National Association of Software and Service Companies) is the chamber of commerce of the India’s IT industry. They can assist in your quest for competent service providers.
Having worked on both sides of the fence within large scale projects, I can vouch for Houska’s approach. Be diligent when evaluating suppliers, and expect them to deliver exactly what you ask for - nothing more and nothing less.
India has the highest number of CMM level 5 organizations, however the outcome will only be as good as the requirements given. Ideally a supplier should provide guidance on eliciting functional and non-functional requirements, but often there is no commercial incentive to do so. This is especially the case when remuneration is based on time and materials only.
Therefore the maturity and capability of the acquirer is just as important on the acquisition side, as it is on the supplier side. As a supplement to the traditional supplier CMMs, Carnegie Mellon University has also developed a SA-CMM (Software Acquisition Capability Maturity Model). It may be worth taking a good look at its key process areas.
Links:
More Answers (8)
Ravi R
Sr Technology Recruiting Manager at TechnoDyne, LLC
Best Answers in: Job Search (1), Staffing and Recruiting (1)
I do not have much experience in this field either. But I have good interaction with the offshore companies. When you want to offshore your business I suggest make an announcement in the local news paper, visit the place, meet with the prospective business partner, visit their location, discuss, decide and enter into business partnership.
Ravi
Our company has an offshore team in India. The common agreement among people here is that, you basically can not get too much done with offshore team unless you have a very specific task with specific instructions to them on how to get it done. Otherwise, you get nothing.
My personal suggestion is that, if you really want to offshore, instead of offshoring to another country, try to offshore to some smaller town 2-3 hours from you. It won't be as cheap as offshoring to another country on paper. But you will get more work done, you will get charge less hours and you will need fewer people to get the job done correctly.
Harinder S
Founder at Funkeet.com
Best Answers in: Offshoring and Outsourcing (1), Direct Marketing (1), Lead Generation (1)
I guess the best way to find an offshore company is to study the financials of the outfit. See their track record for the past 3 years (or at least 2 years). Find out what all clients they are servicing. Take referrals from them and talk with those referrals. Cross verify these with direct calls to the client (preferably the board numbers).
Warm Regards
Harinder
I'd say combination of harvinder's and Erics answers should do...nothing much to add to it
Fred C
Global architecture
Best Answers in: Organizational Development (1), Planning (1), Computers and Software (1), Databases (1)
I have two observations.
Firstly, I have a friend who developed a fantastic Content Management application using a software house in India. His work methods reminded me of my time as a Software Quality Assurance Manager on an air traffic control project. You need to check and test every detail. You need lots of daily communications. What the buyer considers 'complete' is rarely the same as what the seller considers 'complete' unless it has been clearly agreed upfront. It does not matter whether the software house is in the next town or in India - YOU need to be committed to success. It also helps if you see them face-to-face in India.
Second, for experience in working with freelance developers, you can learn a lot by buying their services over the internet. Have a look at Rentacoder.com. It has a self-regulating way of working that helps you overcome some of the problems you mentioned above - you get to know people by their track record.
Links:
I suggest Covansys. I have worked with them. We had a pretty rough business goal in mind. They even helped with developing specifications. Then they used their outsourcing paths and delivered the agreed upon product in a very short time, with full documentation. Very good company.
So if you are looking for a middle man that has lots of experience at all phases of development lifecycles, give them a call and see if they work out for you.
http://www.covansys.com/welcome.htm
Links:
Iwein F
Code Smith
Best Answers in: Staffing and Recruiting (1), Software Development (1), Using LinkedIn (1)
Use test driven development, keep part of the team near the business, don't be afraid of some traveling. You shouldn't expect your off-shore team to understand the domain.
Communication is the key (as with all software projects). It is never a good idea to ship off some requirements and expect to have working software ready for production in a few months.
Offshore outsourcing can be a blessing or a curse. My first experience working with offshore companies was through our clients using companies in India and other countries. Later, not being fully satisfied with available options and being familiar with Russian market, we have opened our own offshore office in St. Petersburg to assist in development of our own software product. Today we continue to use our offshore office in Russia to develop our own software and now provide offshore services to clients.
I can tell you tell that much of the problems experienced by North American companies with offshore development today are related to unrealistic expectations. Not everything can be outsourced offshore with the same success. Some things are better outsourced to local service providers, others are best done in-house.
I would also recommend doing business with a company that has a local or at least North American presence. Most of our offshore customers do not deal with offshore directly, instead they have a local technical contact, usually a project manager, who is able to visit customer’s office, participate in meetings, set goals and expectations. Then together with the customer we determine what will be best done offshore and what we can do best with our local resources. This way there are no issues with time difference, communications or accountability.