This article is written by A B Maynard and was originally published in the September 2005 issue of the Software Developer's Journal. You can find more articles at the SDJ website.
As companies look to rein in IT costs, many are turning to outsourcing. Traditional thinking would suggest that a company would decide to outsource some portion of its software development and support, select an outsourcing provider and then transition the work to that provider. However, an important step needs to be considered before selecting a provider. Companies must decide which outsourcing model they wish to engage. There are several ways that a company can utilise an outsourcing provider to supplement or support their application software. Among them are the following alternatives:
- Specific Project Model
- Supplemental or Persistent Capacity models
There are pros and cons to each of these alternatives. What is best for one organisation may not be best for another one. It is important for a company to understand the different approaches before it begins looking for an outsourcing provider.
Specific Project Model
One option is to outsource one or more specific development projects. Companies can outsource entirely new applications, add new modules to existing applications, migrate an application to a new platform or conduct many other application-related tasks. One of the key benefits to this approach is that there can be a very clear expectation of scope, time and cost. One of the challenges in obtaining clear expectations is that the buyer has to provide a complete set of requirements, specifications or both. If the buyer only provides requirements without design specifications, then by default, the buyer is allowing the outsourcer much more freedom in the design and therefore the coding of the solution. If the buyer provides requirements and design specifications, then the outsourcer has much less leeway in completing the task and must write code that matches the specifications. In general, the advantage to the specific project method is that buyers know exactly how much will be spent for the project and when it will be completed and this arrangement is ideal for a fixed-fee bid. Estimating risk is transferred to the outsourcer, meaning that the outsourcer may have to absorb the cost of project overruns (or receive the benefit of coming in under budget). However, solution risk is higher for the buyer, meaning that the buyer may not get exactly what was desired or envisioned, even though the system exactly matches the requirements or specifications.
Supplemental or Persistent Capacity Models
Another outsourcing model is to supplement the capacity or capability of the existing IT department. There are several variations to this approach. These approaches vary based on the focus of the arrangement, whether it is on an ad-hoc basis or focused on a specific subset of IT work, such as new development or maintenance of older applications.
Specific application: The buyer can elect to have the outsourcer maintain or continue to develop an existing application (or both), while the buyer continues to maintain or develop other existing applications. For example, some companies may outsource the customisation and support of their ERP solution to either their ERP provider or to a third-party outsourcer, while continuing to maintain all of their other applications. The main advantage is that the buyer can focus on applications built in one technology or domain, while the outsourcer focuses on a different technology and domain.
New development only: The buyer outsources all future new developments and uses the in-house resources to maintain all legacy applications. This option is the least risky from a skill and knowledge transfer perspective. The outsourcer provides skills in the new technologies and the buyer does not have to retrain existing employees in those new technologies. The buyer’s very skilled and experienced resources, who originally developed the legacy application, are typically the best resources to continue to support that application. This option is best for companies that are still running many applications that are fifteen years old or more.
Maintenance only: Buyers outsource the support for most or all of their legacy applications and perform all new development internally. The advantage is that many developers want to move forward to new technologies and this approach satisfies their desire to remain “current” and to work on “new stuff” rather than maintaining old code.
The disadvantage is the cost and time involved with knowledge transfer. Buyers have to train the outsourcer in the functionality of the legacy application and maybe even train them in the technology, in addition to training their own staff on new technologies.
The specific project model and the supplemental model can both be setup as on-site or off-site models. In the off-site model, the buyer engages with an outsourcer who has a development centre in India, China, Poland or some other low cost location. Much, or all of the programming, testing, quality assurance, documentation and other tasks are performed in the off-site location. There are several advantages to the off-site model. First and foremost is cost. Typical companies can expect to reduce their development costs by 30 to 40 percent by taking their development offshore. Also, many of the offshore outsourcers have developed very robust and repeatable processes. The disadvantages have to do with language and communication, time zone differential and physical distance, etc. These disadvantages can lead to unmet expectations, inadequate solutions and extra stress for the managers, who have to work directly with the offshore organisation on a daily basis.
Once a company has decided to outsource some or all of its IT spending, it must also select the most appropriate outsourcing model for its business. Different outsourcing models should be evaluated and compared, based on their ability to meet the strategic needs of the business today and into the future. Each model has advantages and disadvantages and should be weighed carefully against the other alternatives. This will help determine which model to implement, as well as determining which kind of provider to select. The advantages of outsourcing are attainable, but proper planning and strategy are critical to attaining this value.