1.5 V-model
V-model is a very good tool to give a meaningful picture about project management phases as it defines easy to understand phases of complex systems' development stages. However, several different versions and interpretations exist of the V-model. Please note, that here we give one interpretation.
Figure 1.5: Basic V-model
During the development phase we define acceptance criteria to the conforming testing phases – all progress of each development phase is monitored and checked during the testing phases.
The development phases aim to produce an operational version of the unique result:
- Requirements: “something that is needed or that must be done” (Merriam-Webster)
- Design: “to plan and make decisions about (something that is being built or created) : to create the plans, drawings, etc., that show how (something) will be made” (Merriam-Webster)
- Implementation: “to make (something) active or effective” (Merriam-Webster), something here means the design plans
The testing phases aim to ensure that the version produced by the development phase is reliable and usable:
- Implementation verification: is the implementation (of small building blocks) acceptable in itself?
- Integration verification: is the implementation (of the whole system) matches the original design?
- System verification: is the implementation (of the whole system) matches the requirements?
Fixing a discovered problem during testing is expensive therefore reviews are highly suggested to be performed during development:
- design review: checking whether the design plans fit the requirements
- implementation review: checking whether the implementation fits the design plans
Most of the popular and well known V-models look like the previous one. However, there are some very important further phases and steps in an extended version of the V-model.
Figure 1.6: Extended V-model
In the modified form we have further reviews:
- reviewing the requirements by the requester / user
- reviewing all development phases to standards (i.e. these phases should be developed considering these standards)
Two stakeholders appeared during development:
- Requester, user: who request the new system (scope, unique result)? who will use it?
- Domain expert: she is able to collect and describe the needs and demands of the requester, user
Related to the new two stakeholders two phases appeared during testing:
- System validation: does the final system acceptable by the domain expert?
- System accreditation: does the final system acceptable by the user(s)?