The role and value of ethical frameworks in software development
Software development is notorious for failure, typically defined as over budget, late delivery and/or poor quality of new information systems (IS) on project completion. The consequences of such failure can be enormous, particularly financially. As such, there is consensus by practitioners and academics alike that this practice is unacceptable. Yet with a variety of accepted development methods and tools available for use by software developers and project managers, there is still no significant reduction in the size or frequency of failure reported. In an attempt to understand the conflicts which arise in the development environment in which developers and project managers must operate, the research area is the role and value of ethics in the development of managed software projects. A definition of ethics in this context was provided by the IEEE/ACM Code of Ethics. Research was additionally conducted to understand how other professions and business areas define and enforce ethics in their respective working environments. These were (UK) Law, Finance, Retail and, law practice in the European Union. Interpretive research was then conducted to enable software development practices to be understood from the view of developers and project managers in industry. Unethical practices were then identified in a large IT company based in west London via a single, six month in-depth case study, with the data collected analysed via a series of repertory grids. Analysis and triangulation of the data collected via interviews, document analysis and observations led to an improved understanding of the causes of the unethical practices found. Conclusions and recommendations are then provided relating to implications for (a) the company participating in the research, (b) the application of the IEEE/ACM Code in industry (c) theory for ethicists.