Software Development Life Cycle [SDLC] Methodologies

Puvaneswaran Sajeesan
7 min readNov 19, 2020

Software development life cycle is a process used by a software company to design and develop softwares. SDLC contains all the details about how the software is created and its designs, how to manage it, and how to alter or change its functions.

SDLC contains 6 different steps, and they are:

  1. Planning
  2. Defining
  3. Designing
  4. building
  5. testing
  6. deploying

to gain some further information about the SDLC steps, you can refer to this website

Let’s move to the main topic. SDLC is a non-ending process that started when a project was created. throughout time so many models have been used by companies to develop software. in every stage SDLC methods needed to be evolved because of the disadvantages they contained. so, SDLC has several methods, and here some of those methods are discussed.

popular SDLC methodologies

  1. waterfall model
  2. Iterative model
  3. Spiral model
  4. V-shaped model
  5. Big bang model
  6. Agile model
  7. DevOps model

Waterfall model

waterfall model view

This is the first model that was introduced as the SDLC methodology. it is very simple to understand and use. in a waterfall method, each method has to be completed before the process moves to the next stage. once the process entered a stage, it can not return to the previous stages. so practically if developers need to do some changes in previous stages then again they have to do it from the start.

Advantages of the waterfall model

  • simple to use and understand.
  • processing development stages one at a time.
  • every stage of a waterfall method has fixed deliverables and process review
  • easy to find the key points in the development cycle.
  • extremely effective on smaller projects where the requirements are solid.
  • clearly defined stages.
  • easy to determine the tasks.
  • well documented process and results.

Disadvantages of the waterfall method

  • Software will not be finished until the last step is over.
  • too risky.
  • more uncertainty on the process.
  • not too effective on complex and larger projects.
  • not suitable for long term projects.
  • can not measure the actual progress until the project is finished.
  • can not do any changes in the previous stages even if they are minor changes.
  • if a fault occurs, the project has to be started from the beginning.
  • Integration is done at the very end, which does not give the option of identifying the problem in advance.

Iterative model

iterative model view

In the Iterative model, the iterative process begins with a basic implementation of a small collection of the software specifications, and iteratively improves the developing versions until the full framework is implemented and ready to be deployed.

Advantages of Iterative model

  • Some functionalities can be quickly developed in the early stages.
  • parallel development is possible.
  • results can be obtained early and periodically.
  • unlike the waterfall model, progress is measurable in every stage.
  • easy to handle risks.
  • Flexibility and readiness to the changes in the requirements.
  • requirements can be changeable even if the project is in the next stage.
  • good for large and critical projects.
  • less initial operating time.

Disadvantages of Iterative Model

  • requires more resources.
  • have to manage regularly.
  • requirements are changeable but it is not very suitable in real-time.
  • design problems may come when developing the project.
  • not that much effective on smaller projects.
  • process is difficult to manage in this model.
  • can not find all the risks even the project finished.
  • Risks analysis requires the involvement of the highly-qualified specialists

Spiral model

spiral model view

This Spiral model is a combination of iterative development process model and sequential linear development model. it combines iterative development ideas and with controlled manner of the waterfall method.

Advantages of the Spiral model

  • threats can be addressed in the earlier stages.
  • changing the requirements is more suitable than the iterative model.
  • precise documentation of processes.
  • user can see the system earlier than he/she expects.
  • using prototypes makes the product better.
  • requiment gathering is accurate than the other two methods.

Disadvantages of the spiral model

  • need to do more work in management.
  • can be expensive.
  • highly skilled professionals may be needed in risky situations.
  • not suitable for small projects.
  • complex process so it is hard to understand.
  • need heavy documentation.

V-Shaped Model

V model view

As you can see here in V model process happens in a V shaped sequence. V shaped model is also called as Verification and validation model. this is kind of an extension of waterfall method and it includes testing phase for all corresponding development stages.

Advantages of V-Shaped model

  • every stage has a strict strict results so controlling is easy.
  • every stage has testing phase.
  • only one stage at a time.
  • more suitable for small projects.
  • easy to use and understand.
  • easy to manage because every stage has fixed deliverables and review process.

Disadvantages of V-Shaped model

  • not that much flexibility in process.
  • not suitable for large and complex projects.
  • may have to face high risks.
  • long time project can not use this even they are small.
  • can not change the requirement once it crossed that stage.
  • project will not be complete until everything finishes.

Big bang model

Big bang model view

there is no specification in this model. as you see in the picture process starts with effort, resources and time and the output will be a software which client asks. but it may or may not fulfill the user requirement. there is not that much planning involved in this model. even the user is not specific with his requirements. so software implemented only in spark ideas.

Advantages of big bang model

  • simple to use.
  • not that much planning required.
  • easy managment.
  • give flexibility to developers.
  • little resources needed.

Disadvantages of big band model

  • very risky.
  • not suitable for big and complex projects.
  • may become expensive if any misunderstanding happens.
  • not good for long term projects.
  • no precise documentation.

Agile model

Agile model helps the user to understand the outcome in every stage and allows changes in the requirement so the user can change their requirements after analysing the outcome after every stage. Agile Methods break the product into small incremental builds. so every stage processes simultaneously on various areas.

Advantages of agile model

  • Corrections of functional requirements are implemented into the development process to provide the competitiveness.
  • Project is divided by short and transparent iterations.
  • minimized risks.
  • fast process.
  • easy to manage.
  • allow changes in requirements in any stage of the process.
  • suitable for both fixed and changing environment.
  • minimum requirements needed.
  • little planning is enough.
  • have flexibility in development process.

Disadvantages of Agile method

  • unmeasurable final cost.
  • need highly professional team.
  • new requirements may be needed in the middle of the process.
  • if so many changes occur then the expected time will delay.
  • depends on customer interaction so if the customer is confused then it will totally affect the outcome.
  • Lacks documentation efficiency
  • Increased maintainability risks

DevOps Model

This is the latest SDLC methodology. In a DevOps model, Developers and Operations teams work together closely.

Advantages of DevOps Model

  • DevOps enables continuous software delivery with less complex problems to fix and faster resolution of problems.
  • quicker delivery of the product.
  • makes the development process easier to developer.
  • Reduces cost on maintenance and upgradation.
  • Improve quality, reliability, and reusability of all system components.

Disadvantage of DevOps Model

  • requires a specific level of software development expertise.
  • need expert team.
  • DevOps often prioritises speed of development over security.

references:

https://www.roberthalf.com/blog/salaries-and-skills/6-basic-sdlc-methodologies-which-one-is-best

--

--

Puvaneswaran Sajeesan

undergraduate Software Engineering student at University of kelaniya.