25.4CYApr 27
The Ethical Knowledge Gap: Dispersed Knowledge, Sensemaking Failures, and Epistemic DependenceJan Gogoll
Ethical software development remains stubbornly difficult despite two decades of normative frameworks, professional codes, and participatory methodologies. This paper offers a diagnostic rather than prescriptive contribution: it argues that the persistent gap between ethical intention and ethical implementation is a structural epistemic condition, not primarily a failure of will, education, or normative guidance. Three independently sufficient mechanisms interact to produce what I call the ethical knowledge gap -- a condition in which the knowledge required for ethically informed decision-making is systematically unavailable at the point of decision, even when the organization as a whole possesses it. First, drawing on Hayek's (1945) analysis of dispersed knowledge and its organizational extensions, the paper establishes that ethically relevant knowledge in software development is constitutively distributed across roles, largely tacit, and -- unlike efficiency-related knowledge -- unsupported by any spontaneous aggregation mechanism analogous to the price system. Second, an interpretive deficit, analyzed through Weick's sensemaking framework and the literature on framing and epistemic cultures, renders developers unable to recognize the ethical significance of what they know: the sensemaking apparatus of engineering culture makes technical decisions intelligible while systematically obscuring their ethical dimensions. Third, a credibility attenuation, analyzed through the social epistemology of testimony and epistemic dependence, discounts developers' observations as they cross organizational role boundaries, so that hybrid judgments combining technical detail with ethical assessment lose their epistemic force.
SEJul 15, 2021
Empowered and Embedded: Ethics and Agile ProcessesNiina Zuber, Severin Kacianka, Jan Gogoll et al.
In this article we focus on the structural aspects of the development of ethical software, and argue that ethical considerations need to be embedded into the (agile) software development process. In fact, we claim that agile processes of software development lend themselves specifically well for this endeavour. First, we contend that ethical evaluations need to go beyond the use of software products and include an evaluation of the software itself. This implies that software engineers influence peoples' lives through the features of their designed products. Embedded values are thus approached best by software engineers themselves. Therefore, we put emphasis on the possibility to implement ethical deliberations in already existing and well established agile software development processes. Our approach relies on software engineers making their own judgments throughout the entire development process to ensure that technical features and ethical evaluation can be addressed adequately to transport and foster desirable values and norms. We argue that agile software development processes may help the implementation of ethical deliberation for five reasons: 1) agile methods are widely spread, 2) their emphasis on flat hierarchies promotes independent thinking, 3) their reliance on existing team structures serve as an incubator for deliberation, 4) agile development enhances object-focused techno-ethical realism, and, finally, 5) agile structures provide a salient endpoint to deliberation.
CYJan 27, 2021
Hiding Behind Machines: When Blame Is Shifted to Artificial AgentsTill Feier, Jan Gogoll, Matthias Uhl
The transfer of tasks with sometimes far-reaching moral implications to autonomous systems raises a number of ethical questions. In addition to fundamental questions about the moral agency of these systems, behavioral issues arise. This article focuses on the responsibility of agents who decide on our behalf. We investigate the empirically accessible question of whether the production of moral outcomes by an agent is systematically judged differently when the agent is artificial and not human. The results of a laboratory experiment suggest that decision-makers can actually rid themselves of guilt more easily by delegating to machines than by delegating to other people. Our results imply that the availability of artificial agents could provide stronger incentives for decision makers to delegate morally sensitive decisions.
SENov 5, 2020
Ethics in the Software Development Process: From Codes of Conduct to Ethical DeliberationJan Gogoll, Niina Zuber, Severin Kacianka et al.
Software systems play an ever more important role in our lives and software engineers and their companies find themselves in a position where they are held responsible for ethical issues that may arise. In this paper, we try to disentangle ethical considerations that can be performed at the level of the software engineer from those that belong in the wider domain of business ethics. The handling of ethical problems that fall into the responsibility of the engineer have traditionally been addressed by the publication of Codes of Ethics and Conduct. We argue that these Codes are barely able to provide normative orientation in software development. The main contribution of this paper is, thus, to analyze the normative features of Codes of Ethics in software engineering and to explicate how their value-based approach might prevent their usefulness from a normative perspective. Codes of Conduct cannot replace ethical deliberation because they do not and cannot offer guidance because of their underdetermined nature. This lack of orientation, we argue, triggers reactive behavior such as "cherry-picking", "risk of indifference", "ex-post orientation" and the "desire to rely on gut feeling". In the light of this, we propose to implement ethical deliberation within software development teams as a way out.