The V model has played a huge part of the evolution of developing that we see today. Legend has it that it was developed in Germany during the early 1990’s and its mission was to describe the complex ritual of what we today know as developing. The model describes needs, that gets broken down to System architecture which leads to detailed design. The steps of the V model have many names so keep that in mind if you ever talk to someone about this model. However, the fundamental principle is to create requirement(s) structure based on a need. The second and third level of the model describes that development takes place and at the bottom we so how the developed system is tested. At the “test” step we need to keep in mind what I wrote earlier; a step of the model can be called different things depending on who you talk to. Some refer to testing activities as Test, validation or verification. All three concepts are important to consider when assuring oneself about the quality of the product/system. I keep this note always in my head:
- Validation – Do the requirements fulfill the needs of the end users?
- Verification – Do the system/product fulfill all the set requirements?
- Test – The action of exploring and exposing the product/system to tasks and challenges the requirements do not cover.
This is a rough simplification of the principles of the V model, but it helps me keeping the concepts apart.
The V model was designed during a time when the waterfall principle was the most common way of working in a product or software development project. Today the world is a bit more agile, and we tend to use a more agile process of working in such projects. It’s my personal perception that everybody wants to work in an agile way, but we tend to look at what it means differently. My point is that we aim for smooth and flexible development model, and that’s great! So how does the V model adapt to the more agile way of working?
At the first glimpse, maybe not that well. But when you include factors like no one works the same way even though it’s called agile the V model presents a common foundation we can share and lean on. We might call the steps different name, but we can still follow the steps in the same order.
The V model is also a great tool for presenting and explaining the concept of Test and QA. It shows a need of test and QA at all steps of a developing process and not just the bottom. Personally, I’m going to keep using and teach the V model to the upcoming generation of testers that cross my path. Not to strive backwards, but in order to find structure in an agile world that tends to change rapidly.
P.S. I aware of the fact that an agile promoting person rarely likes the fact that the agile way of working is describes as stormy, hard to understand or unstable, but my personal experiences are that far too many organizations and companies don’t manage to reach all the way over the finish line and that can make a project seem stormy, rough and dizzy.
Me and my team are driven by helping others to guide their projects from start to finish without a stormy middle part, often by applying the V model. Do you want to know more or get our help in your project? Do not hesitate to contact us, we are here to help!
We wish a good day and thank you for reading!