A few days ago I have read the article of Observed Requirement by Martin Fowler.
In this articles he stated that what customers ask for is not always what they need, regardless of the common interpretation errors and ambiguity and so on. Typical customers can ask for some features which they actually don’t use, or forget about some other features they badly need.
The solution in Fowler’s opinion is to “observe” the actual behavior of the customers, and this is typically possible in web applications where you have the ability to log everything; common user navigation scenarios, areas used most, areas almost ignored, and so on.
I took a while thinking about the same case for desktop applications, and how we can apply such technique. Of course logging might not be much important as in the case of web applications, because communication is much easier with few customers, and sales personnel can watch customers behavior while in demo.
But the customers need something (a prototype) to “play with” so that we can watch their behavior. And this prototype should be easily modified, rapidly built, and it should be as close as possible to the business model of the customer.
I then recalled a Model Driven Architecture (MDA) tool I have came across a couple of years ago and it was known to build database applications with associated GUI in few hours, if not less.
Please watch the demo of the tool DeKlarit which shows you a quick example on how to build, manipulate a simple business object in few minutes and have a convenient GUI to persist and view data to database. This GUI also can be used by you (the developer) to enter test data in a convenient way without worrying about building data layer and business layer. And if you change the physical layer, your saved data is copied automatically to the new model.
And if you are interested to explore its other features, you can download a fully functional 60 days trial.