Distributed development of software
outsourcing services
Reasons for:
- The most successful companies are the one, that are concentrating on close activity area, which they manage excellent and other activities are provided external.
- If development of your products is not continual, it is not effective to employ own programmers. According to very fast software technology development, providing necessary development software, with which your programmers need work, is money wise challenging.
- According to higher demand on global software labour programmer market, it is difficult to keep the best programmer which would not be by you always fully used
Reasons against:
- Distributed development usually means higher requirements on communications – this disadvantage right now strongly effects use of Internet. This disadvantage could be changed into advantage – need to form the written requirements leads to better thinking and also to document the whole development process.
- Outsourcing development of product mostly in software could be unacceptable from point of protection of company intellectual property. Final software product usually contains a lot of helping functions which enlarged its functionality. This can be for example different filters for export and import from/in applications, connection on Internet, communication with products form other supplier of monitoring and managing systems. These functions usually increase the attractivity of product and enlarge the possibilities of their putting. According to standardization in information systems is in many cases the need of protection of intellectual property suppress into background. More often companies that are competitive cooperate on their products. Problem of protection of intellectual property does not solve the use of own programmers, because problems with leaving the company is not smaller than by external development software.
Clear reasons against outsourcing in development software do not exist. Many negative experiences with distributed development are from expecting that the distributed development will pass the same way as development with own capacities. Projects Open Source Software as OS Linux and Apache web server can effectively compete with centralised software development. Software technology as DCOM a XML tend to digital module development with relatively small dependence among individual components, what also support the idea of distributed development.