27 July 2010

The conflicts of IT

By Andrew Clifford

Codes of conduct for IT professionals do not fully cover the conflicts inherent in IT.

In all trades, there is a commercial conflict between the consumer and the provider; the provider wants to make as much money as possible, and the consumer wants to pay as little as possible.

Where there is competition, this conflict is outweighed by commercial pressures, and, consumers generally get what they want at a reasonable price and providers generally make a profit.

Professional services are different because the service is more complicated and the client does not fully understand the service that they need. Clients have to trust professional providers. There is a conflict between the professional duty to provide only the services that the clients truly needs, and the professional need to make money. Most professions manage this to an extent through professional standards and professional bodies.

Some professions have special conflicts that are managed in special ways.

Healthcare is particularly expensive, and people need it most when they are least able to pay for it. There is a conflict between the professional duty to care for the sick, and the professional need to make money. Many authorities manage this conflict by providing healthcare through taxation (as in the UK) or through compulsory health insurance.

Lawyers and similar professionals have special conflicts if they are representing both sides in a dispute. Lawyers have to refuse work (and therefore money) where there would be a conflict of interest by representing both sides in a dispute.

IT, and particularly software, also has a special conflict.

Software does not rot, through generalisation software can deal with many different problems, software can potentially be reproduced without limit, and software can be combined and extended to create new solutions. The special conflict in IT is between the professional duty to provide a good enough solution at the lowest cost, and the professional need to make money through activity, uniqueness and change.

Mostly we ignore this conflict. IT sales aims to sell the customer as much as they can. Although there is competition, as a profession we have not evolved an ethic to exploit the reusable, general, unlimited and extensible potential of software. The open source movement is a step in this direction, but it is an alternative supply model rather than a set of industry principles.

There are attempts at ethical codes in IT, such as the very good Software Engineering Code of Ethics and Professional Practice. However, other than generally acting in the interests of the client and employer, this does not recognise the unique conflicts inherent with software. If you substitute the word "signage" for "software" throughout the document, it reads OK as a code of ethics and professional practice for sign writers.

I do not want to abandon the idea of making money, but I think there is massive potential for delivering better solutions for less if we can manage this conflict better, and we will hit both ethical and practical problems unless we do. We need to find a way of making money, while fully exploiting the reusable, generic, unlimited and extensible potential of software. I do not have a solution, but the first step is to recognise that the conflict exists.