Dead Sheepdog: Ethical Dilemmas in Software Development

Agile principles form an incomplete but meaningful set of ethical guidelines. They address concerns for how we ought to behave towards our customers and employers. They also implicitly speak to ethical behavior towards coworkers, and concern for the reputation of our field. They value personal integrity, discipline, courage, accountability and honesty.

Agile principles do not directly address all the concerns and ethical dilemmas described in ethical codes of conduct. For example, they do not speak to an obligation to take responsibility for the actions of our peers within our industry and outside our immediate organization. They also do not speak to the consequences of our actions for society and the larger world.

Agile practices do however, provide a way to parse and address essential complexity. They do this by demanding quality throughout the lifecycle, delivering meaningful, testable, working code in short iterations, and providing mechanisms for continuous improvement based on regular cycles of retrospection. They define roles and responsibilities that empower individuals and hold them accountable.

The agile community itself provides a resource of active practitioners with some degree of shared values who actively seek support and advice from each other through conferences, lists and local gatherings.

If the agile community would open up consideration of value, risk and consequences to encompass the larger world of stakeholders, make explicit such concerns as informed consent and employ it!s specific practices to navigate complexity, Agile development would provide a toolkit for surfacing, contemplating and addressing ethical dilemmas.

Copyright ©, Ken H. Judy 2008, All rights reserved.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment