Friday, June 4, 2010

On business user's computing

Friday is our shopping day (our working week is Sunday to Thursday, thus Friday and Saturday are weekend days here); today in a coffee shop in our neighborhood shopping center I have noticed a sign: "We don't accept checks or credit cards", they meant that they neither accept checks nor credit cards, obviously, but if we'll feed this sentence to a computerized program that parses logical propositions, I am not sure what the result would have been. There is a famous experiment in which they asked people to formalize a query about people who live in New-York or in Philadelphia, and many people formalized this query as people who live in New-York and Philadelphia, which reduces the answer to a person who happens to have two addresses in both cities. I am mentioning it, since recently I had some discussions about the ability of business user to write their own: {rules, patterns, queries} - chose your favorite terminology. There are users which I call "semi-technical users" who do not know how to program in any programming language, but can be taught to formalize their requirements in an accurate way. However, there are users who are not able to do it, and giving them natural language interfaces will lead to unexpected results.

So - should we give up on that? not necessarily, there are several ways to advance here, one of them is to have parameterized rules/queries/patterns, and let the user instantiate it by entering parameters. This, of course, limits the scope of programming to the predefined patterns that have been created by the IT developer; another way is to use some kind of dialog with the user to interview the user about the precise meaning, this area needs more work, but it is vital in extending the scope of those who can program event processing (and also some tangent areas like business rules) applications. More about it - later

No comments: