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.
翻译:在本篇文章中,我们侧重于开发道德软件的结构性方面,认为道德考量需要纳入(敏感)软件开发过程。事实上,我们声称,软件开发的灵活过程特别适合这一努力。首先,我们主张,道德考评需要超越软件产品的使用,包括软件本身的评估。这意味着软件工程师通过其设计产品的特点影响人们的生活。因此,嵌入的价值观是软件工程师自己最善于处理的。因此,我们强调在现有和完善的灵活软件开发过程中进行道德考评的可能性。我们的方法依靠软件工程师在整个开发过程中作出自己的判断,以确保技术特点和道德考评能够充分解决,从而转移和促进理想的价值和规范。我们主张,灵活的软件开发过程可能有助于伦理考评,原因有五:(1) 灵活的方法得到广泛传播,(2) 强调平坦的等级结构能够促进独立思维,(3) 他们对现有团队结构的依赖是评议的孵化器,(4) 敏捷发展能够加强以对象为重点的技术伦理现实主义,最后,(5) 僵化结构提供了明确的最终评议。