preloader LOADING

42Works Blog

Posted on June 23, 2014

Software development Life Cycle (SDLC)

What is Software Development Life Cycle and is it important for me to know about it? The answer is YES. In case, you are planning to design/ develop or somehow related to the process of creating the software/ application, you should know it. Software Development Life Cycle (SDLC) comprises of all stages from inception to implementation of software. You must be wondering that why there is a single model which caters the need of all kind of projects? There are several models like waterfall model, incremental model, iterative model, V model etc. These models are used worldwide to develop software. The choice of model depends on requirements and purpose of software. The SDLC cycle, if followed, ensures the quality of the software.

Without following the SDLC, what one delivers might not be what customer has visioned

Is there anything common in all these SDLC models and if there is something common then what is it and what is its relevance? Different Software Life Cycle Models describe phases in software development and the sequence in which these phases are followed. Every phase provides inputs for the next phase. There are 6 important phases which are common in every SDLC model.

  • Requirement Gathering and Analysis
  • Design
  • Implementation or Coding
  • Testing
  • Deployment
  • Maintenance

Below is the description of these phases. The sequence of these six phases may change depending on the model chosen.

Requirement Gathering and Analysis– This is the most important stage in Software Development as during this stage we get to know what are the  expectations of the customer, what are his requirements, who will be the target audience etc. If we get this stage wrong then no matter how perfectly we implement the other stages, the customer will not get what he envisaged. Meetings with the managers, stakeholders and the users may give a fair idea on what is expected. Once the requirements are gathered there is a Feasibility Analysis to check how much of the idea can be put into action. This stage requires research and analysis from the company developing it and the clients.

Design– In this stage a blueprint of various process and software is prepared from the requirements gathered in first phase. The final output of this phase is a formal design document which freezes the design and act as input for the coding phase. This document specifies everything from software and hardware requirements to overall system architecture.

Implementation/ Coding– This phase involves the actual coding/programming of the software. In this phase the task is divided among the programmers based on their skill set of either the module or the technology. Once the code is created, it is compiled by the developers. This is generally the longest phase in the SDLC. The output of this phase is library, executables, user manuals and additional software documentation.

Testing– This phase is concerned with validation and verification of the software created. This stage ensures that the compiled code and the software are working fine without any visible issues that can hamper the working of the software. The software is tested against the requirement and once it meets the exit criteria, the code is deployed.

Deployment– After successful testing, the software is delivered to customer for their use. This phase involves the packing of all sub packages, together with all relevant documentation in a suitable format for distribution.

Maintenance– Once the code is deployed and is used by the customers; there might be some problem which can crop up from time to time that needs to be rectified. The process of taking care and making some minor enhancements on the developed software is maintenance.

Generally, for short term projects, release phase is a point of sign off.

To sum up, Software Development Life Cycle is important for everyone to know from the programmer to the project manager. There are different SDLC models depending on the requirement and purpose of the software/ application to be created. The common thing in all these models is the phases, namely requirement gathering and analysis, design, coding, testing, deployment and maintenance.


Comments

  • Very well listed points! Explains everything in the simplest way, thumbs up!

    Reply
  • Thanks! Glad that you liked it! 🙂

    Reply
  • It is a nice blog. Thanks to give such a valuable knowledge.

    Reply
    • This is very nice blog

      Reply
  • Very Nice SDLC Blog, it help lot

    Reply
  • HI Anmol Rajdev,

    Glad to see your post….It’s a very informative post with proper explanation which helps me a lot.

    Anyone who has worked with software will come to know the wonders that technology can accomplish. But for software companies, creating the actual software is only half the battle; devising the method of testing it is equally challenging.

    If you are reading this article on your computer, the Internet Browser you are using has gone through countless hours of testing to ensure the software is not only stable but secure as well.

    A good process has the skilled people required to do the job.

    Thanks ..

    Keep it up.

    Would love if you write regardig automation testing.

    Reply
  • nice post.

    Reply
  • Its Really Informative. Please get more about SDLC, SDLC steps and methodologies from here: https://emstell.com/software-development-life-cycle/

    Reply
  • Great post thanks for the blogs

    Reply

Leave a Comment:

Your email address will not be published.

para glider
Have a Project ?
We are just as excited
about your Idea
My name is
& I'm interested in discussing about
for my project
. You can email me at
or ring me up at
.

Limassol Cyprus 85.208.96.7 https://42works.net/technology/software-development-life-cycle-sdlc