Recognizing insufficiencies with all Waterfall based models including their own Vee-Model, Forsberg and Mooz continued to refine their thesis. They presented a Dual Vee-Model in a 2006 paper titled “The Dual Vee – Illuminating the Management of Complexity.” In the abstract they said:
The Waterfall, Spiral, and Vee models are reminder models that guide us to less perilous paths when developing solutions to problems. Dr. Royce’s Waterfall (Royce 1970) provides an orderly approach to software development. Dr. Boehm’s Spiral (Boehm 1988) provides emphasis on solving known software risks before proceeding with Royce’s Waterfall. The Forsberg/Mooz Vee Model (Forsberg 1991) embraces full systems development by including details of integration, verification, and validation and opportunity and risk management in the symmetry of the Vee development sequence. However, all of these single solution development models fail to address the necessary concurrent development of a system’s architecture with the entities of that architecture.
While the original Vee-Model allowed for off-core concurrent engineering, the Dual Vee moves those off-core activities into core processes. In discussing the shortcomings of the Waterfall variants, they said:
“All of these popular development models, while quite accurate in their contributions to solution development, fail to adequately address the real life challenges of concurrently developing the system’s architecture while at the same time creating the architecture entities that are in various stages of their development especially when COTS, NDI and new development are all part of the architecture. Since our original Vee model did not clearly provide this aspect we have developed the Dual Vee…”
The Dual Vee Model recognizes two types of system development maturation in an Architecture Vee and an Entity Vee. The system architecture is defined as a “complement of entities that are to be realized at all architecture levels.” Entity development is “the creation of each entity within the architecture complement.” These two Vee models represent separate but concurrent paths that intersect at various points along the development life cycle culminating in system realization.
In concluding their paper, Forsberg and Mooz said, “Development of systems and system of systems requires the concurrent development of complex architectures and the entities of those architectures. A model has been needed to depict the required multi aspect decisions required to ensure correct and progressive development of both architecture and entity baselines. The Dual Vee Model offers the features of concurrent development, in parallel opportunity and risk management, integration, verification and validation planning, and anomaly resolution. It is a comprehensive reminder model that can remind us of our industry’s best practices, if we allow it to.”