sdlc prototyping cmmi 55615 rad boehm stiner uml ronell babok atdd ssadm semat swebok dsdm devops pmbok scrum bdd sqa agile weyuker sysml metamodeling kanban reenskaug basili danese yourdon haibt
the primary advantage of rapid application development (rad) is that
Rapid application development - wikipedia Rapid application development `` RAD tool '' and `` Rapid Application Development Tool '' redirect here . For development tools focused on making graphical user interfaces , see graphical user interface builder . Software development Core activities Processes Requirements Design Engineering Construction Testing Debugging Deployment Maintenance Paradigms and models Agile Cleanroom Incremental Prototyping Spiral V model Waterfall Methodologies and frameworks ASD DevOps DAD DSDM FDD IID Kanban Lean SD LeSS MDD MSF PSP RAD RUP SAFe Scrum SEMAT TSP UP XP Supporting disciplines Configuration management Documentation Software quality assurance ( SQA ) Project management User experience Practices ATDD BDD CCO CI CD DDD PP Stand - up TDD Tools Compiler Debugger Profiler GUI designer Modeling IDE Build automation Release automation Infrastructure as Code Testing Standards and Bodies of Knowledge BABOK CMMI IEEE standards ISO 9001 ISO / IEC standards PMBOK SWEBOK Glossaries Artificial intelligence Computer science Electrical and electronics engineering Rapid - application development ( RAD ) is both a general term , used to refer to adaptive software development approaches , as well as the name for James Martin 's approach to rapid development . In general , RAD approaches to software development put less emphasis on planning and more emphasis on an adaptive process . Prototypes are often used in addition to or sometimes even in place of design specifications . RAD is especially well suited for ( although not limited to ) developing software that is driven by user interface requirements . Graphical user interface builders are often called rapid application development tools . Other approaches to rapid development include the adaptive , agile , spiral , and unified models . Contents ( hide ) 1 History 2 The James Martin RAD method 3 Pros and cons of rapid application development 4 References 5 Further reading History ( edit ) Rapid application development was a response to plan - driven waterfall processes , developed in the 1970s and 1980s , such as the Structured Systems Analysis and Design Method ( SSADM ) . One of the problems with these methods is that they were based on a traditional engineering model used to design and build things like bridges and buildings . Software is an inherently different kind of artifact . Software can radically change the entire process used to solve a problem . As a result , knowledge gained from the development process itself can feed back to the requirements and design of the solution . Plan - driven approaches attempt to rigidly define the requirements , the solution , and the plan to implement it , and have a process that discourage changes . RAD approaches , on the other hand , recognize that software development is a knowledge intensive process and provide flexible processes that help take advantage of knowledge gained during the project to improve or adapt the solution . The first such RAD alternative was developed by Barry Boehm and was known as the spiral model . Boehm and other subsequent RAD approaches emphasized developing prototypes as well as or instead of rigorous design specifications . Prototypes had several advantages over traditional specifications : Risk reduction . A prototype could test some of the most difficult potential parts of the system early on in the life - cycle . This can provide valuable information as to the feasibility of a design and can prevent the team from pursuing solutions that turn out to be too complex or time consuming to implement . This benefit of finding problems earlier in the life - cycle rather than later was a key benefit of the RAD approach . The earlier a problem can be found the cheaper it is to address . Users are better at using and reacting than at creating specifications . In the waterfall model it was common for a user to sign off on a set of requirements but then when presented with an implemented system to suddenly realize that a given design lacked some critical features or was too complex . In general most users give much more useful feedback when they can experience a prototype of the running system rather than abstractly define what that system should be . Prototypes can be usable and can evolve into the completed product . One approach used in some RAD methods was to build the system as a series of prototypes that evolve from minimal functionality to moderately useful to the final completed system . The advantage of this besides the two advantages above was that the users could get useful business functionality much earlier in the process . Starting with the ideas of Barry Boehm and others , James Martin developed the rapid application development approach during the 1980s at IBM and finally formalized it by publishing a book in 1991 , Rapid Application Development . This has resulted in some confusion over the term RAD even among IT professionals . It is important to distinguish between RAD as a general alternative to the waterfall model and RAD as the specific method created by Martin . The Martin method was tailored toward knowledge intensive and UI intensive business systems . These ideas were further developed and improved upon by RAD pioneers like James Kerr and Richard Hunter , who together wrote the seminal book on the subject , Inside RAD , which followed the journey of a RAD project manager as he drove and refined the RAD Methodology in real - time on an actual RAD project . These practitioners , and those like them , helped RAD gain popularity as an alternative to traditional systems project life cycle approaches . The RAD approach also matured during the period of peak interest in business re-engineering . The idea of business process re-engineering was to radically rethink core business processes such as sales and customer support with the new capabilities of Information Technology in mind . RAD was often an essential part of larger business re engineering programs . The rapid prototyping approach of RAD was a key tool to help users and analysts `` think out of the box '' about innovative ways that technology might radically reinvent a core business process . The James Martin RAD method ( edit ) Phases in the James Martin approach to RAD The James Martin approach to RAD divides the process into four distinct phases : Requirements planning phase -- combines elements of the system planning and systems analysis phases of the Systems Development Life Cycle ( SDLC ) . Users , managers , and IT staff members discuss and agree on business needs , project scope , constraints , and system requirements . It ends when the team agrees on the key issues and obtains management authorization to continue . User design phase -- during this phase , users interact with systems analysts and develop models and prototypes that represent all system processes , inputs , and outputs . The RAD groups or subgroups typically use a combination of Joint Application Development ( JAD ) techniques and CASE tools to translate user needs into working models . User Design is a continuous interactive process that allows users to understand , modify , and eventually approve a working model of the system that meets their needs . Construction phase -- focuses on program and application development task similar to the SDLC . In RAD , however , users continue to participate and can still suggest changes or improvements as actual screens or reports are developed . Its tasks are programming and application development , coding , unit - integration and system testing . Cutover phase -- resembles the final tasks in the SDLC implementation phase , including data conversion , testing , changeover to the new system , and user training . Compared with traditional methods , the entire process is compressed . As a result , the new system is built , delivered , and placed in operation much sooner . Pros and cons of rapid application development ( edit ) In modern Information Technology environments , many systems are now built using some degree of Rapid Application Development ( not necessarily the James Martin approach ) . In addition to Martin 's method , Agile methods and the Rational Unified Process are often used for RAD development . The advantages of RAD include : Better quality . By having users interact with evolving prototypes the business functionality from a RAD project can often be much higher than that achieved via a waterfall model . The software can be more usable and has a better chance to focus on business problems that are critical to end users rather than technical problems of interest to developers . Risk control . Although much of the literature on RAD focuses on speed and user involvement a critical feature of RAD done correctly is risk mitigation . It 's worth remembering that Boehm initially characterized the spiral model as a risk based approach . A RAD approach can focus in early on the key risk factors and adjust to them based on empirical evidence collected in the early part of the process . E.g. , the complexity of prototyping some of the most complex parts of the system . More projects completed on time and within budget . By focusing on the development of incremental units the chances for catastrophic failures that have dogged large waterfall projects is reduced . In the Waterfall model it was common to come to a realization after six months or more of analysis and development that required a radical rethinking of the entire system . With RAD this kind of information can be discovered and acted upon earlier in the process . The disadvantages of RAD include : The risk of a new approach . For most IT shops RAD was a new approach that required experienced professionals to rethink the way they worked . Humans are virtually always averse to change and any project undertaken with new tools or methods will be more likely to fail the first time simply due to the requirement for the team to learn . Requires time of scarce resources . One thing virtually all approaches to RAD have in common is that there is much more interaction throughout the entire life - cycle between users and developers . In the waterfall model , users would define requirements and then mostly go away as developers created the system . In RAD users are involved from the beginning and through virtually the entire project . This requires that the business is willing to invest the time of application domain experts . The paradox is that the better the expert , the more they are familiar with their domain , the more they are required to actually run the business and it may be difficult to convince their supervisors to invest their time . Without such commitments RAD projects will not succeed . Less control . One of the advantages of RAD is that it provides a flexible adaptable process . The ideal is to be able to adapt quickly to both problems and opportunities . There is an inevitable trade - off between flexibility and control , more of one means less of the other . If a project ( e.g. life - critical software ) values control more than agility RAD is not appropriate . Poor design . The focus on prototypes can be taken too far in some cases resulting in a `` hack and test '' methodology where developers are constantly making minor changes to individual components and ignoring system architecture issues that could result in a better overall design . This can especially be an issue for methodologies such as Martin 's that focus so heavily on the user interface of the system . Lack of scalability . RAD typically focuses on small to medium - sized project teams . The other issues cited above ( less design and control ) present special challenges when using a RAD approach for very large scale systems . References ( edit ) Jump up ^ Brooks , Fred ( 1986 ) . Kugler , H.J. , ed . No Silver Bullet Essence and Accidents of Software Engineering ( PDF ) . Information Processing ' 86 . Elsevier Science Publishers B.V ( North - Holland ) . ISBN 0 - 444 - 70077 - 3 . Retrieved 2 July 2014 . ^ Jump up to : Boehm , Barry ( May 1988 ) . `` A Spiral Model of Software Development '' ( PDF ) . IEEE Computer . Retrieved 1 July 2014 . Jump up ^ Kerr , James M. ; Hunter , Richard ( 1993 ) . Inside RAD : How to Build a Fully Functional System in 90 Days or Less . McGraw - Hill . ISBN 0 - 07 - 034223 - 7 . Jump up ^ Drucker , Peter ( November 3 , 2009 ) . Post-Capitalist Society . Harper Collins e-books . ISBN 0887306209 . Jump up ^ Martin , James ( 1991 ) . Rapid Application Development . Macmillan . ISBN 0 - 02 - 376775 - 8 . Jump up ^ Martin , James ( 1991 ) . Rapid Application Development . Macmillan . pp. 81 -- 90 . ISBN 0 - 02 - 376775 - 8 . Jump up ^ Hotle , Matt ( April 13 -- 14 , 2010 ) . `` The Disintegration of AD : Putting it Back Together Again '' ( PDF ) . http://www.gartner.com.br . Enterprise Integration Summit , São Paulo , Brazil : Gartner Group . Retrieved 1 July 2014 . External link in website = ( help ) Jump up ^ Beck , Kent ( 2000 ) . Extreme Programming Explained . Addison Wesley . pp. 3 -- 7 . ISBN 0201616416 . Jump up ^ Gerber , Aurona ; Van Der Merwe , Alta ; Alberts , Ronell ( 16 -- 18 November 2007 ) . `` Practical Implications of Rapid Development Methodologies '' . Proceedings of the Computer Science and Information technology Education Conference , CSITEd - 2007 . Computer Science and IT Education Conference . Mauritius . pp. 233 -- 245 . ISBN 978 - 99903 - 87 - 47 - 6 . Retrieved 9 October 2016 . Jump up ^ Andrew Begel , Nachiappan Nagappan . `` Usage and Perceptions of Agile Software Development in an Industrial Context : An Exploratory Study , Microsoft Research '' ( PDF ) . Retrieved 2008 - 11 - 15 . Jump up ^ E.M. Maximilian and L. Williams . ( 2003 ) . `` Assessing Test - driven Development at IBM '' . Proceedings of International Conference of Software Engineering , Portland , OR , pp. 564 - 569 , 2003 . Jump up ^ M. Stephens , Rosenberg , D. ( 2003 ) . `` Extreme Programming Re factored : The Case Against XP '' . Apress , 2003 . Further reading ( edit ) Steve McConnell ( 1996 ) . Rapid Development : Taming Wild Software Schedules , Microsoft Press Books , ISBN 978 - 1 - 55615 - 900 - 8 Kerr , James M. ; Hunter , Richard ( 1993 ) . Inside RAD : How to Build a Fully Functional System in 90 Days or Less . McGraw - Hill . ISBN 0 - 07 - 034223 - 7 . Ellen Gottesdiener ( 1995 ) . `` RAD Realities : Beyond the Hype to How RAD Really Works '' Application Development Trends Ken Schwaber ( 1996 ) . Agile Project Management with Scrum , Microsoft Press Books , ISBN 978 - 0 - 7356 - 1993 - 7 Steve McConnell ( 2003 ) . Professional Software Development : Shorter Schedules , Higher Quality Products , More Successful Projects , Enhanced Careers , Addison - Wesley , ISBN 978 - 0 - 321 - 19367 - 4 Dean Leffingwell ( 2007 ) . Scaling Software Agility : Best Practices for Large Enterprises , Addison - Wesley Professional , ISBN 978 - 0 - 321 - 45819 - 3 Scott Stiner ( 2016 ) . Forbes List : `` Rapid Application Development ( RAD ) : A Smart , Quick And Vaulable Process For Software Develpers '' <Th_colspan="2"> hide Software engineering Fields Computer programming Requirements engineering Software deployment Software design Software maintenance Software testing Systems analysis Formal methods Concepts Data modeling Enterprise architecture Functional specification Modeling language Orthogonality Programming paradigm Software Software archaeology Software architecture Software configuration management Software development methodology Software development process Software quality Software quality assurance Software verification and validation Structured analysis Orientations Agile Aspect - oriented Object orientation Ontology Service orientation SDLC Models Developmental Agile EUP Executable UML Incremental model Iterative model Prototype model RAD UP Scrum Spiral model V - Model Waterfall model XP Other SPICE CMMI Data model ER model Function model Information model Metamodeling Object model Systems model View model Languages IDEF UML USL SysML Software engineers Victor Basili Kent Beck Grady Booch Fred Brooks Barry Boehm Peter Chen Danese Cooper Ward Cunningham Tom DeMarco Edsger W. Dijkstra Delores M. Etter Martin Fowler Adele Goldstine Margaret Hamilton C.A.R. Hoare Lois Haibt Mary Jean Harrold Grace Hopper Watts Humphrey Michael A. Jackson Ivar Jacobson Alan Kay Nancy Leveson Stephen J. Mellor Bertrand Meyer David Parnas Trygve Reenskaug Winston W. Royce James Rumbaugh Mary Shaw Peri Tarr Elaine Weyuker Niklaus Wirth Edward Yourdon Related fields Computer science Computer engineering Project management Risk management Systems engineering <Td_colspan="2"> Category Commons <Th_colspan="2"> hide Major fields of computer science <Td_colspan="2"> Note : This template roughly follows the 2012 ACM Computing Classification System . Hardware Printed circuit board Peripheral Integrated circuit Very - large - scale integration Energy consumption Electronic design automation Computer systems organization Computer architecture Embedded system Real - time computing Dependability Networks Network architecture Network protocol Network components Network scheduler Network performance evaluation Network service Software organization Interpreter Middleware Virtual machine Operating system Software quality Software notations and tools Programming paradigm Programming language Compiler Domain - specific language Modeling language Software framework Integrated development environment Software configuration management Software library Software repository Software development Software development process Requirements analysis Software design Software construction Software deployment Software maintenance Programming team Open - source model Theory of computation Model of computation Formal language Automata theory Computational complexity theory Logic Semantics Algorithms Algorithm design Analysis of algorithms Randomized algorithm Computational geometry Mathematics of computing Discrete mathematics Probability Statistics Mathematical software Information theory Mathematical analysis Numerical analysis Information systems Database management system Information storage systems Enterprise information system Social information systems Geographic information system Decision support system Process control system Multimedia information system Data mining Digital library Computing platform Digital marketing World Wide Web Information retrieval Security Cryptography Formal methods Security services Intrusion detection system Hardware security Network security Information security Application security Human -- computer interaction Interaction design Social computing Ubiquitous computing Visualization Accessibility Concurrency Concurrent computing Parallel computing Distributed computing Multithreading Multiprocessing Artificial intelligence Natural language processing Knowledge representation and reasoning Computer vision Automated planning and scheduling Search methodology Control method Philosophy of artificial intelligence Distributed artificial intelligence Machine learning Supervised learning Unsupervised learning Reinforcement learning Multi-task learning Cross-validation Graphics Animation Rendering Image manipulation Graphics processing unit Mixed reality Virtual reality Image compression Solid modeling Applied computing E-commerce Enterprise software Computational mathematics Computational physics Computational chemistry Computational biology Computational social science Computational engineering Computational healthcare Digital art Electronic publishing Cyberwarfare Electronic voting Video game Word processing Operations research Educational technology Document management <Td_colspan="2"> Book Category Portal WikiProject Commons Retrieved from `` https://en.wikipedia.org/w/index.php?title=Rapid_application_development&oldid=846063562 '' Categories : Software project management Software development process Computer programming tools Hidden categories : CS1 errors : external links Use dmy dates from June 2011 Talk Contents About Wikipedia Tools Languages Català Čeština Deutsch Español Euskara فارسی Français 한국어 Bahasa Indonesia Italiano Magyar Nederlands 日本 語 Norsk Polski Português Русский Suomi Українська 中文 12 more Edit links This page was last edited on 16 June 2018 , at 01 : 39 . Text is available under the Creative Commons Attribution - ShareAlike License ; additional terms may apply . By using this site , you agree to the Terms of Use and Privacy Policy . Wikipedia ® is a registered trademark of the Wikimedia Foundation , Inc. , a non-profit organization . About Wikipedia