Off-shore vs on-shore development
Some clarifying questions come to mind. Do you have the right kind of vendor and engagement model? Do you have the proper level of talent on the team that is able to collaborate with you? From the sound of your question, I would guess the answer may be no to both of these questions
However, it is also worth looking at your own organization as the possible source of your problems. Small companies need a core technical team, probably not including the CEO, who can handle the relationship with the offshore team. The best is a combination of product manager to handle the product features and a director or VP of engineering to handle the technical details.
As far as your requirements for the software go, use cases or user stories are the most important specification element. It’s not usually necessary to go into gory technical detail about what you need, but it is close to impossible for an offshore team to invent a decent user interface for you. Given an overview of the user interface and stories, or a storyboard of how it is used, most offshore teams can then implement the technical details to bring your software to life.
Even with a good specification (are they ever really “good”?) then frequent communication is still needed – daily if possible. An Agile development method with frequent iterations to make sure development stays on track is an excellent choice when possible.
Finally, occasional travel to make direct personal contact and ensure good communication is usually required. Most companies pay for travel at least quarterly, in one direction or the other, to keep things on track.
It is usually possible to fix situations like yours. However, in some cases, dropping a poor vendor and making a transition to a good one is required. Contact me directly if you have more questions and the best approach to achieving good results in your specific situation.
Advantages and Disadvantages of Outsourcing
Outsourcing brings in a lot of flexibility and financial freedom but it also has its pitfalls. Any company looking to outsource must keep in mind the pros and cons of outsourcing before deciding to take the plunge. Take a look at this list of advantages and disadvantages of outsourcing.
Advantages of Offshore Outsourcing
Disadvantages of Offshore Outsourcing
Though outsourcing has its share of advantages and disadvantages, the many benefits that outsourcing brings far outweigh its disadvantages.
Many of the pitfalls of outsourcing can be avoided by choosing the right company to work with. Before taking the decision to outsource it is important that you align the goals of your company and employee considerations with the objectives of outsourcing.
Companies do contract to hire as a benefit to both themselves, and the candidate they are hiring. Companies spend lots of resources when hiring a new employee (much as candidates spend lots of resources finding a new opportunity). In most cases, the hiring process moves fairly quickly. Companies have needs, and perspective employees want to move to a new job, or secure a job. The vetting process, while trying to be thorough, usually moves too fast for both the company and the candidate to get a true sense of what both have to offer. The company is trying to get the best candidate possible, and will present the opportunity in the best light. The candidate is trying to get the best opportunity, and present themselves in the most positive way possible. Within the interview process, it is hard for both parties to get a true sense of one another. Contract to hire gives both the company and the candidate a window, after starting the job, to get comfortable with all that each party has to offer. For the company, it is an opportunity to see the candidate in action, and understand how they work and fit in to the organization. For the candidate, it is a period that they can start the job, and make sure they are comfortable with all that the organization stands for, and is trying to accomplish.
The real benefit for each party is this: For the company, if the candidate is not the right fit, they can make that decision within the contract time frame, and move on. For the candidate, if the job isn’t what they expected or wanted, they can make that decision within the contract period, and put on their resume that it was a contract position (as opposed to trying to explain in the next interview why they left a “permanent” position in such a short time frame). It really is a benefit to both parties, as everyone is looking for the best they can get…the best candidate, and the best opportunity. The best benefit for the candidate? If they do a great job in the contract period, they have some ammunition to get a better permanent offer.
Cost Analysis-Contract VS Direct-hire
Direct hire costs (Based on a Software Engineer making $120,000/year:
Cost of contractor-to-hire (based on $120,000 a year Software Engineer with a total conversion cap of 20%):
In the example above the monthly spread between a full-time employee and contractor is $1,400.00 a month in tangible costs. A beneficial way to look at this is similar to an insurance policy. You pay a slight premium up-front, however, in the event that the contract-to-hire employee does not work out you can have a replacement resource in-seat within 48 hours. In addition, both you as a potential employer and the candidate have a chance to work together for a certain amount of time to test each other out and make sure it is a good fit for both parties. Finally, since the client is not the employer they are not responsible for any employee related costs or Human Resource responsibilities.