“Vanity of vanities, saith the Preacher, vanity of vanities; all is vanity”, Ecclesiastes 1:2.
We live in an advertisers world of puff and fluff. Old patterns are constantly revamped, pumped with a new name, and raved as the idea of the century. Sometimes they include a few worthwhile improvements. Other times they merely reflect an alteration in color schemes. Most always, they involve a substantial cost of implementation. Watch the buzzwords. Take care when jumping for the new boat. This is an honest look at a few of the newest buzzwords: Application Development and Joint Application Development.
In 1982, I purchased an Atari 800 computer for use as a writing tool. To my surprise, the power and capabilities of that cheap, off brand computer completely absorbed my interest. The ease of word processing and spell checking, along with a dozen other features that I had not even expected drew me to the wonders of programming. Within weeks, my writing had dried up. I was hooked on application development. I wanted to see how far software application could be stretched.
I made my living as the manager of Production Control in a local sheet metal fabrication shop. The company owned no computers. We did everything by hand, the scheduling, the routing, and the customer contact tracking. The Updates and rewrites of the master schedule took two employees three days of tedious handwork. So I adopted into my head to write an application that could drive and simplify Production Control. Within six months of learning and coding in GW Basic, I presented to our president a functioning but limited scheduling application. He liked it. From that surprising beginning, the following years lead into added modules for Estimating, Engineering, and Sales.
Long before James Martin ever attached a name to it, I stumbled into a beginning programmer’s Rapid Application Development (RAD) plan. It started first with the estimators. They would tell me what kind of software application they most needed, and then I would code and activate a functional skeleton program. They would work with that barebones prototype, give me more feedback, and then I would release another upgrade. And so it went with each department. In the between times, I worked to enhance the now on-line Production Control module of the application.
The method worked well for the company, the employees, and the customers. The company gained a productivity increase. The employees gained an end to some of the tedious tasks of a paper trail. The customers gained quicker service and easier product changes.
In those days (had it yet been identified and named) Joint Application Development (JAD) was mostly limited to in-house functions. The expense of a detailed externally based client’s participation and communication throughout the development of an application would have been unbearable. The customer gave specific specs. We created a completed project. Turn-around time averaged months.
Though scattered software teams existed, application development often consisted of one isolated programmer working on one isolated computer developing a series of isolated applications for use on other isolated computers. Programming languages (Visual Basic, C++, and others) provided for modular, re-usable code, but they were and are detail intensive languages. They are programming power tools, designed more for a faster end product run-time speed than for a programmer’s application development speed.
Today we have a purposefully thought out Rapid Application Development methodology complete with associated and specifically designed tools. The concept of minimal planning with rapid prototyping remains the base key, but we now have many enhanced ways of bringing it to pass. The easy availability of instant program updates, file sharing, and Internet communications establishes a unique internal/external connection between focus groups, test users, and the application development team. New programming languages with on-demand, fully reusable, object oriented components promote parallel project adaptability. Script languages make for quick application customization.
New design and architecture tools present data modeling, layout, and common grounds database functions. Embedded workgroup databases permit scalable SQL-compliant features with programming diversity, real-time data management, and storage modes. All component objects are fully portable.
Web development tools provide rapid site development and deployment through an open-source web framework. It’s a no wait environment. Templates, database libraries, session management, and reusable drag-and-place controls make business setups standard and simple. The programmer is no longer forced to spend hours in the creation of a custom database. Rather than wasted hours in file manipulation, the modern programmer is able to focus on quick solutions for a fast paced business world.
So is this fluff with the colors changed? Somewhat. Yet there are elements of value. Rapid communications, the Internet, VOI, and other advancing technologies have given an edge to Rapid Application Development. Businesses, programmers, and customers can actually profit from this.