Software outsourcing strategy – Decision Making. Introduction.
Here is the initial article from the planned set of articles aimed to help with your first steps of software development outsourcing.
The article has aim to help IT projects sponsors and managers in making the decision about software outsourcing strategy of the company by answering the following questions:
- Correct estimation of expenses and comparison with domestic bespoke software development;
- Estimation of risks and their influence on final price;
- Selection of the software provider;
- Reorganization of the domestic work.
Before proceeding with any outsourcing activity it would be good to prepare own implementation plan. That is please forget anything about external bright outsourcing propositions from companies that will during 1 month and cost of 499 dollars will deliver “Google killer” search engine. So even the most crucial idea is not enough: do all possible actions like brainstorming, works planning and efforts estimation with your trusted partners. Prepare all planning based on available or virtual resources. Make sure that this should not be very precise final implementation plan, consider it as start approximation that will be used to compare and evaluate external propositions.
Now you have not only the bright idea of a new mega project but also the initial estimation of planned steps, resources and efforts.
The main idea behind outsourcing is optimization of software development costs, so to find idea about the real expenses one should consider some alternatives and do own calculation for various development processes. At first stage it’s proposed to use planned man-hours for estimation of expenses rather than money. One should not be confused with fact that planned man-hours for outsourcing always higher that for the domestic development (with equal resources qualification), that is due to the extra communication, controlling and coordination efforts.
So one could take any own project and try fill in figures for domestic development, each effort estimation should be accompanied by role (who performs specified task).
The proposed roles are:
- Project sponsor, [PS]
- Project manager (domestic), [PMd]
- System architect (domestic), [SAd]
- Developer (domestic), [Dd]
- Tester (domestic), [Td]
- Project manager (remote), [PMr]
- System architect (remote), [SAr]
- Developer (remote), [Dr]
- Tester (remote), [Tr]
In most cases the listed above is enough for the first estimation.