Rapid Application Development Part 1
Join over 3 million cybersecurity professionals advancing their career
Sign up with
Required fields are marked with an *
Already have an account? Sign In »
3 hours 55 minutes
Hello and welcome to the first lesson of module to
the history of agile.
I am your instructor cane, and we will be going through the following four lessons.
Lesson 2.1 Rapid application development part one.
Lesson two rapid application development part two.
Then we will discuss the agile manifesto
and then conclude with what was old is new again.
Lesson 2.1 is the first part of the rapid application development or rad.
In this lesson, you're gonna learn about the early history of rad,
how it came about from structured system analysis and designed commonly known as waterfall.
We'll also talk about the important development that the call for prototyping brought about
as well as look at the spiral model of software development and enhancement.
And finally, no good history lesson is complete without understanding the impact that the U. S. Federal government had on the agile development methodology.
So originally in the 19 eighties,
developers came up with the structured systems analysis and design method, or S s a d. M. We do love our acronyms in information technology.
So SS ADM was originally released as a methodology or best practices. Something like that in order to try to create a reusable, trainable and repeatable process
within the UK as part of the Central Computer and Telecommunications Agency. So they were experiencing a lot of the same pain that the U. S. Was experiencing with software development projects. And so they look to develop some sort of structure that they could again repeatable, trainable
so they could begin to bring this best practice
into information technology and try to use it to make better software.
In the case of SS, ADM is basically what we we would commonly look at today as the waterfall method of project management. So you do a feasibility study. Is this something that's even technologically possible?
Then you investigate the current environment. What are we have? Resource is time, etcetera?
Can we physically do this once we determine that it's technologically possible?
What are some of the business system options? What are the requirements and the actual requirements gathering, which we talked about a little bit in the in a previous lesson?
You have to know what you need to build before you build it.
Once you develop all of your business requirements, you then start looking at the technical system and the options that are available for you there.
Then you go through your logical design and then your physical design. So those of you that have experience in software development or have some sort of formal education and software development that should look pretty familiar. So that was from the 19 eighties on word.
Then a couple of gentlemen wrote a very famous paper
called Prototyping, The New Paradigm for system development.
It was released in 1982 and it was designed, or it advocated for the use of prototyping. So if for those of you that are in the military or of ever fired a gun, you may understand the idea of ready aim fire or if you see an old movie with the firing squad
and the idea is that you do your planning
in this case, we're talking about shooting, so you get ready to shoot
you aim the gun where the target is. You see it account for distance and wind and things of that nature.
And then you finally pull the trigger and fire. So ready aim Fire is the normal methodology used in shooting a firearm.
While it's also the normal methodology that was used at that time in project management.
So the idea of the ready fire AIM concept came from the prototyping.
The idea that let's build something we know it's not gonna be perfect. We know it's It may not even necessarily work exactly the way the customer wants it to work.
But if we prototype it and then we see what the response is, our next iteration will be much better and closer rather than the traditional waterfall method, which we've already talked about sometimes extend a software project really past the point of relevance once you get it at three year window.
What are the odds that the person that you're building the software for is even
still the company in some cases, eso that we're trying to speed up the iterations? And so we were way were advocated
or people advocated for prototyping, and it was already being used in hardware. It was a part of the Apollo space program, the rapid prototyping of hardware, so the concept wasn't totally foreign to information technology. It just had never been applied to the software part of information technology.
Then, in 1986 Barry Bone published the first True Rapid Application Development model, although it wasn't necessarily called rapid application development at the time. On this was the spiral model of software development and enhancement. So if you look at the picture on the right,
you started to see this prototyping and this rapid application starting to blend a little bit
in the late 19 eighties. So you develop a concept of your requirements in lieu of detailed requirements. Documentation. So we think we know what you want. Let's go build something real quick, bring it back to you
and then look at it and say Okay, yes, this is what I wanted. But this part is not what I wanted. So we can get a better idea of where the customer's needs were.
Do a verification and validation exercise. After you verify the requirements,
come up with a new plan.
Go to in a prototype number two Brinson Repeat hopefully, in the in the case of ah, the spiral model only one or two times,
and then you would actually build it
and then do your detailed design documents, test it to your user testing and implemented. So this was much, much faster than the existing, even rapid or even prototyping was a little bit slower than this, So we're starting to try and speed it up. But I want you to notice here when you look at the detail design
code, integration tests and implement
that last phase
is still kind of mirrors the waterfall methodology that was used in like SS ADM. So that last phase still meant that detailed requirements were happening. We weren't actually doing detail coating yet, and then we definitely weren't doing testing an implementation
up until the very end of the spiral development enhancement model. So it was faster,
but it wasn't quite fast enough. And there's a couple of reason why that is, which we'll get into in some of the later lessons. And finally, Uncle Sam always puts his finger on the scale A little bit. Eso In the 19 eighties and nineties, this largest organization
that was doing software development in the entire world
was Uncle Sam, the U. S. Government.
And because the U. S government is a course regulation intensive, the Department of Defense actually had a specific software development model called D o D Standard 2167 it clearly favored the waterfall model over
any other model. So the idea is, if the largest vendor
developing software has co defied the use of the waterfall model, which they again they got from in some no small part based on the Apollo moon program,
that's going to be what you train your individuals on. It's gonna be what they're familiar with and used to. So as a industry information technology was still very waterfall heavy all the way up until the late 19 nineties.
So in summary, we talked about the early history of rapid application development. We discussed SS ADM prototyping and how that became a game changer for the software folks that we stole it from the hardware folks a little bit.
We talked about the spiral model and how it aeration started to become a common theme in all nonmilitary non department defense software programs. And then finally, we saw how the government sort of
in some cases actually hindered the progress of agile because they were the biggest vendor. It wasn't really until the mid to late nineties, where we had some other big players, which we'll talk about here shortly that that began to change and change in a very, very quickly
again. Thank you for your time. And I hope to see you in the next lesson.