![]() |
|
Incorporating Ethics into the Software Process There is a wide discussion in the community of software users, information system stakeholders as well as researchers, project managers, and developers, on the reasons of software project failures. The failures are typically seen as failing to meet the requirements, over budgeting, exceeding development time or maintenance costs. Infoethics [5] adds violation of the rights of developers, system stakeholders and society. Preventing the project failures is typically sought in the domain of software development methods and tools, in project management, in requirements engineering, in quality assurance and risk coping strategies. New or modified software development lifecycles are introduced, exploiting quality control [6] , reusability [3] , risk management, or stakeholder identification [1] , as well as maintenance procedures improved [5] . Software Development Impact Statement (SoDIS) makes a way of addressing the problem of compliance with ethics. The goal of the SoDIS process is to identify significant ways in which the completion of individual tasks may negatively affect stakeholders and to identify additional project tasks or modifications needed to prevent any anticipated problems [2] . This is done in several steps
However, a software project means in fact two synergetic efforts: the customer's process and the supplier's one. The customer (the buyer) is interested in ordering and getting what he needs, so the main activities of his project include detailing the requirements, validating the sub-products and checking if the product meets the requirements. The supplier is the contractor, or developer, who responds to the buyer for a specific capability [4] . And as the customer and the buyer co-operate in the project but they have their own missions, goals, shareholders, employees and environments, some questions arise:
The paper suggests that incorporating ethics into the software process could be viewed as follows:
The scheme treats impact statement activities as decomposed between the customer's and the supplier's processes. This way of incorporating ethics into the software development process renounces a bit idealistic assumption that impact analysis can be done on one side aiming all partners, and its results executed on the other side, once more aiming all partners. It is very interesting if assuring ethics can follow the ideas and solutions that have been already developed for software quality assurance. For example, it is quite typical to have (developer's side) an independent Software Quality Assurance Group that adapts and introduces standards, measures and controls quality in order to improve the company software process. How about ethics, shall we strive for Software Ethics Assurance teams? Bibliography [1] Boehm B.: Spiral Development: Experience, Principles and Refinements, Spiral Experience Workshop 2001, http://www.sei.cmu.edu/cbs/spiral2000/february2000/Boehm/sld001.htm [2] Gotterbarn D.: Reducing Software failures: Addressing the Ethical Risks of the Software Development Lifecycle. Proc. of the 5th International Conference on The Social and Ethical Impacts of ICT ETHICOMP 2001, Gdansk, June 2001, vol. 2, pp. 10 - 19. [3] Jacobson I., Griss M., Johsson P.: Software Reuse - Architecture, Process and Organization for Business Success, Addison Wesley Longman, 1997 [4] Marciniak J.J. and Reifer D.J.: Software Acquisition Management. J. Wiley & Sons, Inc., 1990. [5] Rajlich V.T, Bennett K.H.: A Staged Model for the Software Life Cycle, IEEE Computer, July 2000 [6] Redmill F.: Project Management. In Górski J. (ed.): Software Engineering in Information Project (in Polish). MIKOM, 2000. [7] Software Engineering Code of Ethics and
Professional Practice. ACM/IEEE-CS Joint Task Force on Software Engineering
Ethics and Professional Practices. http://www.acm.org/serving/se/code.htm |
|
Contact CCSR Webmaster at ccsr@dmu.ac.uk
- Last Update 10/04/2002 |