Share this blog:

Saturday, December 27, 2008

It's way more than RAD

Yesterday I received an e-mail from Jim Dusoe, a professional developer with 25 years of experience, and a relatively recent Alpha Five convert. I thought it was worth sharing verbatim.

As a software developer, I am always looking for ways to improve the efficiency of generating an application. Alpha Software users have learned that using Alpha 5 is a great boon to building high performance, feature rich applications significantly faster than on other platforms. But there’s another area that I am discovering is having quite an impact on my development efforts that I’ve not heard discussed – modifications to existing applications.

Student Records Management System
I recently had to make a somewhat simple, but important change to an application that tracks grades for a small college. The college recently had an audit performed by an outside consultant (the consultant formerly worked for the UN, establishing new technical colleges in developing and 3rd world countries. This is the 13th college he helped to develop.) As he reviewed the software we had written for the college, he commented several times that our project was the most well designed and fully thought out package he had ever seen.

Change Required
As good as it was, however, we missed a couple of items, one of which was the structure of the Course ID. This Course ID would be used in school catalogs, on student transcripts –- in short, this would be the primary PUBLIC mechanism used to identify a course. The actual change was simple -– we needed to add a column to the database table that indicated the year of the course (1 through 4, to indicate Freshman through Senior years) that would then create a unique key field based on the Department (Music – MU, English – EN, etc.), Student Year (Freshman – Senior) and an internally generated unique course ID (EN1101 would be English, Freshman course 101). I had originally wanted to define the ID as system generated integer only, for simplicity, but he pointed out that the naming convention would be best kept in a format that “everyone” was already familiar with (the user’s view always wins over the developer).

Development Impact
Here is where I noticed something significant when I made the change -– I had it completed in a matter of just a few minutes, including testing. Because of Alpha’s grid structure and easy to configure property sheets, I simply added the column to the database, adjusted my SQL query to include the column, set the field in the grid component, published, and tested. It all worked simply, smoothly, and without a hitch.

I began to think about the many tools I’ve used in the past -- Visual Basic, MS Access, Visual Foxpro, Ironspeed Designer, etc. -- and I realized that what I just accomplished would have taken anywhere from 2 to 8 times longer to complete in any of these packages.

For example:

  1. If I was using Ironspeed Designer, I would have had to modify and test at least four separate pages to accommodate this change, or at least let the system regenerate the pages after updating the schema, thereby clobbering my html formatting. Total additional time: at least 4 times the effort.
  2. Using Foxpro as a desktop app. I would have had to update my view, drag a new component on the form, update the databinding properties, update my data environment, set several additional properties to work with the framework I use with Foxpro, compile the app, test and distribute. Total additional time: at least 3 times the effort.


Now I know this is a really simple example, but when you began to add up the time savings multiplied over many applications, multiple “little” changes, you find that Alpha Software provides a whole new level of TOC. It is just plain easier to modify your applications when needed –- saving time for the developer, translating to lower costs to the customer, increasing profits to the developer, and better quality apps delivered faster than other platforms.

One more reason I continue to grow in my Alpha Software fanaticism.

Jim Dusoe
www.bmsisoftware.com

0 comments: