Written by: Armando Viteri
This article contains a great magnitude of information on outsourcing the design and development of software. Because we have so many important details to cover, this will be the first of a two part series. The first part covers why a company should outsource this type of work and what the options for success look like. The second part will cover what to look for in an outsourced relationship, what established companies should outsource and what pitfalls to avoid.
Many companies have traditionally outsourced software development (with mixed results) largely because of the financial benefits that are available through the use of off-shore labor. Armando Viteri of Neubloc speaks from an experts point of view on outsourced software development. More and more, it makes sense to consider outsourcing for additional reasons, including:
- The need to tap into the increasingly global talent pool
- The difficulty associated with building a full team and the associated infrastructure
- The need to access high-level talent such as design for usability experts, architects, and program managers
In this article, Neubloc will cover when (and when not) to consider outsourcing software design and development. We will look at common pitfalls of outsourcing as well as covering best practices. While the emphasis will be on software development, the discussion should be useful with respect to outsourcing in other areas, including hardware development and business practice outsourcing.
Why Outsource Software Product Design?
In its 2010 Global CIO Survey, the UK-based IT staffing and managed services firm Harvey Nash Nash surveyed 2,855 IT executives from around the world and found 62 percent outsource software-application development. There are many reasons why this has become so overwhelmingly the preferred method to create software applications.
Many companies require access to specialized skills which are difficult to maintain as full time in-house staff. This is especially true of such high skill specialties such as usability experts and systems architects but it is also true of more junior positions such as graphic and creative designers. Many of these companies maintain third party engagements that may last from weeks to months based on their requirements. However there are more far reaching reasons why many firms look to third parties to provide their product development. For many it is important to have third party validation of scope and cost. Many outsource firms maintain a high volume of products being developed in parallel. As a result they often are more efficient simply through infrastructure and experience. Where one company may only have one product line, an outsource firms may be developing many product lines in parallel thus leading to efficient engineering and development process as well as strong collective experience on how to avoid technical pitfalls. As a result these firms will often have a fresh perspective based on breadth of technical experience versus simply the in-houses immediate experience.
Another important reason is that a third party allows companies to focus on their core business including identifying key requirements and investing in market development. It is difficult to hire core engineering management expertise and then also allow for the time it takes to install proper engineering process. The result is often delayed or poorly implemented in house projects. For many startups this delay can be fatal as they run out of their initial seed capital without a product to take to market.
In general third parties are capable of achieving a much faster time-to-market for product development given the rapidity in which an established outsource application supplier can:
- Recruit (they typically already have staff recruiters in house ready to go)
- Deploy development infrastructure (since they are simply adding a project to an existing process):
- –>Project Management
- –>Build System
- –>Test System
- –>Bug Tracking
- Deploy engineering management (since both personnel management and senior technology personnel are already in place)
In addition outsource development houses can tap a much broader talent pool (especially if they have resources spread geographically). Although Thomas Friedman expounds in his book “The World is Flat” that skills are available globally, the reality is that there is geographic specialization in technical skills including and in particular with regard to software development skills. There are countries where embedded firmware developers are plentiful but yet those countries may well have a distinctive shortage of PHP skills. Accessing an outsource firm that has diversified global reach means that they are able to source a technically specific and skilled workforce appropriate to the development project at hand.
Of course there is the opportunity to take advantage of labor arbitrage – labor simply does cost less in certain geographies with no impact in technical skill. While this is an important economic consideration no less important is companies’ ability to flexibly expand or contract their development bandwidth especially when their own internal teams are “maxed out.”
But offshore projects do go fatally wrong
All of these advantages sound good but yet there are cases where offshore or third party projects can go fatally wrong. The most obvious case is where the third party goes through a company failure. Here it is important that there are preventive measures in place to, for example, have access to both the developed product and personnel in the event that the company no longer exists.
More common, insidious and much harder to detect are issues such as “double dipping” where third parties assign “full time” resources to multiple customers. In addition there is the risk of intellectual property theft given the very direct access to product source code that the third party vendors have. When such unfortunate events occur it is difficult for an American product company to pursue an off-shore based third party developer. It is very expensive with a limited likelihood of positive outcome to pursue such cases through another country’s court system. There are some important prescriptive measures that can be taken on the part of the American product company which are described in the next section.
Most of the time however the problems with outsourcing (and in particular offshore outsourcing) are far less obvious. When engaging an off-shore based third party developer their resources are often time located in their home office – potentially very far geographically and culturally from the American product company. In particular, off-shore based project management often leads to poor implementation and long, costly delays – partly due to the reliance on in house product marketing or engineering staff to manage these project managers but often also as a result of the communication gap that arises through cultural inconsistencies. Note that the cost advantages on not having an American based project manager erodes as well as improved project communication necessitates regular international travel – and this does not account for the potential delays and problems associated with getting US business visas for foreign nationals.
Finally it is very much Neubloc’s experience that the most successful projects have the off-shore personnel integrated as part of the American product company’s team. The outsourced team should feel as though they are integrated into the company where their successes and failures are tied to the overall team’s efforts.
Check back for Part 2: The Do’s and Dont’s of Outsourcing the Design & Development of Software Products soon!
Neubloc is a US based, outsource software design and development firm that employs a unique Rightsource model, coupling the best of Nearshore design and project management with highly educated, experienced, and proven engineering resources Nearshore and Offshore. Neubloc resources can be found in our offices throughout North America, nearshore operations with our Argentinean and Ecuadorian locations, and offshore in multiple cities in Central and Eastern Europe. We transcend the failed offshore models of the past and the broken promises of cost and time savings never achieved. We understand that work shipped offshore will fail without defined processes, clear communications, and the right balance of onshore, nearshore and offshore resources that can work in concert to deliver 24/7 productivity. Only when this equilibrium has been found can productivity and savings be delivered.