SlideShare una empresa de Scribd logo
1 de 23
A 1986 Movie about a young boy going against the man to win it all in a
BMX trick competition
Rad
RAPID APPLICATION
DEVELOPMENT
joel@mediotype.comBy Joel Hart
definition
 “a software development process that allows usable systems to be built
in as little as 60-90 days, often with some compromises”
 “a software development methodology that uses minimal planning in favor of rapid
prototyping.”
Ressons to use R.A.D.
 Bad Reasons:
 To prevent cost overruns
(RAD needs a team already
disciplined in cost management)
 to prevent runaway schedules
(RAD needs a team already
disciplined in time management)
 Good Reasons:
 to converge early toward a design
acceptable to the customer
and feasible for the developers
 to limit a project's exposure to the
forces of change
 to save development time, possibly
at the expense of economy or
product quality
Principals of R.A.D.
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.
In certain situations, the business requirements for a system can
be fully satisfied even if some of its operational requirements
are not satisfied.
In certain situations, the acceptability of a system can be
assessed against the agreed minimum useful set of requirements
rather than all requirements.
Problems? With Development Projects?
NEVER!
Problems addressed
With conventional methods, there is a long delay before the
customer gets to see any results.
With conventional methods, development can take so long that
the
customer's business has fundamentally changed by the time the
system is ready for use.
With conventional methods, there is nothing until 100% of the
process is finished, then 100% of the software is delivered.
Iteration must be used in such a way that the development process
converges toward an acceptable business solution.
RAD USES ITERATIVE, EVOLUTIONARY PROTOTYPING
What’s SDLC?
Software Development Lifecycle
R.A.D. SDLC
Development teams must be empowered to make some decisions
traditionally left to management.
Step 1
 JAD (Joint Application Development)
MEETING
High-level end-users and designers meet in a
brainstorming
session to generate a rough list of initial
requirements.
• Developers talk and listen
• Customers talk and listen
"Fitness for a business purpose" must be the criterion for
acceptance of deliverables. – Sun Microsystems
Step 2
 ITERATE UNTIL DONE
Developers build / evolve prototype based on current
requirements.
 Designers review the prototype.
 Customers try out the prototype, evolve their requirements.
 FOCUS GROUP meeting
Customers and developers meet to review product together,
refine requirements, generate change requests.
 Developers listen.
 Customers talk.
 Requirements and change requests are "timeboxed".
 Changes that cannot be accommodated within existing
timeboxes are eliminated.
 If necessary to stay "in the box," secondary requirements
are dropped.
All constituencies that can impact application requirements must
have representation on the development team throughout the
process.
Prototyping must incorporate evolving requirements quickly, in
real time, and gain consensus early.
 Iterations require between 1 day and 3 weeks.
At some stage, exploratory prototypes may evolve
into
operational prototypes.
Focus Group Sessions
last about 2 hours
 are led by an experienced facilitator, who keeps the
group "on focus"
 by having clear goals regarding the kind of
information that needs to be elicited
 by preparing an issue-oriented agenda in advance of
the meeting
 by ensuring that adequate discussion is directed
toward each issue
 by ensuring everyone has an adequate opportunity to
participate
 are followed by a report from the facilitator
Customers, developers and management must accept informal
deliverables.
R.A.D. ! But When ???
 RAD TENDS TO WORK WHEN
The application will be run standalone.
Major use can be made of preexisting class
libraries (APIs).
Performance is not critical.
Product distribution will be narrow (in-house or
vertical
market).
Project scope (macro-schedule) is constrained.
Reliability is not critical.
System can be split into several independent
modules.
The product is aimed at a highly specialized IS
(information
systems) market.
The project has strong micro-schedule
constraints (timeboxes).
The required technology is more than a year
old.
 RAD TENDS TO FAIL WHEN
Application must interoperate with existing
programs.
Few plug-in components are available.
Optimal performance is required.
Product development can't take advantage of
high-end IS tools
(e.g., 4GLs).
Product distribution will be wide (horizontal or
mass market).
RAD becomes QADAD (Quick And Dirty
Application Development).
RAD methods are used to build operating
systems (reliability
target too high for RAD), computer games
(performance target
too high for RAD).
Technical risks are high due to use of
"bleeding" edge
technology.
The product is mission- or life-critical.
The system cannot be modularized (defeats
parallelism).
Huh? It sounds a lot like Agile!
R.A.D. Is Not Agile
10 Reasons R.A.D. != Agile
 Agile embraces the concept of contract first development required for either Object Orientated or Service
Orientated architecture – RAD did not acknowledge the realities of designing to interfaces, partially because it
preceded the widespread use of these techniques.
 Agile does not allow prototypes – RAD was based on designing prototypes and then reengineering them into
production quality code (or not as was often the case).
 Agile projects logically break down the solution into features – the RAD approach did not do this; instead
developers would focus on delivering all the features of the application by first doing it badly and then improving
on the code base overtime..
 Agile teams are democratic. This means that the whole team has a say in the architecture of the solution, but the
team is still lead by an architect. In contrast, RAD solutions were not based around the concept of a common
architecture and thus individuals worked in silos.
 Agile development team members are self managing. In contrast, RAD teams are managed by a project
manager. Note do not confuse the term management with leadership.
 Agile engineering practices (such as test driven development, and continuous integration) are stringent and
thorough, ensuring that problems in the design or the code base are highlighted and fixed as quickly as
possible, and that the team has the confidence to change the code base without breaking the product. None of
these concepts were used in RAD projects.
 Agile teams focus on team communication and designing as a group. RAD teams tend to work as
individuals, resulting in unmaintainable and poorly designed code.
 Agile teams only demonstrate completed work. RAD teams tend to demonstrate screen mockups, or
prototypes, which lead the product owner to question why they now need to wait another six months for the
completed product.
 Agile teams are based around disciplined individuals that remain continually focused on delivering real software.
RAD teams lack discipline, simply because there was no structure to either the process, architecture or
engineering practices.
 Agile teams are inclusive of testers and analysts and user experience specialists. RAD teams did not traditionally
include non technical team members.
What makes the most sense?
Well what do I do now?
Here are a few key differences between RAD and Agile:- RAD focused more on rapid prototyping and incremental delivery, while Agile emphasizes incremental and iterative development of production-ready software. - RAD projects tended to lack discipline in areas like architecture, engineering practices, and documentation. Agile promotes disciplined practices like test-driven development, continuous integration, etc.- RAD teams were often siloed and lacked communication/collaboration. Agile emphasizes collaboration, self-organizing cross-functional teams.- RAD delivered prototypes and mockups, while Agile only delivers completed working software in short iterations.- RAD was more manager-driven while Agile promotes self-organizing, self
Here are a few key differences between RAD and Agile:- RAD focused more on rapid prototyping and incremental delivery, while Agile emphasizes incremental and iterative development of production-ready software. - RAD projects tended to lack discipline in areas like architecture, engineering practices, and documentation. Agile promotes disciplined practices like test-driven development, continuous integration, etc.- RAD teams were often siloed and lacked communication/collaboration. Agile emphasizes collaboration, self-organizing cross-functional teams.- RAD delivered prototypes and mockups, while Agile only delivers completed working software in short iterations.- RAD was more manager-driven while Agile promotes self-organizing, self
Here are a few key differences between RAD and Agile:- RAD focused more on rapid prototyping and incremental delivery, while Agile emphasizes incremental and iterative development of production-ready software. - RAD projects tended to lack discipline in areas like architecture, engineering practices, and documentation. Agile promotes disciplined practices like test-driven development, continuous integration, etc.- RAD teams were often siloed and lacked communication/collaboration. Agile emphasizes collaboration, self-organizing cross-functional teams.- RAD delivered prototypes and mockups, while Agile only delivers completed working software in short iterations.- RAD was more manager-driven while Agile promotes self-organizing, self

Más contenido relacionado

La actualidad más candente

Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum MethodologyRajeev Misra
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified ProcessKumar
 
Agile software development
Agile software developmentAgile software development
Agile software developmentRajesh Piryani
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritizationSyed Zaid Irshad
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Mohamed Sami El-Tahawy
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design IntroductionUsman Khan
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSuresh Koujalagi
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSAshita Agrawal
 
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesBalaji Sathram
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLCAdeel Rasheed
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLESwarnima Tiwari
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)kunj desai
 

La actualidad más candente (20)

Rad model
Rad modelRad model
Rad model
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Requirements prioritization
Requirements prioritizationRequirements prioritization
Requirements prioritization
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software Architecture and Design Introduction
Software Architecture and Design IntroductionSoftware Architecture and Design Introduction
Software Architecture and Design Introduction
 
SDLC, Iterative Model
SDLC, Iterative ModelSDLC, Iterative Model
SDLC, Iterative Model
 
Agile sdlc
Agile sdlcAgile sdlc
Agile sdlc
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
INTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMSINTRODUCTION TO UML DIAGRAMS
INTRODUCTION TO UML DIAGRAMS
 
Sdlc
SdlcSdlc
Sdlc
 
SDLC-Phases
SDLC-PhasesSDLC-Phases
SDLC-Phases
 
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile MethodologiesAgile-overview: Agile Manifesto, Agile principles and Agile Methodologies
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 
Unified process Model
Unified process ModelUnified process Model
Unified process Model
 
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 ppt on sOFTWARE DEVELOPMENT LIFE CYCLE ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
ppt on sOFTWARE DEVELOPMENT LIFE CYCLE
 
Requirement specification (SRS)
Requirement specification (SRS)Requirement specification (SRS)
Requirement specification (SRS)
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 

Destacado

RAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software EngineeringRAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software EngineeringUmeed Charity
 
Rapid Application Development Simplified
Rapid Application Development SimplifiedRapid Application Development Simplified
Rapid Application Development SimplifiedSanjay Patel
 
Rapid application development model
Rapid application development modelRapid application development model
Rapid application development modelVaibhav Dash
 
Rapid Application Development [RaD]
Rapid Application Development [RaD]Rapid Application Development [RaD]
Rapid Application Development [RaD]Nick Harewood
 
Prototype model
Prototype modelPrototype model
Prototype modelshuisharma
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentationSayedFarhan110
 
Software Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & AgileSoftware Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & AgileFakrudin Abu Bakar
 
Incremental model presentation
Incremental model presentationIncremental model presentation
Incremental model presentationNiat Murad
 
Rapid application development
Rapid application developmentRapid application development
Rapid application developmentLombe Kapaya
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanationUmar Farooq
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt finalshiva krishna
 
Kelompok 8 rapid application development (rad)
Kelompok 8   rapid application development (rad)Kelompok 8   rapid application development (rad)
Kelompok 8 rapid application development (rad)Yudha Arif Budiman
 

Destacado (20)

RAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software EngineeringRAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software Engineering
 
Rapid Application Development Simplified
Rapid Application Development SimplifiedRapid Application Development Simplified
Rapid Application Development Simplified
 
Rapid application developmet
Rapid application developmetRapid application developmet
Rapid application developmet
 
Rapid application development model
Rapid application development modelRapid application development model
Rapid application development model
 
Rapid Application Development [RaD]
Rapid Application Development [RaD]Rapid Application Development [RaD]
Rapid Application Development [RaD]
 
Prototype model
Prototype modelPrototype model
Prototype model
 
Spiral model presentation
Spiral model presentationSpiral model presentation
Spiral model presentation
 
Software Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & AgileSoftware Development Model - Waterfall, RAD & Agile
Software Development Model - Waterfall, RAD & Agile
 
Incremental model presentation
Incremental model presentationIncremental model presentation
Incremental model presentation
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Rapid application development
Rapid application developmentRapid application development
Rapid application development
 
Incremental model
Incremental modelIncremental model
Incremental model
 
PROTOTYPING
PROTOTYPINGPROTOTYPING
PROTOTYPING
 
Spiral model explanation
Spiral model  explanationSpiral model  explanation
Spiral model explanation
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 
Wpm lecture#2
Wpm lecture#2Wpm lecture#2
Wpm lecture#2
 
Kelompok 8 rapid application development (rad)
Kelompok 8   rapid application development (rad)Kelompok 8   rapid application development (rad)
Kelompok 8 rapid application development (rad)
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Prototype Model
Prototype ModelPrototype Model
Prototype Model
 

Similar a Here are a few key differences between RAD and Agile:- RAD focused more on rapid prototyping and incremental delivery, while Agile emphasizes incremental and iterative development of production-ready software. - RAD projects tended to lack discipline in areas like architecture, engineering practices, and documentation. Agile promotes disciplined practices like test-driven development, continuous integration, etc.- RAD teams were often siloed and lacked communication/collaboration. Agile emphasizes collaboration, self-organizing cross-functional teams.- RAD delivered prototypes and mockups, while Agile only delivers completed working software in short iterations.- RAD was more manager-driven while Agile promotes self-organizing, self

What is rad model
What is rad modelWhat is rad model
What is rad modelrjasad
 
What is Rapid Application Development
What is Rapid Application DevelopmentWhat is Rapid Application Development
What is Rapid Application DevelopmentOutSystems
 
System Development
System DevelopmentSystem Development
System Developmentintuitiv.de
 
What Is Rapid Application Development? Everything To Know
What Is Rapid Application Development? Everything To KnowWhat Is Rapid Application Development? Everything To Know
What Is Rapid Application Development? Everything To KnowPolyxer Systems
 
SDLC RAD model
SDLC RAD modelSDLC RAD model
SDLC RAD modelJay Sharma
 
What Is Rapid Application Development Everything To Know
What Is Rapid Application Development Everything To KnowWhat Is Rapid Application Development Everything To Know
What Is Rapid Application Development Everything To KnowPolyxer Systems
 
Iterative and Incremental Development (RAD)
Iterative  and Incremental Development (RAD)Iterative  and Incremental Development (RAD)
Iterative and Incremental Development (RAD)Roshan Karunarathna
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Software Development Life Cycle.
Software Development Life Cycle.Software Development Life Cycle.
Software Development Life Cycle.mailrenuka
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashedlivgeni
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle modelsWasif Khan
 
Yii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YIIYii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YIIGeorge-Leonard Chetreanu
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and MethodsRiant Soft
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfOmethSanchitha
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsNicole Gomez
 
A Basic Introduction to Creating a Software Requirements Specification
A Basic Introduction to Creating a Software Requirements SpecificationA Basic Introduction to Creating a Software Requirements Specification
A Basic Introduction to Creating a Software Requirements SpecificationQuekelsBaro
 

Similar a Here are a few key differences between RAD and Agile:- RAD focused more on rapid prototyping and incremental delivery, while Agile emphasizes incremental and iterative development of production-ready software. - RAD projects tended to lack discipline in areas like architecture, engineering practices, and documentation. Agile promotes disciplined practices like test-driven development, continuous integration, etc.- RAD teams were often siloed and lacked communication/collaboration. Agile emphasizes collaboration, self-organizing cross-functional teams.- RAD delivered prototypes and mockups, while Agile only delivers completed working software in short iterations.- RAD was more manager-driven while Agile promotes self-organizing, self (20)

rad.pptx
rad.pptxrad.pptx
rad.pptx
 
What is rad model
What is rad modelWhat is rad model
What is rad model
 
What is Rapid Application Development
What is Rapid Application DevelopmentWhat is Rapid Application Development
What is Rapid Application Development
 
System Development
System DevelopmentSystem Development
System Development
 
What is jad_session
What is jad_sessionWhat is jad_session
What is jad_session
 
What Is Rapid Application Development? Everything To Know
What Is Rapid Application Development? Everything To KnowWhat Is Rapid Application Development? Everything To Know
What Is Rapid Application Development? Everything To Know
 
SDLC RAD model
SDLC RAD modelSDLC RAD model
SDLC RAD model
 
Software Development Life Cycle Part II
Software Development Life Cycle Part IISoftware Development Life Cycle Part II
Software Development Life Cycle Part II
 
What Is Rapid Application Development Everything To Know
What Is Rapid Application Development Everything To KnowWhat Is Rapid Application Development Everything To Know
What Is Rapid Application Development Everything To Know
 
Iterative and Incremental Development (RAD)
Iterative  and Incremental Development (RAD)Iterative  and Incremental Development (RAD)
Iterative and Incremental Development (RAD)
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Agile Dev. II
Agile Dev. IIAgile Dev. II
Agile Dev. II
 
Software Development Life Cycle.
Software Development Life Cycle.Software Development Life Cycle.
Software Development Life Cycle.
 
Agile Development unleashed
Agile Development unleashedAgile Development unleashed
Agile Development unleashed
 
Software life cycle models
Software life cycle modelsSoftware life cycle models
Software life cycle models
 
Yii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YIIYii Framework in the RAD context + Mashup demo built on YII
Yii Framework in the RAD context + Mashup demo built on YII
 
List of Software Development Model and Methods
List of Software Development Model and MethodsList of Software Development Model and Methods
List of Software Development Model and Methods
 
Plagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdfPlagiarism Report SDLC 1.pdf
Plagiarism Report SDLC 1.pdf
 
Different Methodologies Used By Programming Teams
Different Methodologies Used By Programming TeamsDifferent Methodologies Used By Programming Teams
Different Methodologies Used By Programming Teams
 
A Basic Introduction to Creating a Software Requirements Specification
A Basic Introduction to Creating a Software Requirements SpecificationA Basic Introduction to Creating a Software Requirements Specification
A Basic Introduction to Creating a Software Requirements Specification
 

Último

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Último (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

Here are a few key differences between RAD and Agile:- RAD focused more on rapid prototyping and incremental delivery, while Agile emphasizes incremental and iterative development of production-ready software. - RAD projects tended to lack discipline in areas like architecture, engineering practices, and documentation. Agile promotes disciplined practices like test-driven development, continuous integration, etc.- RAD teams were often siloed and lacked communication/collaboration. Agile emphasizes collaboration, self-organizing cross-functional teams.- RAD delivered prototypes and mockups, while Agile only delivers completed working software in short iterations.- RAD was more manager-driven while Agile promotes self-organizing, self

  • 1. A 1986 Movie about a young boy going against the man to win it all in a BMX trick competition Rad
  • 3. definition  “a software development process that allows usable systems to be built in as little as 60-90 days, often with some compromises”  “a software development methodology that uses minimal planning in favor of rapid prototyping.”
  • 4. Ressons to use R.A.D.  Bad Reasons:  To prevent cost overruns (RAD needs a team already disciplined in cost management)  to prevent runaway schedules (RAD needs a team already disciplined in time management)  Good Reasons:  to converge early toward a design acceptable to the customer and feasible for the developers  to limit a project's exposure to the forces of change  to save development time, possibly at the expense of economy or product quality
  • 5. Principals of R.A.D. 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. In certain situations, the business requirements for a system can be fully satisfied even if some of its operational requirements are not satisfied. In certain situations, the acceptability of a system can be assessed against the agreed minimum useful set of requirements rather than all requirements.
  • 6. Problems? With Development Projects? NEVER! Problems addressed
  • 7. With conventional methods, there is a long delay before the customer gets to see any results.
  • 8. With conventional methods, development can take so long that the customer's business has fundamentally changed by the time the system is ready for use.
  • 9. With conventional methods, there is nothing until 100% of the process is finished, then 100% of the software is delivered. Iteration must be used in such a way that the development process converges toward an acceptable business solution.
  • 10. RAD USES ITERATIVE, EVOLUTIONARY PROTOTYPING
  • 11. What’s SDLC? Software Development Lifecycle R.A.D. SDLC Development teams must be empowered to make some decisions traditionally left to management.
  • 12. Step 1  JAD (Joint Application Development) MEETING High-level end-users and designers meet in a brainstorming session to generate a rough list of initial requirements. • Developers talk and listen • Customers talk and listen "Fitness for a business purpose" must be the criterion for acceptance of deliverables. – Sun Microsystems
  • 13. Step 2  ITERATE UNTIL DONE Developers build / evolve prototype based on current requirements.  Designers review the prototype.  Customers try out the prototype, evolve their requirements.  FOCUS GROUP meeting Customers and developers meet to review product together, refine requirements, generate change requests.  Developers listen.  Customers talk.  Requirements and change requests are "timeboxed".  Changes that cannot be accommodated within existing timeboxes are eliminated.  If necessary to stay "in the box," secondary requirements are dropped. All constituencies that can impact application requirements must have representation on the development team throughout the process.
  • 14. Prototyping must incorporate evolving requirements quickly, in real time, and gain consensus early.  Iterations require between 1 day and 3 weeks. At some stage, exploratory prototypes may evolve into operational prototypes. Focus Group Sessions last about 2 hours  are led by an experienced facilitator, who keeps the group "on focus"  by having clear goals regarding the kind of information that needs to be elicited  by preparing an issue-oriented agenda in advance of the meeting  by ensuring that adequate discussion is directed toward each issue  by ensuring everyone has an adequate opportunity to participate  are followed by a report from the facilitator Customers, developers and management must accept informal deliverables.
  • 15. R.A.D. ! But When ???  RAD TENDS TO WORK WHEN The application will be run standalone. Major use can be made of preexisting class libraries (APIs). Performance is not critical. Product distribution will be narrow (in-house or vertical market). Project scope (macro-schedule) is constrained. Reliability is not critical. System can be split into several independent modules. The product is aimed at a highly specialized IS (information systems) market. The project has strong micro-schedule constraints (timeboxes). The required technology is more than a year old.  RAD TENDS TO FAIL WHEN Application must interoperate with existing programs. Few plug-in components are available. Optimal performance is required. Product development can't take advantage of high-end IS tools (e.g., 4GLs). Product distribution will be wide (horizontal or mass market). RAD becomes QADAD (Quick And Dirty Application Development). RAD methods are used to build operating systems (reliability target too high for RAD), computer games (performance target too high for RAD). Technical risks are high due to use of "bleeding" edge technology. The product is mission- or life-critical. The system cannot be modularized (defeats parallelism).
  • 16.
  • 17. Huh? It sounds a lot like Agile! R.A.D. Is Not Agile
  • 18. 10 Reasons R.A.D. != Agile  Agile embraces the concept of contract first development required for either Object Orientated or Service Orientated architecture – RAD did not acknowledge the realities of designing to interfaces, partially because it preceded the widespread use of these techniques.  Agile does not allow prototypes – RAD was based on designing prototypes and then reengineering them into production quality code (or not as was often the case).  Agile projects logically break down the solution into features – the RAD approach did not do this; instead developers would focus on delivering all the features of the application by first doing it badly and then improving on the code base overtime..  Agile teams are democratic. This means that the whole team has a say in the architecture of the solution, but the team is still lead by an architect. In contrast, RAD solutions were not based around the concept of a common architecture and thus individuals worked in silos.  Agile development team members are self managing. In contrast, RAD teams are managed by a project manager. Note do not confuse the term management with leadership.  Agile engineering practices (such as test driven development, and continuous integration) are stringent and thorough, ensuring that problems in the design or the code base are highlighted and fixed as quickly as possible, and that the team has the confidence to change the code base without breaking the product. None of these concepts were used in RAD projects.  Agile teams focus on team communication and designing as a group. RAD teams tend to work as individuals, resulting in unmaintainable and poorly designed code.  Agile teams only demonstrate completed work. RAD teams tend to demonstrate screen mockups, or prototypes, which lead the product owner to question why they now need to wait another six months for the completed product.  Agile teams are based around disciplined individuals that remain continually focused on delivering real software. RAD teams lack discipline, simply because there was no structure to either the process, architecture or engineering practices.  Agile teams are inclusive of testers and analysts and user experience specialists. RAD teams did not traditionally include non technical team members.
  • 19. What makes the most sense?
  • 20. Well what do I do now?

Notas del editor

  1. Jad = Joint Application Development meeting