SDLC methodologies

7 SDLC methodologies that every Application Security Engineer should know – Part 1

Over the years, the software development life cycle (SDLC) has been reintroduced with robust models adopted by the security development team across the globe. Each of these methodologies has advantages as well as disadvantages. Organizations are free to choose one that best suits their needs. While making a choice, consider that different models offer a specific degree of flexibility. Although all these models follow different procedures, the ultimate goal is to provide high-quality software that is cost-effective within the best time possible. Secure SDLC should be considered an industry-standard approach to deliver secure software. It can be disintegrated into six phases that ensure the incorporation of security elements in the entire software development journey.

Common SDLC Models

Listed are the most common SDLC models that every software security engineer should know:

1. Waterfall Software Development Life Cycle

It is the traditional approach that is falling out of favors because of its rigid nature. The model demands all the system requirements ahead of time, while customer interaction is possible in the beginning phase only. Several experts claim that the Waterfall model was never supposed to be real for developing software. But the debate also includes those who appreciate the straightforward appeal of the model. It is a step-by-step approach with no turning back. The successive phase requires the information gathered in the preceding one.

Pros of Waterfall SDLC Cons of Waterfall SDLC
  • With technical documentation in the initial phase, the entire team understands their individual objectives.
  • Progress monitoring is easy as each phase has a strict discipline.
  • With test scenarios being defined in the functional specification of the requirements phase, testing becomes more natural and transparent.
  • With clear documentation, the team and the client know what outcome to expect.
  • Unsatisfied clients as their random requests can’t be fulfilled.
  • The model offers no flexibility to cater to changes or new developments.
  • Compared to iterative methodology like Agile, this model may take longer to deliver a project.

2. Iterative Software Development Life Cycle

Unlike the stringent stepwise waterfall model, iterative methodology begins by defining a subset of software requirements. Throughout the development process, the project iteratively evolves until the final system is implemented and successfully deployed. An iterative software development life cycle never starts with complete documentation of system requirements; it enhances with each phase.

Pros of Iterative SDLC Cons of Iterative SDLC
  • Early detection of potential flaws.
  • Documentation won’t be much time-consuming.
  • It is best suited for projects requiring continuous modifications.
  • Testing and debugging becomes easy because of continuous iteration at each phase.
  • It may require additional resources.
  • Careful management is required.
  • It is not suitable for smaller projects.
  • The project delivery time is highly dependent on the risk analysis.

3. Spiral Software Development Life Cycle

It is a combined idea of iterative and waterfall models with a major focus on risk analysis. Each phase in this model starts with a design goal and ends with the client approving the outcome of the phase. As per this approach, the software development team begins with the pre-defined subset of software requirements and drifts through all the development phases with those sets of requirements. For every additional requirement, the team needs to add extra functionality in every spiraling phase until software enters the production phase.

Pros of Spiral SDLC Cons of Spiral SDLC
  • The development phase can be defined by the project manager, depending upon the complexity of the project. This makes the spiral SDLC one of the most flexible models.
  • Each phase involves the key stakeholders, making the project monitoring the easiest of all.
  • This model is more transparent than others as shareholders can monitor the progress.
  • Risk management is an integral part of spiral model.
  • The model is flexible enough to update changes without much extra work.
  • The spiral methodology is the best choice for high-risk projects and the products that require high customization privileges.
  • It is an expensive model.
  • A skilled professional is required to review the project at regular intervals.
  • This model comes with pre-defined rules and protocols, which need to be followed throughout the process.
  • With the feature of customization, it makes it impossible to use the same prototype for other projects.
  • It is not needed for low-risk projects.
  • Meeting delivery time and pre-planned budgetary could be a challenge.
  • Heavy documentation in intermediate stages makes it very complex.
The second part of the series will continue with the four remaining methodologies: V-Model, Agile, RAD, and Prototyping. These methodologies will reveal the type of projects they are capable of handling.

Employ an application security engineer who can choose a suitable SDLC model depending on the requirements of the project. Ensure that the professional is well-versed with the secure software development process. As a part of other responsibilities, the hired expert should be able to incorporate input validation techniques, defense coding practices, authentications, authorizations, and other techniques in the SDLC model. Familiarity with hundreds of relevant tools, and more importantly, hands-on experience will help these professionals get ahead.

Stay tuned for more about secure SDLC!

get certified from ec-council
Write for Us