Before understanding the agile and JIRA, you must be aware of the waterfall model.
What is a Waterfall model?
Waterfall model is the oldest model used by an IT industry to develop the software.
There are various models and processes which are used by different companies, but the waterfall model is the oldest, safest, and easy model in the IT industry.
It is the easiest model for building software that represents real life.
Let's understand the Waterfall model.
Waterfall model is broken down into multiple phases:
Requirements
Consider if there is a client and he wants to develop software, then the client reaches out to the company. Suppose he reaches out to the service-based company and asks the company to build the software for me.
What does the company do?
Company will collect all the requirements, the knowledge that the customer has or the client want to have on his software, the company will collect all the information from the client and prepare the documentation. Once this activity is performed, then the design phase gets started.
Design
In this phase, we prepare the high-level and low-level designs. Before developing the software, the design of the software is required. Suppose the customer wants e-commerce website similar to the Amazon, then UI(User Interface) of the website will be made by the designer and dataflows are also designed in this phase that how data will flow. Once this phase is completed, the development phase will get started.
Development
In the Development phase, the software development team starts coding and developing the software. This is the longest phase of the waterfall model as developers need more time to build the software. Once the development of the software is completed, then the project is handed over to the testers.
Testing
The testing team will test the software, and if any bug is found, then they inform the developers about the issue they found and make sure that the bug is fixed. They ensure that the end-to-end software is completed.
Deployment
Once the project is tested, the project is deployed so that it becomes live to the real-time users.
Maintenance
Finally, the project is deployed and available to the clients. Clients want the maintenance period for one or two years because if any bug is found or want a slightly enhanced feature in the project, so they need some team to handle such stuff. Due to this reason, they go for the maintenance period.
Example of Waterfall model
Suppose the client wants an app like a WhatsApp, so he reaches to the company where both the company and the client had a discussion for 2 months. The company made the documentation of all the requirements in 2 months. Now, the development team starts developing the software and suppose it took around 10 months to develop the software. It means that 12 months have been used, i.e., 2 months in requirement phase and 10 months in a development phase, but still the client does not have the idea about the internal phases. Once the development is completed, testing is done, and it will take around 2 months for software quality testing. Once the testing is done, it goes to the integration and launch so that WhatsApp will become live. However, when it reaches to the client, then the client says that it has taken more than a year and the software that I received was not what I expected. This happened because the client had only verbal communication with the software team. If the client wants some changes in the software, then the whole process will be executed again.
Advantages of the Waterfall model
- Simple and easy to understand and use
It represents all the tasks that you want to do in real life. For example, you need the requirements of a client. It contains different phases, and each phase is started only when the previous phases get completed. - Specific deliverable and review process
Each phase has a specific deliverable and review process. After the requirement phase, we have all the requirements of what the customer needs. Once the software is developed, we have its deliverable. - Phases do not overlap
In this model, phases do not overlap, i.e., they are completed once at a time. Once the previous phase is completed, then only the next phase gets started. For example, the Development phase will start only when the design phase is completed.
Disadvantages of the Waterfall model
- Time to market is high
Product is released only when all the phases are completed. Therefore, this model takes a long time to release the product. - Unexpected results
What you expect and you receive are mostly different as the customer has an idea as per the documents only about the product. The client has only an idea, which is a documented idea. - Not suitable for changing requirements
This model is not suitable for the projects where requirements are at a moderate to high risk of changing. If the requirements are changing, then this model is not recommended as all the requirements are done at the requirement phase, which is a very time taking process.
No comments:
Post a Comment