Friday, September 01, 2006

Essence versus Implementation

One way to ensure you capture the real requirements for a product, according to Robertson and Robertson, is to "separate the essence of the problem from its implementation". They give the following example:
[W]hen you approach an automated teller machine, what is the essential piece of business that you wish to conduct? 'Withdraw money from your bank account' would be a logical answer. The things that you have to do like insert a plastic card, enter a PIN, and so on are to do with the technology that the bank chooses to use. The essense is that you access your account and withdraw money from it.
Then ask yourself, for example, why you might design the system to have a PIN. The answer points to another essential problem to solve: unauthorized access to funds. The PIN isn't the requirement; security is.

No comments: