apid Application Development (RAD) software development techniques have become an integral part of day-to-day software development in the past four years. This is the same RAD that James Martin described in the 80s and published in his book, Information Engineering: Introduction
, in 1991 (15 years ago). Wikipedia
states that "RAD was a response to the non-agile development technologies developed in the 1970's known as the waterfall method."
The waterfall method failed because it had long lag times between the system request and the delivery of the final product. In many cases, software created using the waterfall method didn't meet the requirements of the user or the business had changed so much that no one needed the software by the time it was delivered.
Today RAD has been embodied in a number of methodologies including Agile development, extreme programming, and test-driven development. While these have different names, they all share a common theme: Deliver software into the hands of users as soon as possible.
These techniques take into account that software is not perfect, nor is it EVER 100% complete. Their major advantage is that they deliver results rapidly, which is what customers/users demand.
In the last few months I have personally experienced/discovered a number of successful uses for RAD/agile development techniques.
This month a team I worked on successfully used RAD/agile development techniques to deliver a project for a client. At the request of the CEO and VP of Software Development, we started and completed a system for capturing employment applications on the Internet. This application has upwards of 20+ Web pages for capturing, validating, administrating, and printing employment applications. And the application did exactly what the users wanted.
I also read an article in March 27, 2006 issue of Business Week called "Programming at Warp Speed," (seems software development is sexy again) about a company called 37 Signals. This company creates applications rapidly using the Ruby on Rails framework. They have an online book called "Getting Real" available on their Web site that documents the philosophies of this company and how they develop applications in a rapid manner. Some of the chapter titles include:
- Interface FirstDesign the interface before programming
- There's Nothing Functional about a Functional SpecThe software developed usually doesn't represent what you started with
- Meetings are ToxicThe title says it all
Finally, I read a great article on the Gamasutra Web site
called "How to Prototype a Game in Under 7 Days: Tips and Tricks from 4 Grad Students Who Made Over 50 Games in 1 Semester." Even game developers are having success with RAD/agile development techniques.
RAD/Agile development techniques work. They succeed because they deliver what customers wantquality software quickly. I highly recommend checking out these techniques for inclusion in your development process.
This issue launches the first article in a series of six articles covering Windows Communication Foundation (WCF, formerly known as Indigo). Authors who will contribute articles in this series include Juval Löwy and Michele Leroux Bustamante of IDesign, Inc., Christan Weyer of Thinktecture, and Microsoft.
We've got another thoughtful contribution in our new MVP Corner editorial section where we dedicate space for Microsoft MVPs and other pundits to express their opinions in CoDe Magazine. If you have an idea for an editorial, shoot me an e-mail.
look for our CoDe Focus: Tablet PC and Mobile PC issue where we have articles that are relevant for developers writing code for mobile devices.