Monthly Archives: March 2011

Requirements

OK, so I haven’t blogged much lately. Now that we’ve got the new mainframe in production maybe I’ll be able to find more time for it.

I’ve been reading a book I got when they closed down the 13th floor library, The Trouble with Computers by Thomas K. Landauer. It looks pretty good, except it was written in the early 1990’s before most people had heard of the web, so I’m not sure what he might say differently if he were writing today. Anyway, I wanted to quote this:

It is not only the initial design of computer software that is thus so often flawed. The way in which software is produced and deployed makes it almost inevitable that it will miss its mark in providing the right functions for its users. After the initial specification of a product, which may involve executives and managers of the people who will use it, some of whom may have done the job at some time in their past, software is usually developed by a group of programmers with no further contact with customers until the system is complete. The programmers add and subtract features and functions reflecting their own fantasies of what the job is like and under the assumption that the users are people just like them, which is never true. Systems are only rarely tried out on users in their environment before they are sold.

I think this is one of the things we’ve been able to do right in the past. *DACCT (the predecessor of *DEFINE) came about when John Wheat went and sat in departmental accountants’ offices and watched what they were doing. Having programmers working in the departments they support helps too. This is not to say we couldn’t do even better in the future.