1. Introduction:- Brief overview: RAD is an innovative approach and methodology to facilitate speed and quality of the project to better meet the expectation of the user.
– How it achieve speed and quality: By iterative prototyping and intergrating user as part of the development group. Also use concurrent development process and cutting down the bureaucracy to speed up development process- Motivation: due to rapid business change, and often misunderstanding and neglect users need.- Goal:2.
RAD advantages- Change in requirements during the development can be easily made.- Time: Total development time is shorten- Competitive Edge: Product early to the market can have competitive advantage- Flexible: process can evolved even if specification are not clear- User Expectation: End product will better meet the expectation of user3. RAD disadvantage and possible pitfall- Cost: company needs to invest in expensive software purchase, training, and technical support- Quality: design phase is skipped may result in system lack of robustness and unmentionable.- May not be suitable for certain type of application (describe below)- Watch out for feature creep and gold platin problems- Project scope and specification may be unclearMaking RAD WorkRAD’s flashy name often leads to misunderstanding that it is the ultimate cure in meeting all the needs of a project development. It is often being over glorified, misinterpreted, and perceived with lots of wishful thinking. However, in order to reap the full benefits that RAD has to offer, developer must be able to understand how to constrained project requirements that match the right RAD tool to meets the business need. Otherwise a wasteful amount of time will be spend trying to force the wrong methodology working against itself. The ultimate question therefore is not whether RAD will fit the project, but how.
Understanding RAD Capability:Developer and project managers must understand that some application design could be easily created with RAD application, while others might stretch beyond RAD’s original intention predefined by RAD tool manufacturer. Ignoring RAD capabilities and forcing RAD tool to inappropriate application domain can lead to project failure or unmanageable future maintenance. Zubeck summarizes some of the RAD tool’s capabilities in a comparison table below:Table 1: RAD Tool CapabilityZubeck further stressed that if new projects don’t respect application domain describe in Table 1. It has failed to take advantage of RAD’s intentional capability to facilitate project development process. Furthermore, Zubeck also points out the common desktop extensions that RAD cannot build or maintain:* Giant data quantities* Transaction commitment* Unusual hardware devices* Multiple DBMS connections across multiple platforms* Fault-tolerant to protect against hardware failure* User input validation with natural-language feedback* User interfaces that adjust to user sophistication level* Graphics, statistics, and math applications* Levels of security* Rapid response time organizing* Cryptography* Multimedia applications* Extensive end-user help system* Complex telecommunicationsAlthough software vendors sells add-on products to tackle some of these extension needs, a majority of these limitations still needs to be addressed. Developer and manager should also be aware of these limitations in the decision of integrating RAD for their new projects in order to deliver RAD’s promise result.RAD Management Principles:Since the developing method in RAD is different from the conventional ‘waterfall’ methodology, many aspects of the system development methodology will also required new approaches.
Following the conventional practices will result in unnecessary redundancy and is inappropriate for RAD development environment. Although many principles and approaches are similar for both methodologies, RAD has made some of the traditional features more viable. A successful RAD environment should include the following practices:Picking the Right Team.
Numerous studies on RAD conclude that people are the key element to a successful RAD project. Studies also suggest that an expert RAD leader maybe dismissive about standards and methodology (Mortimer 1). It is also important for team members to have the mentality of making business requirement a priority, instead of the quality or the system’s operational characteristic.
Since it is important for team members to focus on meeting the business needs, staff stability is very important. Staff change in mid-project for RAD team will harm the team’s efficiency.Effective User-Developer Communication. Since RAD involves constant interaction with customers.
‘People-skills’ as well as technical are equally important. Mutual respect between participating members, excellent communication skills, and cooperative collaboration and compromise to get the job done are critical skills for RAD team members.Management and Customer Support. Managers must understand the project-scoped to reduce product-related problems such as feature creep and gold plating. Delivery team may also need management support for RAD tools, technical support, and training on the technology.
Customers will also need to be committed and be accessible to the development team to be able to answer quick questions in order to make fast decisions.Assumption of Rapid Change. Development team also needs to be prepare for continuous evolving project specification, prototyping with iteration, minimal documentation, and continuous deliverables throughout the development process.Innovative Development Approach. RAD reduces delivery time utilizing concurrent development activities. Delivery team would also need to identified the overlaps in the evolution methodology process to avoid process redundancy.ConclusionRAD has become increasingly popular from the business approach. Its promised to deliver product early to the market, half the cost then traditional developing process, and better quality in meeting the needs of the business requirements, has made RAD the ‘magic solution’ to the technical industry.
However, project manager and developers must understand its capabilities and implement properly in order to reap the full benefits of RAD. Despite its shortcoming, RAD’s design philosophy went an extra mile to assure that the application product will meet the user’s maximum expectation, minimized the endless problems of application product not meeting user’s need.