1 / 24

Rapid Application Development

Rapid Application Development. Presented by: Instructed by: John Rohac Farers Almari , Muteb Alzaidi , and Shafi Alassmi. Overview. What is RAD ? Characteristics of RAD ? The Origin of RAD? Traditional SDLC vs. RAD Model The Principle of Rapid Application Development

kizzy
Download Presentation

Rapid Application Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Rapid Application Development Presented by: Instructed by: John Rohac Farers Almari, MutebAlzaidi, and ShafiAlassmi

  2. Overview • What is RAD ? • Characteristics of RAD ? • The Origin of RAD? • Traditional SDLC vs. RAD Model • The Principle of Rapid Application Development • RAD Methodology • Application of RAD • How does RAD work? • RAD and Project Management and its issues • The relative effectiveness of RAD • Implications with RAD methodologies • RAD compromising • RAD project types • Joint Application Design • Rapidity of Development • Incremental prototyping • RAD advantages vs. disadvantages • Appropriate projects for RAD • Summary

  3. Introduction • A methodology • involves iterative development • the construction of prototypes • the use of computer-aided software engineering (CASE) tools • capture details about requirements and generate code • A component paradigm at design time • provide abstraction from low-level coding

  4. RAD Key Characteristics • Visually oriented development • An infrastructure • Guided development • Reduced coding • Focus on maintenance as well as creation

  5. The Origin of RAD • Barry Boehm, Chief SW Engineer at TRW was introducing his spiral which is risk driving as converses to code driving • Processor modeling • a software prototyping as type of reducing risk • The development of his spiral separate the product in levels while performing risk analyses, • prototyping at the same step at each levels • Tom Gilb is similarly made progressive Life Cycle is based on an evolutionary prototyping rationale, • where the prototype is risen and refined into the final product

  6. The Origin of RAD (CON`T) • The work of Boehm and Gilb paved the way for the formulation of a new methodology • called Rapid Iterative Production Prototyping (RIPP) at DuPont in the mid-to-late 1980s • James Martin extended the work done at the DuPont and elsewhere into larger more formalized process, • later called Rapid Application Development (RAD) • Between 1970 and 1990 most system took place in an environment which (though complex) was far simpler technically than the world offered to us by modern technology architectures. • Those problems were relatively simple which is solved by those system and personnel who worked on those systems were entirely technical personnel

  7. RAD Diagram

  8. RAD Methodology • Developers who involved through RAD lifecycle ensure: • the scope has clearly identified the organization requirements and expectations • The focus of RAD is increasing speed and lowering costs of projects. Essential elements of RAD are the following: • Increase effectiveness of techniques used in the project by combining the best techniques available and setting the sequence of tasks • Uses prototypes that are transformed into the final product • Review design and gather requirement via workshops • Choosing the appropriate CASE tools to help with the prototyping, modeling, and code usability and generation

  9. The Principle of Rapid Application Development • `In certain situations, a usable 80% solution can be produced in 20% of the time that would have been required to produce a total solution` "Walter Maner”

  10. The Application of RAD • RAD introduces six stages to correctly apply the methodology correctly • Pre-Project Activities process • Requirements Planning • User Design • Construction • Implementation • Post-Project Activities

  11. RAD Operational Procedures • Best known are probably the Dynamic SystemsDevelopment Method (DSDM), and eXtreme Programming (XP) • DSDM is based on 9 key principles: • Active user involvement • The team (of developers and users) is empowered to make decisions • The team focuses on frequent deliveries • There’s a focus on “fitness for purpose” • Iterative and incremental development is used to converge on a solution • Changes are reversible • High-level requirements are “base-lined” (frozen) • The system is tested continuously by both users and developers • Collaboration and cooperation between all stakeholders is essential

  12. RAD and Project Management • When using RAD, • The recommended project management approach is to encourage using interaction via prototypes as the project is progressing • According to Patricia A. Mcquad, RAD projects components consist project management, design, prototyping, development, control of requirements changes, risk management, deployment, and user training

  13. Project Management Issues with RAD • Improper communications between management, RAD team, and clients • if roles are not defined clearly team members may not know who to refer to when a decision must be made • or even worse they may refer to the wrong person • As the components of a RAD project includes some project management components it is clear that some issues would arise especially since RAD projects includes • People and management, technology, process, and product • Critics emphasize that project managers should empower their RAD teams • so they can take decisions without halting the project to hear back from the management especially regarding the design

  14. The relative effectiveness of RAD • The need for faster iterations through the phases of the SDLC • This need coupled with the growing utilization of open source frameworks and products in core commercial development • All flavors of RAD have the potential for providing a good framework for faster product development with improved code quality, • but successful implementation and benefits often hinge on project type, schedule, software release cycle and corporate culture

  15. Implications with RAD methodologies • Organizations adopt rapid methodologies with a care must be taken to avoid role and responsibilities confusion and communication breakdown within the development team, and between the team and the client • Especially in cases when the client absent and cannot participate with authority in the development process, the system analyst should be endowed with this authority on behalf of the client to ensure appropriate prioritization of non functional requirements

  16. RAD compromising • RAD is a development methodology that creates an application, visual dial-plan standard, or other application-based project more quickly by employing techniques aimed at speeding application development, • such as the use of fewer formal methodologies and reuse of software components. • In exchange for faster development, some compromises in functionality and performance may be realized, • but more importantly, however, that this exchange does not result in compromises being made in the selection and specification of the security controls necessary to provide adequate security for the information and the information system, the mission function they support.

  17. RAD project types • In an intensive RAD project • Combined team of users and developers work together • For relatively short periods • In a controlled environment where external distractions are kept to a minimum • To deliver a complete working element of the final system • In a phased RAD project • The timescales are slightly more relaxed • the project can be of several months' duration • There is less emphasis on continuous co-location between users and developers • with requirements and design information being elicited and refined through intensive workshops involving users and developers (so-called joint application development workshops • The project is planned and managed in terms of the development • demonstration (to the users) • refinement of a series of incremental prototypes

  18. Joint Application Design • The principles of joint application design (JAD) include • Dedicated teams • Developers and users work together in small teams • Most successful teams of members are good with communication skills combined with domain knowledge • Users with detailed business knowledge • Experienced developers with appropriate techniques and tools skills • JAD workshops • These workshops are attended by customer representations • The workshop is administered by a facilitator • All project issues are identified, reviewed, and refined • Any political issues are identified and resolved and • The views of users and developers are given equal weight • Clean rooms • locations away from the customer and developer sites • location should be selected and equipped with appropriate support facilities

  19. Rapidity of Development • RAD timescales • RAD projects can be characterized as being of relatively short duration • The RAD philosophy is that projects taking more than six months to complete are likely to have been overtaken by developments in the business • more focused development timescales also mean that projects are less likely to suffer from time and cost overruns • Time boxing • a project management technique in which a series of development and testing tasks are planned to be completed in a fixed time period or time box • the deadline for the time box is set in stone and cannot be moved • even if it is clear that some aspect of the system functionality planned to be implemented within that time box cannot be completed

  20. Incremental prototyping • The development of incremental prototypes is core to the success of RAD • From a quality perspective, prototyping has two key benefits • Customer representatives are exposed to early versions of the system and can provide immediate feedback on the suitability of the system to the developers. • The prototypes can be used to manage the expectations of the customer in terms of the final delivered system, ensuring that there are no last-minute surprises for the customer that might result in potentially costly rework to the system • Prototyping can be successfully used throughout the project from requirements elicitation, design, implementation, testing, and on through to delivery.

  21. RAD Advantages • RAD increases the speed of application development • by using CASE tools that generates code quickly from requirements • RAD increases quality • by involving users in the design stage to meet the users’ needs and lower maintenance cost • RAD introduce strong collaborative environment to collect project requirements • by including users in designing, and testing • Minimize scope creep and feature creep • by making development in short iterations • RAD gives an early view at the end product and how it would look like.

  22. RAD Disadvantages • RAD reduces scalability • because RAD focus on development of a prototype that is iteratively developed into a full system; • which makes each iteration development acts as mini-software by itself. • RAD reduces features • because of the time constraint that forces features to be developed later to be able to develop the application requirements on time • Due to the push of features to later iterations causes delays in final iterations • Due to the speed of devilment; documentations lack which requires huge amount of time “post-project documentation” • Product may lose the competition with other products • because it does not include sufficient main functionalities • It is not really cheap if the cost of tools, such as CASE tools, and skillful people are kept in mind

  23. Appropriate Projects for RAD • Project with well defined scope • project with small scope or where tasks can be broken into smaller pieces • Project team is small (from 2-6) people • Team members have the experience and skills with technologies used • Project teams where empowerment is enforced • Projects where clients, decisions makers, agree to the use of RAD • Projects where the time of delivery is more important than full features being delivered

  24. Summery • Bullet point • Bullet point • Sub Bullet

More Related