https://www.qatechies.com

What is Waterfall Model in SDLC?

SDLC-Models

What is Waterfall Model in SDLC?


Welcome to this Post – “What is Waterfall Model in SDLC?”.

This post discusses about the “What is Waterfall Model in Software Development Lifecycle (SDLC).” We will also focus on some frequently asked questions for choosing waterfall model in the development is good idea or bad and why even today companies choose or select waterfall model to go with. So, go ahead and enjoy reading…

 

Abstract:

In the old days say 90’s, Waterfall model was used to develop enterprise applications like Human Resource Management Systems (HRMS), Customer Relationship Management systems, Supply Chain Mgmt Systems, etc. Waterfall model was quite significant in usage till the year 2000 in SDLC. Waterfall model continued to be used by many organizations till the last decade, even after the official Agile manifesto was published in 2001.

These days most project follow Agile (Scrum) Methodology, Devops and some form of Iterative model or one of the other models depending on their project specific requirement. But interesting point is there are many big organizations which follow Waterfall today also.

So, let’s try to understand what is waterfall model  and why people still prefer this model?

 

Discussion:

There are lots of SDLC models of which Waterfall is most well-known and well absorbed by various projects in variety of domain. This model is one of the models in Sequential models. The model clearly bifurcates the various steps in software development into various, so called, ‘phase’s’. Each of these phases represent some series of tasks. Each phase has a defined objective with a fixed goal to be achieved.

In fact, each phase’s output becomes the input of the next phase. It is obligatory for a phase to be completed before the next phase starts. In short, there is no overlapping in Waterfall model.

For example, system design cannot be started until requirement analysis is complete. Because of this nature, each phase of waterfall model is quite unambiguous and well defined. Also, the phases fall from higher level to lower level, like a waterfall, it’s named as waterfall model.

Following are the activities involved in different phases:

Phase Name Activities\Tasks Final Deliverables
Requirement Analysis 1.     Capturing of the system requirements.

2.     Walkthrough of complete requirements by complete team.

3.     Understanding feasibility in terms of design, development, test, deployment, maintenance, resources.

4.     At this point Dev-Team starts to look at feasibility, gaps, architecture to be followed, technologies to be used, if required new third-party software requirements, etc.

5.     Similarly Test Team starts to brainstorming the complete requirement along with defining steps to follow in static testing.

6.     BA provides complete UML or use cases to analyse each and every sub requirement for the team.

SRS (System Requirement Specification)
System Design 1.     Starts with complete system architecture.

2.     Based on this start defining the hardware / software requirements.

3.     Define the various internal parameters of this design like navigation, flows, authentications etc.

4.     Define the various external parameters of this design like performance, security, data access and storage methods.

1.     HLD (High Level Design document)

2.     LLD (Low level design document)

Coding 1.     Create the various modules based on design.

2.     Measure code coverage etc parameters by using code metrics.

3.     Do Unit testing of the code.

1.     Components or modules of the system

2.     Unit test cases and results

System Testing 1.     Integrate components of system and start testing.

2.     Perform all the testing activities (Functional, non-functional) to make sure that the system meets the requirements.
3. Do regression needed as per fixed issues and report.
4. Track complete test progress using traceability metrics, ALM.

1.     Test cases

2.     Test reports

3.     Defect reports

4.     Test matrix.

Deployment 1.     As per SRS, set up the solution deployable environment.

2.     Deploy the release package as per the test exit criteria defined.

3.     Perform a sanity check.

4.     Share the progress and complete report.

1.     User Manual

2.     Environment definition / specification

Maintenance 1.     Monitoring the system via various options like healthcheck, jobs etc and ensuring the system is up and running in the respective environment.

2.     Raise issue tickets post root cause analysis as per customers issue.

3.     Redeploy the solution addressed in last step.

4.     Deploy new features as per change request.

1.     Update User Manual with proper version on system build

2.     List of production tickets

3.     List of new features implemented.

4.     Other supporting docs for on-premise support etc

 

Representation of waterfall model:

 

What is Waterfall Model?
What is Waterfall Model?

 

When to use SDLC Waterfall Model?

SDLC Waterfall model is used when

  • Requirements are stable – You don’t see any frequent changes in the ground level requirements.
  • Requirements are not ambiguous – There is no requirement which is not understood and every requirement is well captured in detail.
  • Tools and Technology is clear – Technology and tools to be used is well understood, stable and is not dynamic.
  • Resources – Resources are expert and are available.
  • Duration – The project is short.

Advantages of using Waterfall model are as follows:

  • Simple and easy to understand and use.
  • For short duration projects, waterfall model works pretty well.
  • The projects are easily maintainable as no one phase overlaps another and each phase is determined by specific deliverables for completion of themselves.
  • Results are well documented.

Disadvantages of using Waterfall model:

  • Cannot adopt the changes in requirements
  • Giving sign-off to any phase of waterfall model is final.
  • Customer cannot predict the working, UI features properly of the end product unless it is completed.
  • If changes are introduced the cost, duration, resources all may change to higher rate.
  • The product developed with chosen technology may be worthless as it usually takes 2-3 yrs for a single product to be completed. Till this time new technologies with fast compilers, new IDE etc may evolve; which may obsolete the chosen technology here. Hence lots of expert panel is required which may again increase the cost here.

Why people still prefer this model?

Organizations for say in healthcare usually follow waterfall. The major reason behind this is that they have to do lots of compliance checks before launching any software product as per the country law.

For instance if we talk about European companies then they have to follow IHA,  GDPR etc. So in iteration model this cannot be done as requirements are usually vague out there and hence they follow waterfall.

 


Conclusion:

In the waterfall model, it is very important to take the sign off of the deliverables of each phase. In fact, each phase’s output becomes the input of the next phase. It is obligatory for a phase to be completed before the next phase starts. In short, there is no overlapping in Waterfall model. If the system requirements are pretty straightforward, feasible and testable, Waterfall model will yield the best results.

 

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

advanced-floating-content-close-btn
https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5034726663464946 (adsbygoogle = window.adsbygoogle || []).push({});
advanced-floating-content-close-btn 
*************************** Do you want to learn TOSCA? Do you want to excel in Career? Try my New Courses: 1. Tricentis Tosca and Working with Excel   2. Tricentis Tosca and UI Automation Great News!!   Price has been slashed down for limited period of time.So Hurry!!! Click The Shown Links and Enjoy Learning. ***************************
 
error: Content is protected !!