Home Tutorials Software Engineering The Death of the V-Model
The Death of the V-Model

The V-Model of software development is widely in use today, especially in the defence industry. It’s a pity then, that it is fundamentally flawed, and that it is responsible for misleading project managers into thinking that the project they are about to undertake is well understood. The reality is that the more the V-Model is used as a tool to manage the software development process, the more likely that project is to fail.

The V-Model of Software Development

The following diagram is a typical representation of the V-Model. The development life cycle follows a fixed path from Requirements Analysis to Operational Testing and subsequent delivery to the customer. Testing tasks are generated from knowledge gained from development tasks, for instance the High Level Design will generate the Integration Tests. A project following this model will move through these tasks one at a time, moving on when the current task is completed.

V-model

This model does have a number of good points, such as:
  • It defines tangible phases of the process, and proposes a logical sequence in which these phases should be approached. It also defines a logical relationships between the phases.
  • It demands that testing documentation is written as soon as possible, for example, the integration tests are written when the high level design is finished, the unit tests are written when the detailed specifications are finished.
  • It gives equal weight to development and testing.
  • It provides a simple and easy to follow map of the software development process.

However, this is as far as it goes. This simple model does not account for the complexities involved, and thus can prove to mislead a project manager if relied upon.

The Dying V-Model

Let us take a look at the software development process for a moment. As stated by P.G. Armour, in "The Laws of the Software Process"¹, software development can be viewed as a quest for knowledge.

Like a climber planning a route over glaciers and up a mountain face, the destination is clear, but getting a safe route up the mountain and back down again takes a mixture of careful planning and an adaptive approach to events. The climbers may find impassable chasms, dangerous overhangs or unpredictable changes in weather. The plan will probably change.


In the software development world, you can bet your last dollar that the plan will change. That means that the software development model has to model change. The V-Model does nothing to accommodate change, and this is the primary reason why it fails as a model.

A second reason whey the V-Model fails, is in the testing phases, and has been illustrated by Brian Marick². He explains that implementing unit tests and integration tests as single, separate phases results in a thoughtless approach to testing. For example, a single unit test will require a custom test harness. Each unit may require a different test harness. For a large projects with lots of units, this could prove to be costly and problematic. It could be a better idea to test a unit when connected to the actual system, using the system to deliver test messages. The point is that no thought is being applied to the trade-offs involved in testing early, testing late, or testing as-you-go.

The V-Model is Already Dead

In reality, a development project that is working is not following the V-Model, even if management believe that this is so. This is because good engineers are flexible and adapt to problems, they are able to expect and respond to change. They test code when it has been written, to get a feel for the system. Extremely good engineers even update the documentation when the design changes!

The Final Nail in the Coffin

The most damaging aspect of the V-Model is not in the model itself. Any model is an approximation, and this model does at least provide some value. The biggest problem arises from the manager’s steadfast reliance on the model, making the assumption that the model is a ‘tool’ to be ‘used’. When the V-model is accepted as a good model for software development, it blinds the project manager to the realities of the software development process, and distorts this process to the point whereby it is counter productive. It is like a one dimensional view of a four dimensional universe - fundamentally flawed and very far removed from reality. As it is this bad, don’t even bother to mention it except in the history books as a dead model.

RIP V-model

Conclusions

The V-Model is an inadequate model for software development for the following reasons:

  • It is too simple to accurately reflect the software development process, and can lead managers into a false sense of security.
  • It is inflexible; it has no ability to respond to change.
  • It produces inefficient testing methodologies.

It is time to lay the V-Model to rest. RIP V-Model !!!

 

¹ "The Laws of the Software Process", Philip G. Armour, Auerback Publications, 2004

² "New Models for Test Development", Brian Marick

The original pdf can be downloaded: icon Death of the V-Model (76.9 kB)



Quote this article in website Print Send to friend Related articles

Users' Comments (9) RSS feed comment

Posted by Vino Gounden, on 07-08-2009 08:53,
1. Senior Test Manager
Every IT projects has different needs and as such different methodolgies may be used based on time, resource availability and cost.  
I have used the V model for many projects and most of these projects were successful. The most important issue is to anticipate change which we all know is inevitable during a project. Project Scope change if well managed, can still be inc-operated within the V model. I have in some instances combined the Waterfall Methodolgy with the V Model and Six SIgma whereby we would have a Few V models within a single project.  
 
Long Live the V Model.........! Regards Vino Gounden
 
» Report this comment to administrator

Posted by Raman Mittal, on 28-07-2009 14:43,
2. V Model i not right Model
V Model is not right because after switch to the next phase can you move back if SRS goes change. 
 
 
Regards, 
Raman
 
» Report this comment to administrator

Posted by shiva, on 04-05-2009 06:52,
3. Doubt
If V model is failed, How it is used by many software organizations(MNC's). I seen that wipro and many other companies are using V-Model as their process model.
 
» Report this comment to administrator

Posted by Ed Liversidge, on 27-10-2008 10:52,
4. ...
Thanks for your extremely valuable comments. I think that your perspective on the V-Model shows that it can be used when it is tied into processes and when there is a lot of thought applied to exactly how the V-Model is to be employed during the software development lifecycle. Bravo.
 
» Report this comment to administrator

Posted by M. Baggen, on 23-10-2008 19:37,
5. ...
To me, the V-model is very, very much alive. However, that has to do with the interpretation of the V-model. The author of the article on this website seems to interpret it as a sequential fase or stage model. And yes, in that sense it is fundamentally flawed...  
 
However, in my interpretation it shows the relations between a set of life cycle processes and their input and output products, in the sense as described in ISO 15288 en ISO 12207. Because these processes can be performed in any manner you like (sequential, parallel or iterative), this (interpretation of) the V-model is extremely elegant and flexible, and very, very relevant for any systems or software engineering practitioner. 
 
The V-model is dead, long live the V-model!
 
» Report this comment to administrator

Posted by Ed Liversidge, on 08-09-2008 13:21,
6. ...
Thanks for the comments. I guess JoNo has highlighted another problem, in that even if the theory is sound, there seems to be little in the way of V-Model processes to actually use the V-Model effectively. Ditch it!
 
» Report this comment to administrator

Posted by JoNo, on 05-09-2008 18:35,
7. ...
All: 
Not sure about the failures, but I've seen many failures using waterfall and "interative waterfall" approaches. I am embarking on using the V-Model for an ERP implementation, leveraging the method for development activities going forward. 
 
I think that concept is solid (as with most well-thought out methodologies). It's usually the implementation that sucks.... 
 
Highest Regards, 
JoNo
 
» Report this comment to administrator

Posted by Kim, on 20-06-2008 16:08,
8. ...
...because politics play a role...
 
» Report this comment to administrator

Posted by Ed Liversidge, on 10-06-2008 16:22,
9. ...
The link from wikipedia states that this article applies to "small software projects but not large systems of systems". Has anyone really developed a large working system using the V-Model? If the V-Model was so good, how come so many software projects continue to fail? 
 
Any comments???
 
» Report this comment to administrator

Add your comment



mXcomment 1.0.8 © 2007-2014 - visualclinic.fr
License Creative Commons - Some rights reserved

 

Our Customers Say...

"... your delivery is working and your code is clean and of the highest quality" -- Matthieu Sarrazin Project Manager, Wind River Services

Related Items