In: Operations Management
List the phases of Waterfall methodology and list the roles involved in each phase.
Roles given include - project sponsor, business analyst, SME, database designer, system designer, software developer, quality assurance
Water Fall model is the traditional and one of the popular models of SDLC(Software Development life Cycle). It is a sequential model that has various phases with each phase designed to perform a specific task that leads to completeion of the life cycle of project.It was introduced by Winston Royce.In waterfall model we have 6 phases that leads to product completion , during the life cycle the software development transitions from one phase to the next phase only after the previous phase is fully completed and hence the water fall model.
Below are the 6 phases in Water Fall model
Requirement Analysis:
During this phase all the product requirements are collected from the client and documenting them. It basically explains what is expected from the product developed. This documentation is basis for the next phases of development
Advantages:
The team have a clear understanding of what needs to be built and have ample time to analyise and build the product from scratch.
Disadvantages:
The requirements from client might change for various business reasons while the product is being developed and the initial collected requirements might completely change or be less useful .
System Design:
In this phase all the technical details and resources like the programming language and database, cloud platforms are decided based on the requirements given that best suitsthe product.
Advantages:
Careful planning reduces many problems in further development process
Disadvantages:
In case of large projects the planning could often be difficult and inacurate that could lead to delay in the planned schedules, doesn't support any intermediate changes in the resources used.
Implementation:
During this phase the product is actually built using the outcomes of previous two phases. On other words coding and developing the product as per the requirements
Advantages:
The team have a clear and planned understanding of what needs to be built and the tools they neeed to use to complete the phase
Disadvantages:
It doesn't allow for any changes that the client may need after finishing the first two cycles, most of the features might become redundant to the clients by the time the phase is completed
System Testing:
All programs must be tested in order to understand if it's working as expected, validate it for any errors or bugs, security issues. All these testings are completed during this phase
Advantages:
It helps mimize the issues in production i.e when the clients are actually using the product.
Disadvantages:
Limited coverage of application as the testing is done in development environment. Not all features can be tested during this stage
System Deployment:
This phase involves deploying application to the respective environement and making it accessible to the clients .
Advantages:
We have a fully developed application that meets the requirements
Disadvantages:
The requirements from the clients often change during the development process and the deployed application may be outdated.
System Maintenance:
During this phase any changes required are applied based on the requirement upgrades or security concerns . It may involve adding new features and removing some of the already developed features.
Advantages:
Should help in making the product more relavant to current time and more useful
Disadvantages:
There could be a total re writing of code if the product couldn't meet the expectations of client.