Hackers: heroes of the computer revolution
Hackers: heroes of the computer revolution
The second self: computers and the human spirit
The second self: computers and the human spirit
Safeware: system safety and computers
Safeware: system safety and computers
Designing engineers
Software failure: management failure: amazing stories and cautionary tales
Software failure: management failure: amazing stories and cautionary tales
The unified software development process
The unified software development process
The Closed World: Computers and the Politics of Discourse in Cold War America
The Closed World: Computers and the Politics of Discourse in Cold War America
Agents of responsibility in software vulnerability processes
Ethics and Information Technology
Hi-index | 0.00 |
The proliferation of information and communication technologies (ICTs) into all aspects of life poses unique ethical challenges as our modern societies become increasingly dependent on the flawless operation of these technologies. As we increasingly entrust our privacy, our well-being and our lives to an ever greater number of computers we need to look more closely at the risks and ethical implications of these developments. By emphasising the vulnerability of software and the practice of professional software developers, we want to make clear the ethical aspects of producing potentially flawed software. This paper outlines some of the vulnerabilities associated with software systems and identifies a number of social and organisational factors affecting software developers and contributing to these vulnerabilities. Scott A. Snook's theory of practical drift is used as the basis for our analysis. We show that this theory, originally developed to explain the failure of a military organisation, can be used to understand how professional software developers "drift away" from procedures and processes designed to ensure quality and prevent software vulnerability. Based on interviews with software developers in two Norwegian companies we identify two areas where social factors compel software developers to drift away from a global set of rules constituting software development processes and methods. Issues of pleasure and control and difference in mental models contribute to an uncoupling from established practices designed to guarantee the reliability of software and thus diminish its vulnerability.