Saturday, February 14, 2009

Responsibility of a System Developer

Developers work together with customers and users to define requirements and specify what the proposed system will do. If, once it is built, the system works according to the specification but harms someone physically or financially, who is responsible?

This is a very tricky question that I found quite difficult to answer. However, I can come up with only the most logical thing that I can think of.

Yes, it is true that the developers and customers/users work together to define the requirements. Now, if there comes a time when the system harms someone, I would say that both the developer and the user/customer are to blame. Why? This is my reasoning:

First of all, they both worked together to specify the requirements. Then it only follows that they should have projected the possible risks that may arise during the lifetime of the system. The user/customer defines what he wanted the system to do and the developer puts his desires into a representative form. During this time, they should have already outlined all the possible risks involved. This scenario can only make me think of one word- carelessness. This should have been seen earlier, before the system is used, if there is a clear outline of the benefits and the possible behavior of the system under certain circumstances.

However, I think that the heavier blame should be put on the developer. Since he is the developer, he is more knowledgeable and insightful of the possible behavior of the system. True, that the user/customer can define what he wants but I think that it is the developer’s responsibility to make sure that the customer/user does not go beyond the line. If the customer/user is clueless about the possible harm that his defined system may bring, then the developer should be the one to point it out and explain it to him since the developer is more knowledgeable in terms of the system’s behavior in the future.

I can only say this: to possibly avoid such harm from coming to the users, quality assurance checks must be made on the system. This way, before the system is delivered to the customers, it has already undergone tests that ensure that the system is working according to the requirements and will not harm anyone.

No comments:

Post a Comment