V-Model:

The V-model represents a software development process (also applicable to hardware development) which may be considered an extension of the Waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development Life Cycle and its associated phase of testing. The horizontal and vertical axes represents time or project completeness (left-to-right) and level of abstraction (coarsest-grain abstraction uppermost), respectively.                                                                                                                          The V Model, while admittedly obscure, gives equal weight to testing rather than treating it as an afterthought.Initially defined by the late Paul Rook in the late 1980s, the V was included in the U.K.’s National Computing Centre publications in the 1990s with the aim of improving the efficiency and effectiveness of software development. It’s accepted in Europe and the U.K. as a superior alternative to the waterfall model; yet in the U.S., the V Model is often mistaken for the waterfall.                                                                                                               The V shows the typical sequence of development activities on the left-hand (downhill) side and the corresponding sequence of Test execution activities on the right-hand (uphill) side.

V-Shaped Strengths:

  • Emphasize planning for verification and validation of the Product in early stages of product development
  • Each deliverable must be testable
  • Project management can track progress by milestones
  • Easy to use

V-Shaped Weaknesses:

  • Does not easily handle concurrent events
  • Does not handle Iterations or phases
  • Does not easily handle dynamic changes in requirements
  • Does not contain risk analysis activities

When to use the V-Shaped Model:

  • Excellent choice for systems requiring high reliability – hospital patient control applications
  • All requirements are known up-front
  • When it can be modified to handle changing requirements beyond analysis phase
  • Solution and technology are known