Tech
Software Engineering: The Waterfall Model Continued…
By
TeamPublished on
In the previous article, we discussed how Software development and its procedure take place. We discussed that it’s a linear sequential life cycle and no process overlap. The process repeats only if the whole cycle starts again on any particular project. Every step is followed by another. If we did not gather requirements, we will not move towards the design phase and implementation cannot take place without the design process. Only after implementation, we will test each unit individually and as an integrated software. The software will be deployed after all the functional and non-functional requirements are fulfilled. We can move forward to the next phase after completion of the previous phase. One phase signed off and the other sign in. Its linear approach is the reason the process has no complexity and also does not overlap.
Application of Waterfall Model
In this section, I will discuss the software development environment in which the waterfall model is applicable.
- Waterfall Model applies to the condition if the requirements are clearly defined and have no ambiguity. The requirements must be clear and fixed.
- The software under development must have stability. The product will remain stable for a specified time under a special environment.
- The technology must not be changeable. The technology is easily understandable and does not change with time,
- The software must not be complex and does not have any ambiguity.
- The software development team must have enough resources and a strong team which possesses development skills.
- The project must not be complex and have short or simple logics which can be performed linearly and are not inter-dependent.
Pros
The positive aspects of the Waterfall Model are as follows
- In software development companies, it often happens that the people resign and the new people join in. It is the advantage of the Waterfall model that its documentation is easily understandable and the newly join member to get it easily.
- The application is easy to use and implement.
- As every step is separate and no parallel work is happening. Coordination between the people becomes easy and they check the whole process individually. After the completion of each step, the whole team discusses it.
- There is no hype in the development because only one task is performed at one time.
- Waterfall Model is the best fit model for the small projects.
Cons
Everything has two sides, similarly along with advantages Waterfall Model has many disadvantages.
- Common People don’t have a lot of knowledge. They are not able to clearly define the requirements and in most cases, they miss the requirements. After the development team finishes the first step client comes up with the new requirement, in such a case Waterfall Model is not applicable and could not accommodate the new requirement and harms the overall process.
- Development is not an ideal case, they are many problems and issues expected and Waterfall Model is stuck in this situation.
- If the new requirement is added by the client, there are extra charges of the requirement because the team has to start the process again. In this case, the issue may arise between the client and the team.
- As one process can be executed at a time, so there is no defined time for the development of software using the Waterfall Model.
- Prototypes can only be released after the completion and it is a big problem.
- A complex project cannot be developed by this approach.
- Going Back to the previous step is not possible if the problem or bug arises. Error in any step destroys the whole process.