Development Life Cycle Models – CompTIA Security+ SY0-501 – 3.6

There are many different ways to build an application. In this video, you’ll learn about two of the most popular life cycle models for application development; waterfall and agile.

<< Previous Video: Embedded Systems Next: Secure DevOps >>


The process of building an application is referred to as the systems development lifecycle, although you may also hear this referred to as the application development lifecycle. To go from an idea to an actual application may involve a number of different steps. And it’s never the same process every single time.

There’s usually different people involved. There might be a customer that needs the application. There’s a large process and scheduling of the development team. And of course, there’s a budget that everybody has to stay in to be able to complete this project.

Because of all these different variables, there’s no one best way to create a single application. There are a number of frameworks that can be followed, but you’ve got a number of different options and variables that you have to consider during the application development process.

The waterfall framework of application development is a sequential design process. You go through one step until that step is complete. Then, you begin the next step. This is what most people refer to as the traditional model of application development. There are many different ways to implement this waterfall framework but they all tend to follow a very similar path.

Here’s an example of a common waterfall framework for application development. The first step would be to create the requirements for the application, and document exactly what would be expected for this application. Then, you want to build an analysis of what it would take to build this application. You want to create a number of different models and understand what the business rules might be for this application. Once this analysis is complete, you can begin to choose the software architecture that will be used to design the application.

At that point, it’s time to start coding. Your application developers will begin creating the code that’s required to make the application work. Once that’s done, you can then test and make sure that all of that coding is working exactly the way that you might expect. And once the application is ready to be installed, you can hand it off to the operations team, and they will add it to the production environment.

A more contemporary framework for application development is the agile framework. In this framework, you’re performing a lot of tasks simultaneously, instead of having a sequential path that you follow. When we traditionally think of an application developer, we’re thinking of a single person who’s in a dark room typing away at their keyboard. But with the agile framework, communication and being able to work together is a very large part of what makes this particular framework operate. So it’s very common to have all of the developers in the same building, and to have them pair up to be able to program together.

The main objective with his agile framework is to get some code created as quickly as possible. Even if the initial code that’s created doesn’t exactly fit the requirements for the application, at least now you have a starting point, and the code can begin to evolve over time. Obviously, in an environment as dynamic as this one, there has to be constant communication. So usually, all of the developers and the customers are going back and forth all the time to try to hone down exactly what they want to be able to do with this code.

One of the advantages of this agile model is that you can make changes very quickly. So if the application is not heading in the direction you would like, it’s very simple for everyone to make a change and begin working in another direction.