Monday, November 18, 2019

Outsourcing and Risks.Outsourced Software Products Essay

Outsourcing and Risks.Outsourced Software Products - Essay Example Companies generally opt for outsourcing to reduce production costs (i.e. outsource to a company that would develop the software in less cost), to access skilled labor force and knowledge expertise (i.e. when the in house employees do not have the essential domain knowledge and skills required for development and teaching costs would be too high and time consuming), to achieve on-time marketing (i.e. when the company cannot meet a deadline within the available time and resources) or to level workload (i.e. when the company cannot complete all tasks as per schedule). Although the service providing organizations offer outsourcing companies with opportunities towards stability, there are some basic challenges and risk involved in the various kinds of outsourcing means. When any of these services are taken from a company within the same geographical region, it refers to as domestic or onboard outsourcing; when acquired from neighbouring countries that are aware of the cultural status of o utsourcing company, it is called near-shore outsourcing and when the services are acquired from beyond national boundaries, it attributes to global or off-shore outsourcing. This document discusses a major common issue associated with these outsourcing means i.e. the maintenance of outsourced software. 2. Issues in Software Maintenance Software maintenance is usually the longest and most demanding phase in the software lifecycle model. New releases and upgrades make software outdated in no time. Therefore, software companies invest considerable resources in keeping the software in line with customers’ requirements even after the software is launched (Ahmed, 2006). For software maintenance, a company has two options; either to maintain it in-house which could induce a technical overhead or outsource the maintenance which imposes managerial overhead. Whether in-house or outsourced, when the various components of software are outsourced for development, the maintenance activitie s such as bug fixing, code maintenance, upgrades, hardware/software compatibility, testing, etc. becomes challenging. This is because the outsourced software could either be of fundamentally low quality or the associated documentation could be incomplete or poor. As a result of this, the contractor may have to invest extra budget in in-house maintenance of the developed product. For instance, a team would have to be arranged to reverse engineer the finished product and extract the missing details in the documentation or attain its better comprehension. In case of upgrades, its effects in the working of various components would have to be retested. Or the contractor could avoid the hassle and outsource the maintenance task by paying some extra. Both ways the objective of outsourcing which is to save cost is somewhat compromised in the maintenance (Earl, 1996). Secondly, if various components of the software are outsourced to different parties then in case any problem is found in the software product, none of the parties would take complete responsibility of the association of the problem to their developed component. And therefore, troubleshooting problems would get further complicated (Ahmed, 2006). Even besides testing, verifying and validating the software on test data, it could happen that the software shows different results when installed in the actual environment. In that case, the software maintenance crew (in-house or outsourced) would have to take over as the purchase would already have been made from the vendor. In case of poor documentation and low quality code, the maintenance team would be placed in a critical situation as the

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.