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
- Core activities of the business take center stage. Outsourcing non-core activities such as administration and back-office operations helps to put the focus back on the core functions of the business, such as sales and marketing.
- One of the biggest advantages of outsourcing to India (or any other location) is cost savings. The lower cost of operation and labor makes it attractive to outsource.
- Outsourcing reduces overhead costs that usually come with running back-end operations.
- When certain functions of an organization become operationally uncontrollable, outsourcing helps to overcome such difficulties.
- A company’s cash-flow can be streamlined.
- By increasing productivity and efficiency, a business can be more successful and better-prepared for market challenges.
- Outsourcing frees an organization from investments in technology, infrastructure and people that make up the bulk of a back-end process’ capital expenditure.
- Outsourcing gives businesses flexibility in staffing and manpower management. Since the service provider is responsible for managing the workforce, you save costs and can also pick the best people to run your core functions.
- Offshore outsourcing gives businesses the ability to develop new competencies and skill-sets that can be used as a competitive advantage.
Disadvantages of Offshore Outsourcing
- One of the biggest disadvantages of outsourcing is the risk of losing sensitive data and the loss of confidentiality. It is important, therefore, to have checks in place to avoid data loss.
- Losing management control of business functions mean that you may no longer be able to control operations and deliverables of activities that you outsource.
- Problems with quality can arise if the outsourcing provider doesn’t have proper processes and/ or is inexperienced in working in an outsourcing relationship.
- Since the outsourcing provider may work with other customers, they might not give 100% time and attention to a single company. This may result in delays and inaccuracies in the work output.
- Hidden costs and legal problems may arise if the outsourcing terms and conditions are not clearly defined.
- If important functions are being outsourced, an organization is mightily dependent on the outsourcing provider. Risks such as bankruptcy and financial loss cannot be controlled.
- Not understanding the culture of the outsourcing provider and the location where you outsource to may lead to poor communication and lower productivity.
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.