ISTQB - Waterfall Model

In last article we have seen the details about the software development models in which all model names have been mentioned. Now in further articles we are going to understand each software development model in detail. Each software development model will be described with its advantages and disadvantages. Let’s start with waterfall model.

This software development model is the first procedure model. That’s why we can call it introductory software model and it is known as linear sequential life cycle model. As this is very oldest model, it is very easy to understand and we can use it easily. In this model, each step should be completed before starting the new step of software development. This kind of software models are basically used for small project and the project which will not require more updates.
ISTQB - Waterfall Model

Now we will understand each level of waterfall model.

1. Requirement Analysis:
This will be most common step of each model as requirement gathering is the basic steps to start a new project or to implement new changes in any application and product. Document procedures are taken place here. In waterfall model, all the requirements of a project will be discussed in this phase only. Once a document have been prepared and approved then it won’t be changed afterwards. As after completing of requirement gathering and analysis, development phase will be started accordingly.

2. Design:
Design creation will be done in this phase. After the requirement analysis, design of the application or product will be specified here. Which model of the application will be done together, which will be more important module? How to do integration of different modules of the application or product. These all terms will be finalized here in this phase. Whether it will be a hardware design or software design, it will be approved with the proper documents and it won’t be updated after the coding steps will be started.

3. Coding / Development:
The name itself suggested that coding of the application will be done in this level. As per the design and requirement analysis, coding phase will be began by the development team. They will divide the work within team and focus on the modules which have integration between different module of application or product. Even unit testing will be done in this phase. All the code review procedures will be done by the senior persons and unit testing will be done by the development team after the implementation of whole code. The code will not be modified once it will be passed on to the testing team. Only the bugs will be resolved after the testing procedure will be completed.

4. Testing Procedure:
Testing procedure will be started by testing team after development phase will be fully completed by developer team. Once a testing phase will be started, development team will not update any kind of code in application or product. Respected bugs and improvement have been logged by the testing team with its priority so developer team will get idea about how they can resolved the issue and which issue needs to be resolved on high priority. This is all about the testing phase.
After completion of testing phase, developer team will work on the bugs and resolved them as soon as possible. Afterwards testing team will do the regression testing and finalize the product or application release.

5. Deployment:
Deployment of the application or product will be done on the customer environment. It may happen that everything will work perfect in development environment after doing all functional and non-functional testing but sometimes it may happen that some configuration can be required to release the application on client environment. These all procedure can be done in this phase and bug free release will be deployed on client side for verifying.

6. Maintenance:
In maintenance phase, all the updated needs to be deployed on client’s environment at perfect time. If any new changes have bene done in code for improvement then it must be deployed on client’s environment. Any bug will be resolved by developer team which have been identified after older deployment then it must be deployed with all code correction. These all activities should be done in maintenance phase. Version system should be maintained properly with all deployment procedure.

Now we will see when to use waterfall model:
  1. If Product or application will have small time period to develop.
  2. When requirement is clear and will not be changed frequently.
  3. Tool and technology which will be used for application should not be changed frequently.
Pros of waterfall model:
  1. As document is well define here in requirement phase, this would be the best thing to maintain the application.
  2. Mostly used for small product or application
  3. Quality will be given if entry and exit criteria will be well define.
Cons of waterfall model:
  1. Not work for Log term product.
  2. If any changed will be required after development phase and it will be identified in testing phase of application then it won’t be accepted in this model. 
  3. Complex project will not proceed with this model as risk factor will be high with this. 

No comments:

Post a Comment