Software Development Life Cycle Models and their Pros and Cons

Dineth Shan Gimhana
DSG_TECH
Published in
5 min readNov 20, 2020

What is SLDC?

A software development life cycle (SDLC) model is a conceptual framework describing all activities(steps) in a software development project from planning to maintenance. This process is associated with several models, each including a variety of tasks and activities.

1.Waterfall Method

The Waterfall Model is a linear or sequential approach to Software project management and works based on fixed dates, requirements, and deliverables. Teams do not require consistent communication and, unless specific integrations are required, can be self-contained

Requirements

First, you must gather all the requirements and documentation you need to get started on the app. At the end of this step, the SRS(Software Requirement Specification) document deliver as a deliverable of this step.

Design

After the requirements have been specified, those requirements are studied, and system design is created. The model helps in preparing the overall system architecture.

Implementation

The input from the system design phase is used to develop a system in small programs or units. These units are tested for their functionality, and this is referred to as unit testing.

Verification

Though the app has been delivered, the project is not quite over until you’ve done some administrative tasks( pay contracts, close all paper works and etc..) to tie everything up. This is technically the final step.

Maintainance

The nature of any software project is that, through use by customers, new bugs will arise and must be squashed. This is an ongoing, post-launch phase that extends for as long as your contract dictates.

Pros of Waterfall Model

  1. Transferring project knowledge is simpler44
  2. Makes the project easy to manage
  3. Works well for smaller projects
  4. The tasks remain as stable as possible

Cons of Waterfall Model

  1. Difficult to make changes
  2. Ignores mid-process user/client feedback
  3. Poor model for long and ongoing projects
  4. Delays testing until after completion

V Model

This is a variation of the waterfall model. It emphasizes the verification and validation of the product. All deliverables are testable and progress is tracked by milestones. Testing is implemented in parallel to the development phase.

Development Phases

  1. Business Requirements
  2. System Requirements
  3. High-level Design
  4. Low-level Design

Test Phases

  1. User Acceptance Testing
  2. System Testing
  3. Integration Testing
  4. Unit Testing

Pros of the V Model

  1. Progress goes in a very systematic way.
  2. Best suitable for small and medium-size projects
  3. Testing starts from the requirement phase
  4. Easy to keep track on the progress

Cons of the V Model

  1. Not suitable for bigger and complex projects
  2. Not a good option if requirements changes frequently
  3. The client sees the only final project, not intermediate modules
  4. Don’t scope for risk management and risk mitigatio

Spiral Model

The spiral model consists of four phases: Planning, Risk Analysis, Engineering, and Evaluation. A typical project goes through each of these phases in iterations, which in this case can be termed as spirals. It all starts from the baseline spiral, which begins from the Planning phase, where requirements are gathered and assessed. All subsequent spirals build upon the baseline spiral.

1.Planning

In this phase project requirements, details, and scope is established in the form of Business Requirement Specifications ‘BRS’ and System Requirement Specifications ‘SRS’.

2.Risk Analysis

Identification of potential risks that may arise, and consequently, mitigation strategies planned and built to counter those risks.

3.Development

The software is developed, tested, and deployed using a waterfall or incremental development approach.

4.Evalution

All current developments and output is assessed and evaluated against intended requirements and objectives before it moves on to the next spiral.

Pros of Spiral Model

  1. It involves extensive risk analysis leading to very minimal risks.
  2. This method is effective for developing high-risk and large projects in general.
  3. Features and functions can still be added even at late stages of testing. The Spiral model revolves all the phases repeatedly, thereby enabling changes.

Cons of Spiral Mode

  1. It is a waste of resources for projects with low-risk factors.
  2. The success of the approach is dependent on risk analysis. If the risk analysis is faulty, then the software project can be flawed.
  3. There is a risk factor of the development being inconclusive, resulting in a spiral manner without a conclusion.

Agile Model

Agile project management is a distinct method of software development. Instead of taking a sequential design process so that the workflow starts at the beginning and concludes at the end, the Agile method uses an incremental approach. There is no pre-determined starting point or ending point.

Principles of Agile:

  • Satisfy the customer through continuous delivery
  • Welcome changing requirements even late in development
  • Deliver working software frequently
  • Business people and developers work together daily throughout the project
  • Build projects around motivated individuals
  • Working software as a primary measure of progress
  • The sponsors, developers, and users should be able to maintain a constant pace
  • Continuous attention to technical excellence and good design
  • Simplicity; the art of maximizing the work not done.
  • At regular intervals, the team reflects on how to become more efficient and adjusts its behavior accordingly
  • The best architecture, requirements, and designs emerge from Self-Organizing teams
  • Face to face communication with and within a team

Pros of Agile Methodology

1.It gives designers the freedom to develop.

2. It makes the development process much more adaptable.

3. Feedback and testing occur simultaneously.

4. It works with ideas that do not have defined end-goals.

Cons of Agile Methodology

  1. Someone has to stitch all of the individual models together.
  2. There is no pre-determined course of action or defined plan.
  3. Collaboration must happen for it to be successful.
  4. Losing a designer mid-project can devastate it.

--

--

Dineth Shan Gimhana
DSG_TECH

Software Engineering Undergraduate | University of Kelaniya