Introduction
Technological advancement has increased the usage of computer applications. Computers are increasingly being used to perform various tasks. The increase in usage of computers, as a consequence, has increased the demand for software development. Many software development companies and individuals have come up. Unlike in the past where software development was a reserve of a few, today there are many software developers all over the world. The availability of many software developers has consequently changed the way computer applications are developed. Many software development companies are increasingly using offshore software development. Software development outsourcing is on the increase with many small-scale software development companies coming up in such countries as India. Although viewed as a means of cutting the cost of software development, offshore outsourcing of IT projects can raise various ethical issues. The paper reviews ethical issues in international software development and tries to propose possible solutions.
Growth in outsourcing Practice
Outsourcing has been on the increase in the recent past. Technological advancement especially in information technology has contributed to the increase. Many industries such as accounting, legal, writing, and software development have benefitted from outsourcing. Through outsourcing, organizations can access various services without having to employ permanent individuals to offer the services (Gold, 2004, p. 17). The major motivation for outsourcing has been cutting costs. Many organizations have been motivated by the amount of money they can save to outsource some services. Apart from cost-cutting, organizations are motivated to engage in outsourcing by the ability to access various services that they require.
Outsourcing in Software development
There has been an increase in offshore software development in the recent past. An increase in software development outsourcing is evidenced by the increase in IT Business Process Outsourcing companies. IT BPOs companies have been on the increase in almost all parts of the world. IT services outsourcing is an important economic activity in such countries as India. Offshore software development has been motivated by various benefits. The major motivation for software development outsourcing has been the ability to reduce the cost of IT projects. Apart from cost, the scarcity of professionals has been motivating organizations to opt for outsourcing software development. IT projects are usually involved and require a long duration of time to complete. Organizations have been using software development outsourcing companies to reduce the duration of time required for software development. Despite the various benefits of software development, there are various ethical issues that are involved. Some ethical issues constitute ethical issues affecting the outsourcing industry in general. Other ethical issues evolve from the process of software development; ability to meet software objectives, compromise on quality, use of illegal software, data privacy, and intellectual property rights.
Ethical Issues in Offshore Software development
Software development has emerged to be an important activity in modern times. Computer applications are being used in the provision of many services and the performance of very important tasks. Computer applications are used in organizations to manage the operation, manage data, and other tasks. Computer systems are also used in managing sensitive data or running sensitive operations such as financial, security, and health system (Sahay, Nicholson & Krissna, 2003, p. 79). Because of the importance of computer systems, care is required in developing IT Projects. Some IT projects however fail. The main reasons for failure include the inability to meet project objectives, bad planning, technological challenge, poor project management, and incompetence of developers (Nindel-Edwards, 2008, p. 6). The major cause of failure, however, is when the objectives of a project are not well specified at the beginning of a project. Poorly specified objectives can be led to the development of software that does not serve the intended objectives, leading to a waste of resources and time.
Software development is usually an involving task that requires considerable time and effort. Designing and developing an IT project require competence and dedication from the software development team. The high demand for software applications has led to an increase in the number of software development outsourcing companies. The companies receive orders for the development of either a whole IT project or the development of some modules to a project. The outsourcing companies are usually under pressure to deliver products within short time frames.
Apart from the time frame, outsourcing companies are under pressure to keep software development cost down for them to remain profitable. Under this pressure, outsourcing companies are likely to lower the quality of service and be involved in unethical practices.
Quality
Quality is an important factor in software development. IT projects are expected to be of high quality. The software should be able to perform its intended functions. The quality of an IT project is depended on the amount of dedication from developers. The developers must dedicate enough time to IT projects for them to be able to come up with an application that performs as intended. To produce quality services developers must have enough time to understand project specifications and be able to plan on how to achieve the objectives. The developers need to understand what their applications are supposed to perform before starting their project (Nindel-Edwards, 2008, p. 8). This means that the project development cycle has to be adhered to in order to produce quality work. This, however, is not always followed in offshore software development.
Offshore software development can lead to lowering of quality. Outsourcing software developing companies are under pressure to deliver services within a short time frame. Besides, most outsourcing firms are tempted to pick jobs that are beyond their capacity to deliver. Time limit tempts offshore software developers to lower quality. The companies are more concerned with meeting strict deadlines other than ensuring quality. Failure to dedicate enough time to an IT project can have various implications. It can lead to programs that do not meet project specifications and thus fail to perform intended. Offshore software development may lead to some security issues being comprised. Failure to dedicate enough time and resources to security faults being left in an application. In addition, some offshore software developers fail to give testing and debugging the importance that they require. Production of software that is not adequately tested may compromise software users and lead to high losses.
Substandard projects can compromise important aspects of an organization. Poor programs would imply that organizations would not be able to accomplish their intended objectives. Substandard projects would also compromise the quality of services provided by an organization. Failure of a substandard program may have a very high pecuniary effect on an organization especially when it affects an organization’s customers. Bugs in an IT project can lead to highly negative implications for an organization (Nindel-Edwards, 2008, p. 7). Errors can lead to the loss of sensitive data to a company. Failures resulting from errors can lead to severe negative effects especially when an application is used in sensitive areas such as in health care.
Use of Illegal Software
Offshore project development tempts developers to use unauthorized software in their development. Offshore software developers are involved in the development of software under various platforms (Gold, 2004, p. 61). Because of the strict timetable and need to reduce cost, some software developing outsourcing companies can be tempted to use pirated software or fail to comply with licensing requirements. Some offshore software developers are individuals with low resource capacity. Thus, they are more likely to give in to using inauthentic software.
Use of Reverse Engineering Technology
Pressure to deliver IT projects within a short duration of time temp offshore software developers to use reverse technology. This involves decompiling a software application to access source code (Kehal & Singh, 2006, p. 67). Reverse engineering brings about ethical issues on infringement copyright. Offshore software developers are tempted to use this technology in order to meet deadlines of avoiding tasks involved in developing software from scratch. Reverse technology can lead an organization to legal battle leading to loss of a lot of money through litigations.
Professional Competence and Integrity
Software development outsourcing companies and individuals have been increasing at a high rate. Unlike in conventional software development companies, there is less control of individuals involved in outsourcing software development. Because of the high demand for outsourcing services and high returns from the services, some individuals can be tempted to be involved in software development d despite not having the required qualifications. There is no clear way of ensuring the professional competence and integrity of the developers. Professionally incompetent developers can compromise the quality and other important aspects of a computer application. Incompetent developers can develop a substandard application that can not only fail to perform as required by also compromise security. Integrity is an important requirement for a software developer. Unprofessional developers may fail to uphold a high standard of integrity leading to high negative implications (Gold, 2004, p. 67-9).
Data Privacy
Data security is an important consideration in IT projects. Some applications are used to perform very sensitive tasks in an organization. In project development, developers are exposed to very important information to an organization. Some of the information, if leaked to a third party, can have very bad implications on an organization (Rashid, 2009, p. 21). Software developers are expected to keep any information on an organization or application secret. They are not expected to unnecessarily share information on their project and are supposed to ensure that the security of an organization or computer system is guaranteed. Offshore software development can open doors for security threats. Some offshore developers may fail to guarantee security because of incompetence, hurry, or malicious motives.
Poor working environment
The poor working environment is an important ethical consideration when choosing an outsourcing company. Some outsourcing companies use exploitative human resource practices in their service. Employees work for long hours with little returns.
As the main motivation for outsourcing is to cut costs, many outsourcing companies are set up in places where there is a low cost of labor (Flatworld, 2010, par. 5). As a consequence, outsourcing companies are tempted to offer low wages for services that they would have paid highly in other places.
A solution to Ethical Issues in Offshore Software Development
Offshore software development is a major sub-industry in the IT industry. Software development outsourcing can help to satisfy the high demand for software. Ethical issues in international software development, however, are a threat to the growing industry. Ethical practice in software development can have very severe effects. Errors in applications such as health systems can even be a threat to life. To overcome the ethical issues, there is a need for regulation on software development outsourcing.
International software development has been developing at a high rate. Initially, India was the main country that was mainly involved in software development outsourcing. Today, many countries are involved in software development outsourcing. Many software development outsourcing companies are small and cannot able to regulate themselves. In some cases, individuals are involved in development making it hard to ensure ethical practice.
Ensuring ethical practice should be viewed as a collective duty by all stakeholders in the IT industry. There should be an international framework to regulate software development outsourcing. Although some countries such as India have developed frameworks to ensure ethical practice on outsourcing software development, many other countries do not have any framework. International regulation is the only possible way of ensuring ethical practice in every part of the world. The international regulation could be operated in form of certification.
Software development outsourcing companies that meet set international ethical criteria would be certified.
Certification will make it easier for an organization to identify ethical outsourcing companies to outsource their It projects.
Conclusion
International software development has become very important in the IT industry. Software developers in modern IT projects come from various countries with different cultural backgrounds. Software development outsourcing has especially become an important option for IT projects. Software development outsourcing help in cutting the cost of IT projects. Although international software development has various benefits it raises various ethical issues. Some ethical issues include lowering quality, use of illegal software, reverse engineering, and employees’ exploitation. To overcome these ethical challenges, it is important to have international regulations. International regulation in form of certification can ensure high-quality outsourcing products and contribute to growth in the IT industry.
Reference List
Flatworld. 2010. Ethics of Outsourcing. Web.
Gold, T. 2004. Outsourcing software development offshore: making it work. CRC Press, London.
Kehal, H. & Singh, V. 2006. Outsourcing and offshoring in the 21st century: a socio-economic perspective. Idea Group Inc, New Delhi.
Nindel-Edwards, J. 2008. Ethical Issues in the Software Quality Assurance Function. Communications of the IIMA. Vol 8. No1.
Rashid, A. 2009. Software Engineering Ethics in a Digital World. Computer. Vol. 42 No.6 pp. 34-41
Sahay, S., Nicholson, B. & Krissna, S. 2003. Global IT outsourcing: software development across borders. Cambridge University Press, New York.