RSS

Rapid Application Developement


Rapid Application Development (RAD)
·        RAD introduced by James Martin in 1991.

·        Type of software development methodology uses minimal planning in favor of rapid prototyping.

·        The "planning" of software developed using RAD is interleaved with writing the software itself.

·        The lack of extensive pre-planning generally allows software to be written much faster, and makes it easier to change requirements.

·        Structured techniques and prototyping are especially used to define users' requirements and to design the final system.

·        The development process starts with the development of preliminary data models and business process models using structured techniques.

·        RAD approaches may entail compromises in functionality and performance in exchange for enabling faster development and facilitating application maintenance.

·        All types of RAD have the potential for providing a good framework for faster product development with improved software quality, but successful implementation and benefits often hinge on project type, schedule, software release cycle and corporate culture.

This table contains a high-level summary of some of the major types of RAD and their relative strengths and weaknesses.
Agile software development (Agile)

Pros
Minimizes feature creep by developing in short intervals resulting in miniature software projects and releasing the product in mini-increments.
Cons
Short iteration may add too little functionality, leading to significant delays in final iterations. Since Agile emphasizes real-time communication (preferably face-to-face), using it is problematic for large multi-team distributed system development. Agile methods produce very little written documentation and require a significant amount of post-project documentation.
Extreme Programming (XP)

Pros
Lowers the cost of changes through quick spirals of new requirements. Most design activity occurs incrementally and on the fly.
Cons
Programmers must work in pairs, which is difficult for some people. No up-front “detailed design” occurs, which can result in more redesign effort in the long term. The business champion attached to the project full time can potentially become a single point of failure for the project and a major source of stress for a team.
Joint application design (JAD)

Pros
Captures the voice of the customer by involving them in the design and development of the application through a series of collaborative workshops called JAD sessions.
Cons
The client may create an unrealistic product vision and request extensive gold-plating, leading a team to over- or under-develop functionality.
Lean software development (LD)

Pros
Creates minimalist solutions (i.e., needs determine technology) and delivers less functionality earlier; per the policy that 80% today is better than 100% tomorrow.
Cons
Product may lose its competitive edge because of insufficient core functionality and may exhibit poor overall quality.
Rapid application development (RAD)

Pros
Promotes strong collaborative atmosphere and dynamic gathering of requirements. Business owner actively participates in prototyping, writing test cases and performing unit testing.
Cons
Dependence on strong cohesive teams and individual commitment to the project. Decision making relies on the feature functionality team and a communal decision-making process with lesser degree of centralized PM and engineering authority.
Scrum

Pros
Improved productivity in teams previously paralyzed by heavy “process”, ability to prioritize work, use of backlog for completing items in a series of short iterations or sprints, daily measured progress and communications.
Cons
Reliance on facilitation by a master who may lack the political skills to remove impediments and deliver the sprint goal. Due to relying on self-organizing teams and rejecting traditional centralized "process control", internal power struggles can paralyze a team.



Table 1: Pros and Cons of various RAD types

Reference:
http://en.wikipedia.org/wiki/Rapid_application_development

RAD GAME TOOLS      
·        RAD Game Tools is privately-held company owned by Jeff Roberts and Mitch Soule based in Kirkland, Washington that develops video and computer game software technologies which are licensed primarily by video game companies.
·        Unusual among middleware companies as they generally hire one specific person to write, document and support each single product.

References:
http://en.wikipedia.org/wiki/RAD_Game_Tools

0 comments:

Post a Comment