There are three important aspects of the V-model:
The diagram below shows three levels, which is the minimum number in most safety standards. For more complex systems, such as an entire aircraft, there may be many more.
Generic V-model (e.g., DO-178):
The V-model has several parents; it was developed almost simultaneously and independently in the USA and Germany in the early 1980s. In the beginning, when people still believed in fixed and unchangeable specifications, it was intended as a true sequence model. In some cases, it was also mixed with stage-gate models, i.e., the next phase could only begin after the previous phase had been approved.
The problem here, of course, is that there are always feedback loops, meaning that insights gained in a later phase or changes to higher-level requirements meant that “completed” phases had to be reopened. It therefore makes more sense to view the V-model as a data management model, which makes a certain sequence more sensible, but does not strictly dictate it.
Incidentally, the V-model is also referred to as an “unfolded waterfall.” Unfortunately, this is not accurate. The „Waterfall” paper by Royce does contain graphics on the first two pages that depict the phases as a pure sequence. However, this quickly changes on the following pages, with the author even warning against a linear model...
The V-model is used in the following domains:
Without the V-model, there is often no structure, or it exists only implicitly, which in large systems can lead to huge „piles” of requirements that are difficult to manage.
Overall, the V-model leads to higher upfront costs („front loading”), but lower costs towards the end of development and, above all, during maintenance.
„Divide and conquer” in the V-model (no a Gantt chart anymore):
Even though many sources (e.g. V-model in Wikipedia) describe it this way, it makes little sense to view the V-model as a Gantt chart or process model. It makes much more sense to view the V-model as a data management model or document structure. The link to the project management model is only loose. The sequence should be driven primarily by risk considerations: first do and try out what is associated with the greatest risks.
Of course, the V-model does specify a certain logical sequence. For example, it makes little sense to approve low-level requirements before the higher-level ones have also been approved. However, no one says that you cannot start something at another level before the higher level is „finished.”
Often the problem is not the model, but the organization. If the person in charge (quality, management, auditor...) understands the model as a pure sequence model, then it can be difficult to flexibly carry out a project without wasted effort.
The V-model we use internally is mainly based on aviation. We have also included the architecture and design documents in traceability for impact analysis, but not coverage.
Interface documents are implemented separately from the architecture and specification documents at each level. This makes it easy to reference the interface requirements across the levels (otherwise, you would often have to copy the top-level interface requirements down to the lowest level, which makes no sense). This approach is possible because pure interface requirements cannot be tested without the functionality, anyway.
Tests are divided into test specifications and test instructions, the latter are the test code for automated tests.
This model can be adapted for all functional safety and security standards; for non-critical systems, unnecessary documents are omitted, typically lower levels („tailoring”).
Solcept documentation model (simplified, especially traceability):
Projects? Ideas? Questions? Let's do a free initial workshop!
No Comments