Sunday, March 11, 2007

Rapid Application Development

For the last ten years, many software projects have incorporated the use of "Rapid Application Development" methodologies in an effort to decrease development times. RAD, as it is generally referred to, incorporates an umbrella of methodologies based o spiral, iterative development technologies. RAD techniques range from the simple use of GUI development tools to quickly build prototypes, to processes incorporating complete, cross-functional business analysis. Since January 1997, Cambridge Technology Partners, one of the early practitioners of RAD, adapted their methodology to address the special needs of electronic commerce. Dubbed CoRAD, for customer oriented RAD, Cambridge’s methodology brings together a unique combination of technical, business, creative, and cognitive disciplines to implement high impact, successful electronic commerce solutions. If you are even considering building an electronic commerce application, you should read closely to avoid pitfalls many early electronics commerce sites faced because they concentrated too narrowly on either the technical or creative side of electronic commerce. Furthermore, you need to realize that e-commerce isn’t just about building a web site – it’s about building a whole new business channel.

CoRAD projects consist of five distinct phases: strategic planning, product definition, product development, product design, and product delivery. CoRAD treats your electronic commerce project as a product because that is how customers will view it. Successful web sites have to be launched, marketed to customers, and provide incentives for customers to try them out, just like traditional consumer products. They will compare your web site against your competitors’, judging its usefulness. If the site crashes or takes too long to download, customers will go elsewhere. The role of technical, business, creative, and cognitive specialists in each phase is described below. Before discussing each phase of the CoRAD methodology, however, let’s spend some time describing why it is needed in the first place.

Why Another Methodology?

Cambridge first started developing its RAD methodology for developing client-server solutions in 1991. Over the years, as client-server technologies matured, Cambridge continued to evolve its RAD model. Internet applications, however, including electronic commerce, extranets, on-line communities, interactive marketing, and interactive web services place new demands on software over and above traditional client-server development. The CoRAD methodology brings together four key disciplines for the rapid development of an Internet application:

  • Technical

  • Business

  • Cognitive

  • Creative


Internet applications and online business have placed new technical demands on software architecture. Often, it is impossible to accurately predict how many people will use an Internet site. For example, when Netscape sized its first web site, it considered the NCSA site from which the original Mosaic web browser was distributed. At the time, NCSA was receiving 1.5 million "hits" per day. Netscape wanted to be able to handle at least three times that load and designed its site for 5million hits a day. That number was surpassed in Netscape’s first week of operation and the site routinely handles 150 million or more hits per day, or 100 times the original NCSA reference. While your site may not see this amount of growth, experts say Internet architecture should be capable of scaling to handle ten times the expected load without reaching an architectural bottleneck. On an Internet site, you will have to consider the scalability of your application software; networking and security software must also scale commensurately with application usage.

Electronic commerce applications also have a major business impact. They affect how you market your products, how you sell, and how you service your customers. How will you transition your people to work in this new environment, or will you need new people? What new business processes will be needed? Will you need new channels or partners?

Finally, the creative and cognitive skills needed for successful Internet applications are substantially different than traditional internal client-server applications. No matter how good the technology employed, the business goals of your electronic commerce application cannot be successfully achieved unless the targeted customers use the solution you provide. Experience on the Internet has proven this is not always the case. Today’s electronic commerce customers typically have a choice. They may choose to use your interactive solution or choose not to. They may choose a competitor’s web site or they may use another traditional channel offered by your own company. Traditional client-server application users have used the application because they had no choice. The Internet changes the relationship between application and content. To successfully design for the web you need to be able to influence your customers to choose your content from your site. Your electronic commerce application is merely the means for them to do so, rather than an application that is forcing them to do so. CoRAD’s creative and cognitive disciplines come to play in creating an application with content that customers will choose to view. This is done using a five-step process as shown in Figure 1-1, The CoRad Approach.



Continuous Renewal

Strategic Planning



The CoRAD methodology starts with a three to six week strategic planning workshop where Cambridge helps its clients identify and prioritize the electronic commerce initiatives that will give them the highest return on investment. Cambridge examines the internal factors that could contribute to or impede the success of an e-commerce endeavor – i.e., existing Internet initiatives, technical infrastructure, operational processes, organizations, and staffing. It also conducts an external assessment in which it focuses on competitors in the industry and e-commerce best practices from other industries. A strategy and a work plan are developed that include recommendations for the next phase.

Product Definition

The next phase of an engagement is a three to six week product definition workshop. This step, much like a traditional software requirements analysis, is the key to avoiding surprises halfway through the project. The product definition stage begins by defining the scope of the project including identification of the target customers, their needs and the functions the site must perform. Sample customers are identified and, if possible, interacted with, to understand the design context. This is where cognitive disciplines become an absolutely crucial element of successful web implementations. This helps derive a more complete understanding of your customers, including their environment, habits, goals, and conceptual models. In turn, this helps you define an electronic commerce product that is truly intuitive for your specific customers to use. Use of these cognitive experts continues through the product design and development stages.

In parallel with gathering information about the customer’s requirements, the product definition phase examines several technology choices. These choices include everything from development environments to hardware platforms to integration with existing systems. Existing network and security infrastructures are also examined to evaluate if they are e-commerce ready. This typically involves IT executives, as they are the ones who ultimately will have the responsibility for operating the site. This results in the selection of a technology framework for the project.

Another parallel task in product definition is an analysis of your business environment. The goal of this analysis is to identify any needed process, such as marketing plans, or organizational changes. Business goals are clarified and critical success factors are established. These may range from specific dollar sales to more subjective qualities such as customer loyalty indexes. A cross-functional consensus on the product is established when possible, along with executive buy-off.

Most importantly, the first prototype of the product is developed. Even at this early stage, you should avoid building user-interface-only prototypes. Prototypes, although they may lack some of the final functionality, should incorporate all the key business logic of the product. Both user interfaces and back-end databases are easier to derive once the business logic has been defined than visa-versa.

Product Design

The third phase in Cambridge’s CoRAD methodology is the product design stage. The emphasis during this six to twelve week phase is on architecture. The technologists architect an infrastructure for your product that is secure, scalable, and reliable. The creative and cognitive designers build on the work begun in the prototype to architect a powerful and effective user interface for the customer. A good rule of thumb for web applications is they should be so simple to use that no help screens are required. While this may seem limiting, it is indeed true. PeopleSoft, for example, a popular vendor of enterprise resource planning applications, has designed all its web-deployed interfaces without help screens. Also during this phase, the business consultants architect new processes and organizations to align the functionality in the application with delivery capabilities of the organization. Customer testing of the prototype also continues during this phase, allowing additional feedback to be gathered and incorporated into the evolving design.

Product Development

During the six to twenty week product developments, the focus turns to implementation. The software is written and the content is refined. At the same time, the organization is prepared to assimilate the changes the product will impact prior to its launch. Larger scale customer pilots are undertaken and more feedback gathered. This helps ascertain that the product meets the requirements for the release and that it’s fast, reliable, and intuitive. Depending on the application, internal tests may also be useful for stressing the application and finding bugs before public release.

Product Delivery

The final phase in the CoRAD methodology is product delivery. This phase has two parts: preparation and execution. During rollout preparation, a conversion strategy is developed if any conversion from an existing system is being done. Conversion programs follow this. Rollout execution involves the complete installation of the application in the production environment for the extended user community.

Cambridge’s CoRAD methodology is just one example of a rapid application development methodology. Like many methodologies, CoRAD is designed and tailored to the individual projects where it is applied. No matter whether you use CoRAD, or your own version of a rapid application development methodology, your software project is more likely to be successful if some sort of RAD approach is followed.

http://www.harriskern.com/index.php?m=p&pid=377&authorid=34&aid=40