Introduction to Rapid Application Developments PDF
Document Details
Uploaded by WellBredDecagon
Saegis Campus
Gayan Kaushalya
Tags
Related
- Business Analysis PDF
- Lecture 5 System Analysis and Design PDF
- Rapid Application Development (RAD) PDF
- Metodologías de desarrollo. Pruebas. Programas para control de versiones. Plataformas de desarrollo colaborativo de software (PDF)
- Fundamental of Software Engineering CSE 3205 PDF
- Chapter 2: System Development Life Cycle Models PDF
Summary
This document presents a lecture on Rapid Application Development (RAD), explaining its core principles and contrasting them with agile methodologies. The lecture also details a brief history of RAD and highlights the advantages and disadvantages of the approach, providing relevant examples. It also includes a listing of design and prototyping tools used in RAD.
Full Transcript
BIT 2022 Lecture 01 Introduction to Rapid Application Developments 2023-04-24 Bachelor of Information Technology...
BIT 2022 Lecture 01 Introduction to Rapid Application Developments 2023-04-24 Bachelor of Information Technology Department of Computing Faculty of Computing and Technology Saegis Campus Nugegoda 1 Gayan Kaushalya Saegis Campus What is Rapid Application Development? An 80s Baby Rapid application development, or RAD, was among the first development methods to challenge traditional waterfall development practices. Though often mistaken for a specific model, rapid application development is the idea that we benefit when we treat our software projects like clay, rather than steel. 2 Gayan Kaushalya Saegis Campus “Software is clay, not steel” - RAD 3 Gayan Kaushalya Saegis Campus A Coded Bridge? Software is a unique engineering structure because it is highly transient, unlike traditional engineering projects. Engineers cannot begin to build a bridge and change the design partway — that’s chaotic and costly. But a bridge built in software? Engineers can modify it daily. RAD favours rapid prototyping over costly planning 4 Gayan Kaushalya Saegis Campus A Brief History of RAD - In the 1970s... Humanity began to want software. Software projects took months of laborious planning and even more time in development — just like traditional engineering projects. Software architects worked with business and IT management to draft functional requirements, then spent countless hours defining them in spec sheets. 5 Gayan Kaushalya Saegis Campus With Specifications Prepared... Development began. Anywhere from months to years later, business and IT stakeholders received their first glimpse of the software product they requested. And if it failed to meet their expectations, the engineers would refactor — the costs of which were often extraordinary. 6 Gayan Kaushalya Saegis Campus This Process... Which began with the blackboard, moved to spec sheet, then to software, and terminated at the user, is known colloquially as the waterfall approach. It mirrored traditional engineering assignments that worked with physical materials like wood, cement, and iron. Once set and paid for, changing these resources is a massive undertaking and prohibitively expensive. 7 Gayan Kaushalya Saegis Campus A Brief History of RAD - In the 1980s… Barry Boehm and James Martin recognized the obvious: software is not built of material resources. They understood software for what it was: infinitely and affordably malleable. Boehm and Martin took advantage of software’s inherent pliability to design brand new development models: the Spiral Model and the James Martin RAD model. 8 Gayan Kaushalya Saegis Campus Both Models Evolved To take on other forms which ultimately acted as precursors to the Agile Method. Though often used interchangeably, as if they mean the same thing, RAD and agile are quite different. 9 Gayan Kaushalya Saegis Campus RAD vs Agile Rapid application development is not only thought of as interchangeable with agile, but also frequently directly contrasted with it. Unfortunately, it’s more complicated than that. RAD is a forbear of agile, but agile encompasses far more than a development model. It more closely resembles a philosophy than a methodology. RAD is a methodology, Agile is a philosophy 10 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 1. “Customer satisfaction by early and continuous This is a core RAD principle. delivery of valuable software.” RAD is a methodology, Agile is a philosophy 11 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 2. “Welcome changing requirements, even in Also found in RAD practice late development.” RAD is a methodology, Agile is a philosophy 12 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 3. “Working software is Specific time-frames are delivered frequently not recommended by (weeks rather than RAD, though speed is clearly emphasized. months).” RAD is a methodology, Agile is a philosophy 13 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 4. “Close, daily No direct equivalent in cooperation between RAD, but feedback from business people and end-users is critical to the RAD process. developers.” 14 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 5. “Projects are built RAD has no opinion on the around motivated makeup of individual individuals, who should team members. be trusted.” 15 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 6. “Face-to-face RAD has no opinion conversation is the best regarding locality of form of communication team members. (co-location).” 16 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 7. “Working software is RAD focuses on delivering the primary measure of working software as progress.” frequently as possible. 17 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 8. “Sustainable RAD offers no opinion development, able to regarding the pace of maintain a constant development other than “rapid.” pace” 18 Gayan Kaushalya Saegis Campus Agile Says......RAD Says RAD principles focus on functionality and user 9. “Continuous attention satisfaction. to technical excellence and good design” Quality of design and implementation are unnecessary, but ideal byproducts. 19 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 10. “Simplicity—the art Here again, RAD does not of maximizing the emphasize reduction of work, but proclaims that amount of work not RAD projects will require done—is essential” less work in the long term. 20 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 11. “Best architectures, requirements and RAD does not limit itself to designs emerge from a team structure. self-organizing teams.” 21 Gayan Kaushalya Saegis Campus Agile Says......RAD Says 12. “Regularly, the team reflects on how to Not necessary or inherent become more effective to RAD practices and adjusts accordingly.” 22 Gayan Kaushalya Saegis Campus RAD Methodology 23 Gayan Kaushalya Saegis Campus 1. Define Requirements A RAD project begins by defining a loose set of requirements. And they’re kept loose because RAD permits requirements to change at any point in the cycle. The client provides their vision for the product and comes to an agreement with developers on the initial requirements that satisfy that vision. 24 Gayan Kaushalya Saegis Campus 2. Prototype Developers demonstrate something to the client. This can be a prototype that satisfies all or only a portion of requirements (as in early-stage prototyping). This prototype may cut corners to reach a working state, and that’s acceptable. Most RAD approaches have a finalization stage at which developers pay down technical debts accrued by early prototypes. 25 Gayan Kaushalya Saegis Campus 4. Finalize Product Developers optimize their implementation to improve stability, maintainability and a third word ending in ‘- ility.’ Both Boehm’s Spiral Model and James Martin’s RAD Model make use of these four steps to help development teams reduce risk and build excellent products. But RAD has drawbacks as well... 26 Gayan Kaushalya Saegis Campus 27 Gayan Kaushalya Saegis Campus Speed VS Scale When a RAD project expands beyond a single team, the In the traditional waterfall approach, development cycle invariably clients invariably requested changes slows and muddles the after delivery. project’s direction. With RAD, projects are more likely to Simply put, it’s difficult to keep a finish on time and to the client’s large group of people on the satisfaction. same page when your story changes constantly. 28 Gayan Kaushalya Saegis Campus Cost VS Commitment In waterfall, IT risks building and fleshing out complex feature sets that clients In waterfall, clients focused on may choose to gut from the final their primary tasks while product. developers focused on theirs: building the product. The time spent building zombie features can never be recovered, and that In RAD, the prototyping cycles translates to sunk costs. RAD require developers and clients developers build the exact systems to commit to more frequent that clients require and nothing meetings. more. 29 Gayan Kaushalya Saegis Campus Developer Satisfaction VS Interface-Focus RAD motivates developers to find In waterfall, developers work in silos. And the perfect solution for clients. The when they finally present their product to an clients judge the solution only by unappreciative client, their ego takes a hit. what they can interact with—and often, that is merely a facade. In RAD, the client is there every step of the way. This gives developers the confidence As a consequence, some developers that upon delivery, their work is forego best back-end practices to appreciated. accelerate front-end development. 30 Gayan Kaushalya Saegis Campus Good RAD Projects A team building a RAD pacemaker will struggle Internal employee tools to collect user feedback Customer portals from the deceased. B2C applications Not so good RAD projects… Mission-critical software Flight controls Pacemakers… 31 Gayan Kaushalya Saegis Campus Design and Prototyping Tools - Tools Which Enable RAD A team building a RAD pacemaker will struggle The products in this category Tool to collect user Prototype feedback Requires help teams craft interactive Origami Studio Mobile from themacOS deceased. InVision Web, Mobile, Wearables macOS designs at impressive speeds. Webflow Web, Mobile Web And some tools on this list, like Mockplus Web, Mobile macOS, Windows Webflow, allow designers to Balsamiq Web, Mobile macOS, Windows export completed designs as Adobe XD Web, Mobile macOS, Windows Sketch Web, Mobile macOS functional cross-browser JustInMind Web, Mobile, Wearable macOS, Windows prototypes. Proto.io Web, Mobile, Wearable Web 32 Gayan Kaushalya Saegis Campus User Testing and Feedback Tools - Tools Which Enable RAD A team building a RAD pacemaker will struggle RAD methodology requires to collect user feedback frequent feedback from clients Tool from theBest Feedback For deceased. For InVision Web, Mobile Clients and end-users. And in modern Red Pen Web, Mobile Clients workflows, developers who Conjure Web Clients work offsite prefer to solicit Usability Sciences Web, Mobile End-Users feedback remotely rather than UserTesting Web, Mobile End-Users book travel and Validately Web End-Users UserBrain Web End-Users accommodations whenever they require input from clients. 33 Gayan Kaushalya Saegis Campus Rapid Development Tools - Tools Which Enable RAD A team building a RAD pacemaker will struggle If your team has strict Tool to collect user App Types feedback Tool Type technology requirements or a Salesforce AppCloud Web, Mobile from the deceased. No-Code, Low-Code limited skill set, it’s easier to Alpha Software Windows, Web, Mobile Low-Code Zoho Creator Web Low-Code stick with what they know. But if Appian Web, Mobile Low-Code you’re willing to consider a new WaveMaker Web, Mobile Low-Code approach to development, the Spring Desktop, Web, Mobile SDK Mendix Web, Mobile Low-Code tools in this category will Kony Web, Mobile Low-Code, SDK accelerate your production OutSystems Web, Mobile Low-Code, SDK cycle. 34 Gayan Kaushalya Saegis Campus 35 Lecturer Name Saegis Campus