V model is a verification and validation model used in a software development life cycle where each level of development life-cycle is verified before moving to the next level. It is a sequential execution of the process in which each phase is completed before the next phase begins.
The V development model is suitable for small and medium-sized projects where the project requirements are well known.
1. High success rate: Testing starts as soon as the project requirements are written. Test activities like planning, component checking, and designing are conducted before coding takes place to detect bugs at early stages. This increases the success rate of the product and also saves a lot of time.
2. Easy to manage: The model is simple to develop and easy to use. Each development phase has well-defined objectives.
3. Defects tracking: It uses proactive defect tracking to ensure any defects in the product are caught in the early development stages. It minimizes the future potential of defects in the product code and ensures no downward flow of defects.
4. Effective for small projects: V-model lifecycle works well with small projects where system requirements are well known and not expected to change.
5. Step-by-step process: V-model development is a systematic process which completes one phase before moving to the next phase.
6. Specific deliverables: Each phase of the product development life-cycle has specific deliverables which are well defined and a test plan is prepared to test the product in that phase.
7. Less time: Compared to the waterfall model, V-model takes less time to develop and come up with deliverables at each phase of the development cycle.
8. High utility resources: V-model software development process relies heavily on utility resources to develop each phase of the project scope.
9. Cost effective: Since testing starts early in the development process, the project takes less time and cost.
10. Functional areas: It covers all functional areas to ensure instructions are recommendations are provided and give a detailed explanation of the problem involved.
1. Rigid procedures: V model sequential processes are rigid and not suitable if the requirements are not consistent.
2. Final product: The client can only see the final product, he can’t see the intermediate modules of the product being designed.
3. Not suitable for complex projects: This software development model is not suitable for large and complex projects. If you have a large project with frequent change of project requirement, you have to choose another development model.
4. No prototypes required: There are no early prototypes needed prior to the development process. The software product is developed during the implementation phase.
5. Inflexible: V-model is inflexible and encourages a linear view of software development and has no inherent ability to respond to any software changes. Adjusting the scope of the project is very expensive.
6. False sense of security: V-model life cycle is too simple to accurately reflect the software development process and this may lead to a false sense of security.
7. No precision: V-model lack coherence and precision
8. Encourage rigid link: There is a rigid link between the equivalent levels of each phase. It doesn’t encourage testers to choose the most efficient and effective way to plan the product and execute testing.
9. Frequent updates: If there are changes in the product, the test documents and requirement documents need to be updated.
10. The risk in meeting customer expectations: Since there are no prototypes designed as a working model for the project, sometime it may be difficult to meet the customer expectation.