Friday, 30 November 2007

The speed of Application Express

Application Express is like a racing. The speed of development is amazing, not only to me but also to my customers. I experienced that again some days ago. A collegue came up to me and asked whether i had time to create an application for an line-up he was performing for all the IT standards and guideline documents within my organization. He had a rough data model with 6 simple entities. Two and a half hours later I had a working application to maintain the data. He was amazed, because he had expected it to take two days.
I like to start with a rough outline and refine the model while creating the application. That way I can exploit my creativity in shaping the application. For the users it is a lot easier to talk about a real application that about abstract schemes. So the development process is a lot faster. After the first version of the application I made I have spent an odd 4 hours refining the application, amongst other things adding a search page with report.
In the process of developing an application I use email a lot. With Apex it is possible to react within minutes after the reception of an email with a few changes, lest you keep your application simple. Once you start using complex Javascript, Ajax and PL/SQL construction, it will be much harder to maintain the application. So think well, and think again, before you incorporate those flashy features into your application.
Disadvantage of the speed of development will usually be that the technical documentation is not up to date. The least you need is an accurate data model, describing the meaning of the tables and columns. I mean the real meaning, like 'we intended to use this column to store xxx but now it is not used anymore', or 'contrary to the name of column it contains yyy'. The design patterns and conventions used should also be written down. This technical documentation makes it a lot easier for the next person to understand and maintain the application. In all the Apex projects I have done so far it has been neccesary to take some time at the end of the project to wrap up the technical documentation.

No comments: