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)?