SDLC Models/Software Process Model
About Software Development Life Cycle
After accepting the new software developmental proposal, the corresponding Project Manager is concentrating on the process and team. A Software Development Life Cycle (STLC) will demonstrate how all implementation of activities will carry out for developing software. It is categorized into two parts -
- Sequential Model: In this Model, all SDLC activities will be carried out one after another for the entire project. This is recommended for the small size of projects. Here Dynamic (Validation) Testing is required.
Some examples of Sequential models are — Waterfall Model, V-Model
- Incremental/Iterative Model: In this Model, a big project will be divided into Modules and all SDLC activities will be carried out Module by Module.
Some examples of Incremental Models are — Agile Methodology, Prototype, Spiral
Waterfall Model in Software Testing
It is a Sequential design process, in the Waterfall model all implementation activities will carry out one after another for the entire project. The model is recommended for a small size of project where requirements are very clear.
As the size of the project is small and the requirement is also clear, only dynamic testing is needed and static testing isn’t needed. The progress is seen as flowing steadily downwards(like a waterfall). This model is titled as Waterfall Model.
It is also called as Classic Life Cycle Model/ Linear Sequential Model/ Legacy Model.
Advantages of the Waterfall Model
- Simple and easy to understand and use.
- Easy to Manage.
- Phases don’t overlap.
- Best for small projects.
- Clarity of work and responsibility.
Disadvantages of the Waterfall Model
- Change management can’t be in-cooperate.
- Difficult to go back and change something.
- No working software until a late stage of SDLC.
- The high amount of risk and uncertainty.
- Not suitable for complex and object-oriented projects.
Change Management Process in Waterfall Model
To make any changes to the existing requirements client will raise the request which is called a change request(CR). CR should pass to the domain expert team, the study of the design architect team, and the development/ testing team to be ready to take up CR.
V Model in Software Testing
Just like the Waterfall Model, the V-shaped life cycle is a sequential path of execution of processes. V-Model is recommended for small-size projects where the requirement is not clear. In this model, all implementation activities are carried out one after another, whereas testing activities will be carried out simultaneously at the same stages.
As the requirement aren’t clear both static and dynamic are applicable. As the flow of activity looks V-shaped, hence this model is titled as V-Model.
Advantages of V-Model
- Simple and easy to use.
- Testing like planning and test designing happens well before coding. This saves lots of time.
- Proactive defect tracking ie defects will be found at an early stage.
- Work well for small projects where requirements are easily understood.
Disadvantage of V-Model
- Very rigid and less flexible.
- Software is developed during the implementation phase. So no early prototype of the software is produced.
- If any changes happen midway then the test documents along with the requirement document have to be updated.
Prototype Model in Software Testing
This model is recommended when the customer’s requirements aren’t clear. In this model, a prototype will be prepared based on the collection requirement and the same(prototype) will be demonstrated to the customer to get early feedback. Once the prototype is approved based on the approved protocol system requires all the remaining SDLC activities will be carried out.
Get Manisha Shukla’s stories in your inbox
Join Medium for free to get updates from this writer.
If any change is requested by the customer after delivering the prototype system, this modification will be documented as a change request and this change will be incorporated into the existing system requirement. Based on the modification, all remaining activities will be repeated for the remaining modules in the project.
Advantages of Prototype Model
- When a prototype is shown to the customer, they get proper clarification of the functionality of the software and they can suggest changes/modifications.
- An error can be detected much earlier
- Missing functionality can be identified.
Disadvantages of Prototype Model
- It is a very slow process
- too much involvement from the client isn’t always preferred by developers
RAD(Rapid Application Development) Model in Software Testing
- In this model, a big project will be divided into modules and every module will be considered a mini-project holds by a separate team. So all modules were implemented simultaneously once all modules are developed and integrated, then release to the client.
- As the application is being developed so fastly, this model is titled RAD. This model is recommended when there is a short time for development and it is an expensive model.
- Module by module both static and dynamic testing will be carried out sometimes while implementing the individual modules different models may be obtained(Waterfall, V-model). Hence it is called Hybrid Model.
Advantages of RAD Model
- This model reduces the development time.
- Increase reusability of components.
- Very quickly initial review occurs.
- Encourage customer feedback.
Disadvantages of the RAD Model
- Depends on strong team and individual performance for identifying business requirements.
- A cheaper project can’t go for the RAD model.
- High dependencies on modeling skills.
Spiral Model in Software Testing
- In this model, software development is carried out in part-wise or an iterative manner.
- In this model, every phase is tested.
- At the end of every iteration, we give a demo to the customer.
- In this model, requirements change can be handled in two ways -
- Minor Changes — In the case of minor changes in the same iteration, Minor changes plus new features are added. Minor changes don’t impact the design
- Major Changes — Separate iteration is carried out only to handle changes. This will impact the design document. When major changes are done the previous iteration is destroyed.
Advantages of Spiral Model
- Every phase is being tested.
- Requirement changes can be handled easily.
- End of the iteration we give a demo to the customer.
Disadvantages of Spiral Model
- It is a costly model.
- Doesn’t work well for small-size projects.
- In case of major changes, there is a delay.
Agile Process Model
This is also a type of Incremental Model. This model is also called Scrum Methodology/Test Driven Development Approach/ Agile Development Life Cycle.
The Agile Model has 6 phases -
- Project Initiation
- Sprint Planning
- Daily Scrum
- Sprint Retrospective
- Sprint Demo
- Release
Project Initiation -
- The Product Owner owns the vision of what should be the procedure to achieve business success.
- PO gets input from customers.
- The Product/Sprint Backlog is constantly being revised (items added, removed, modified) by the PO, to maximize the business success of the team’s effort.
Sprint Planning
- The team works for a fixed period of time called a Sprint.
- Sprints are typically between 1 to 4 weeks in length.
- The team and PO decide the Sprint Length in advance.
- Sprint Planning Meeting, before each sprint, the team selects what will commit to delivering by the end of the sprint, starting at the top of the Product Backlog.
- The team creates a task-level plan for how they will deliver.
Daily Scrum
- Each day the team has a short meeting to update each other on progress and surface blocks. They stand up to keep it fast.
- To keep the meeting less than 15 mins, everyone reports just 3 things -
- What did you do yesterday?
- What will you do today?
- Is there any blocker in your way?
Scrum Master -
- SM removes any impediments that a team has in their work to achieve the sprint goal.
- Without SM, the team has a risk of failure.
- SM is not a Manager.
- Manage the sprint/product.
Sprint Retrospective
It includes the 3 main questions/points for discussion -
- What went well during the sprint cycle?
- What went wrong during the sprint cycle?
- What could we do differently to improve?




