What is ethical software? The project ‘Ethics in agile software development’ aims to design a tool facilitating the creation of software systems which can be both normative and desirable. Ethical questions will be integrated into the process of developing technical systems in a systematic and structured way. Software developers and decision-makers are working together in normative-conceptual design-thinking in order to detect, localise and evaluate ethical questions, translate them into technical requirements and ultimately produce ethically appropriate software.
“How can software be developed in an ethically adequate manner?” is thus this project’s central research question. Existing approaches such as Codes of Ethics together with other standardised processes and procedures either offer insufficient normative orientation or do not achieve the desired effect. Furthermore, in contrast to the classic manufacturing industry expectation, in which standardisation is very much prevalent, regularised procedures in software development are not easy to replicate. A rigidly prescribed construction plan fails due to the system’s multi-conditionality. It is, therefore, important not to limit any process of normative deliberation merely to the beginning of the development process or to an assessment of technology following its completion.
The effectiveness and feasibility of any tool involving deliberation should be examined and supported by empirical monitoring. Accordingly, in this project we aim to extend our preferred agile management method, such as Scrum, by adding an ethical deliberation component. In doing so we can ensure that normative elements will be continually integrated into the development of software systems. Software developers will become familiar with the appropriate normative concepts so as to integrate ethical deliberation into the product development process.