Subscribe by Email

Friday, October 7, 2011

The Make/Buy Decision - Decision Trees and Outsourcing

Software engineering managers face the make or buy decision. The make/buy decision is based on following conditions during the final analysis. These conditions include:
- Whether the software product is available sooner than the internally developed software?
- Whether cost acquisition + customization < cost of software development internally?
- Whether outside support cost < internal support cost?

Decision Tree
Suppose X is the decision tree of a software based system. Three cases derive:
- building X from scratch.
- reusing the existing components to construct X.
- buy software from market and make the necessary changes.
- get a vendor and and hand him the software development.

If X is built from scratch, chances are 70% that job is difficult. In a decision tree, different paths are taken and the projected costs for reuse, buy and contract are evaluated. Based on the output, the probability and projected cost is the lowest when we buy the software from the market.

during the decision making process, there are many criteria to be considered and not just the cost. Factors like availability, experience of developer/vendor/contractor, local politics, conformance to requirements and likelihood of change can affect the final decision to build, buy or contract.

Outsourcing decision is basically a financial one. The way in which the software and systems that we need at lower price is outsourcing. It is a simple concept. All the engineering activities are handed over to the third party who is responsible to complete the work at low cost and most probably good quality.

At strategic level, decision of outsourcing is based on the fact whether a significant portion of all software work can be contracted to others. At tactical level, decision of outsourcing is based on the fact whether a part or all of a project can be accomplished by sub-contracting the software work.

Advantage of outsourcing:
Cost savings are achieved by reducing number of people and facilities that support them.

Disadvantage of outsourcing:
The company loses some control over the software that it needs.

1 comment:

mithun said...
This comment has been removed by a blog administrator.

Facebook activity