Every software that is developed goes through certain activities during its life time.
A software life cycle model defines the different activities in sequence which needs to be carried out to develop a software product.
It can also be seen as series of identifiable stages through which product pass through as its development progress.
Software life cycle is also known as Systems Development Life Cycle (SDLC).
There are various models available which can be followed depending upon the suitability of the product to be developed. Whichever model is followed the product will go through the below phases in sequence:
A software development process covers all the activities starting from product conception to delivery and finally retirement.
When request for product development is made by customer then its life cycle begins. This is the first step and is known as product conception.
Why use life cycle model?
Software life cycle is necessary for:
developing good quality products
economically cost effective product development
on time delivery of software product.
Popular SDLC Models
We are going to study about some popular life cycle models adopted by industry. All the software development life cycle (SDLC) model is explained in SDLC tutorial.
Which model to select for the project?
We have already seen many SDLC models and learnt about them. Now an important question that will play with your mind is - "Which SDLC model to select?"
Making a choice of SDLC model must based around following:
Nature and characteristics of software to be developed.
Nature and characteristics of development team that would be involved in development of software product.
Type of customer for whom the product is made.
All three points are extremely important and should be considered while selecting any SDLC model.
Suppose a customer running brick and mortar store is not familiar with the computers. So in case if he opts to bring his bussiness online so he/she may not have good knowledge of computers. So it might happen that his/her requirement may change frequently. In this case a prototype could first be presented before them before proceeding with actual development.
An evolutionary model may be suitable for OOP development project.
Similarly, while you take a project for development you need to focus on the three aspects discussed and then finally decide which model to select.