The Dual Vee Model addresses the necessary concurrent development of a system’s architecture with the entities of that architecture and illuminates the necessary interactions and sequences recommended for orderly maturation of a system and systems of systems. This article explains the power of the Dual Vee Model when applied as a reminder model for development of complex systems.

Introduction

edit

Thomas Kuhn observed in his noteworthy The Structure of Scientific Revolution[1]

"The power of science seems quite generally to increase with the number of symbolic generalizations its practitioners have at their disposal."

Models simplify our life by clarifying the complex and by explaining the difficult to understand. They also facilitate our explaining to others the principles we hold dear. In systems engineering we model just about everything. We routinely make user requirements understanding models, technical feasibility models, physical fit models, and we model complex operational scenarios to gain the required comprehension and we then hone the models to achieve even better solutions.

When systems engineers develop systems they frequently rely on current models to guide their way. However, the most prevalent models, waterfall, spiral, and Vee have not been sufficiently explicit regarding the concurrent development of the system architecture and the entities of the same system.


Development models background

edit

Waterfall Model[2] -- A software development method defined by Dr. Win Royce in 1969 to promote a sequentially phased software development process. The model promotes knowing the requirements before designing and designing before coding, etc. The objective was to provide a repeatable process to the then undisciplined (generally ad hoc) software development environment. While the model is accurate for what is depicted it is silent on user involvement, risk management, and most importantly, it is a single solution model that fails to address architecture development that is inherent in all multiple entity systems. Although designed for software, the model can be applied to hardware and system development.

Spiral Model[3] -- A software development method defined by Dr. Barry Boehm in 1980 to promote the management of recognized risks prior to attempting traditional phased software development. The model promotes resolving requirements, feasibility, and operational risks prior to proceeding with the traditional waterfall phases. The objective is to involve users and stakeholders in resolving recognized software development issues preceding concept development and design. This model is accurate for what is depicted but it also fails to address the problems of architecture development and management. Although designed for software the spiral model can also be applied to hardware and system development.

Vee Model[4][5][6][7][8] -- A system development method defined and elaborated by Dr. Kevin Forsberg and Hal Mooz from 1987 to 2005 to address system development issues of decomposition, definition, integration, and verification. The model also includes user/stakeholder participation, concurrent opportunity and risk management, and verification problem resolution.

Model shortcomings

edit

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 the original Vee model did not clearly provide this aspect, the Dual Vee Model[9][10], was created and it is experiencing increasing acceptance and adoption.

The Dual Vee Model

edit

The Dual Vee Model recognizes that there are two types of maturation in system development. The first view is the development and maturation of the system architecture which is composed of a complement of entities that are to be realized at all architecture levels. Architecture development and realization is represented by the Architecture Vee. The second development type is the creation of each entity within the architecture complement. Entity development and realization is represented by the Entity Vee.

The Architecture Vee

edit

Project cycles progress in a series of phases usually depicted horizontally consistent with traditional time convention.

 
Architecture Development Vee Model (Provides What, Why, and Who). Source - Kevin Forsberg and Hal Mooz 2006.

The architecture Vee (figure - above) shows these phases as the progressive maturation of a system from system to subsystem and eventually to the lowest configuration item from the perspective of the systems engineer. For simplicity only three layers of entities are illustrated but the Vee could contain the seven INCOSE identified layers (system, element, subsystem, assembly, subassembly, component, and part) or more or less proportional to architecture complexity.

The vertical axis is architecture decomposition and the horizontal axis is solution maturation. The core of the Vee is the evolving architecture baseline from initial requirements to a delivered system. The Architecture Vee produces the what, why, and who (which entity level) is responsible for a system’s architecture.

Downward off-Vee core investigations (figure - below) facilitate gaining knowledge to justify architecture baseline decisions made on the Vee core. Upward off core communication with customers and users facilitates in-process validation keeping the stakeholders abreast of and committed to the evolving baseline. Note that in all Vee representations time and maturity move from left to right. Just as we cannot move backward in time, so too one cannot move from right to left in the Vee model representation. Iteration is essential in system development, and all iteration is done vertically off-core, upward to users and customers (which is in-process validation), and downward for opportunity and risk management, as shown in the following figure.

 
Vee Model - Opportunity and Risk Investigations. Source - Kevin Forsberg and Hal Mooz 2006.

The left leg off-Vee core investigations center around what concept is best and what architecture is best for that concept. For example, commercial products usually face the dilemma as to whether batteries should be standard, unique, replaceable, or not. Downward off-Vee core investigations and analysis can facilitate determining the most desirable approach that would then be baselined on the Vee core if the stakeholders agree. Similar investigations can prove the viability and technical feasibility of candidate concepts.

Right leg off-Vee core downward investigations (figure - below) are directed at investigating integration anomalies to determine their root cause and to correct them. Upward communication with stakeholders determines if they can live with the as-integrated and as-verified performance.

 
Vee Model - Integration and Verification. Source - Kevin Forsberg and Hal Mooz 2006.

At each decomposition level there is a direct correlation between activities on the left and right sides of the Vee. This is deliberate. For example, the method of integration, verification, and validation to be used on the right must be determined on the left as concepts are defined at each decomposition level. This minimizes the chances that concepts are conceived in a way that cannot be carried out.

The Entity Vee Model

edit

The Entity Vee illustrates the entity development and realization process which describes how each entity will be obtained (development, purchase, reuse, etc.). An Entity Vee (figure - below) exists for every entity of the architecture from the system, down to the lowest configuration items (LCIs), such as computer software units or hardware components. All activities within an Entity Vee reside at the same architecture level (System, Subsystem, LCI). The left Vee leg represents entity definition elaboration from very sketchy user requirements, through concept determination and on to design-to specifications and fully detailed build-to artifacts. The right Vee leg represents the sequence of entity assembly and performance assurance on through verification and validation of the entity.

 
Entity Vee Model (Provides How). Source - Kevin Forsberg and Hal Mooz 2006.

At each elaboration, there is a direct correlation between activities on the left and right legs of the Entity Vee. Again this is deliberate. The method of verification to be used on the right Vee leg must be defined as requirements are developed on the left, otherwise requirements might be created that could not be verified. For example “user friendly” is a valid requirement, but it is unverifiable. Instead, a requirement that a computer screen display have “no more that five lines of 14-point text” defines one user's view of “user friendly” in measurable terms. Verification plans should be baselined to ensure verification requirements and methods are known and planned for at the design-to decision gate, commonly called Preliminary Design Review (PDR). Draft verification procedures based on the verification requirements, verification plan, and proposed entity design should be available at the build-to and code-to decision gate, commonly called Critical Design Review (CDR). This reduces the chances that verification as specified cannot in fact be performed.

The vertical dimension of the Entity Vee is baseline elaboration at the selected architecture level and the core of the Entity Vee represents entity baseline elaboration progression. Also included (similar to the Architecture Vee) are the activities associated with opportunity and risk management, pursued downward and off-core to the level of detail necessary for issue evaluation and resolution. For example, laboratory test of a computer chip or of software code may be necessary to confirm technical feasibility. Unlike the commonly held view of the Waterfall Model, there is no prohibition against doing exploratory design and analysis at any point in the project cycle to investigate or prove performance or feasibility. Unlike the Spiral Model, the Vee opportunity and risk investigations may be performed either in series or in parallel with the on-core development work, rather than being conducted sequentially and prior to the design development process. Hardware and software requirements-understanding models or technical feasibility models are encouraged early in the project cycle to pursue opportunities, such as new technologies, and to reduce risk. For instance, to evaluate a concept of a manual override versus full automation, technical feasibility of the two concepts could be modeled with selection based on response time versus cost. Customer confirmation could then provide valuable in-process validation of the preferred approach.

In the right leg, downward off-core investigations are applied to resolve assembly and verification anomalies. This may require descending to design errors, a cold solder joint, or operator error and the like. Upward off-core user interactions obtain user and customer confirmation or rejection of the realized performance. Note that in the entity Vee these interactions address individual entity solutions and not the integration of the architecture which is conducted on the Architecture Vee. At any level of decomposition, the customer of an entity is the manager of the next higher level of decomposition. For example, the power subsystem manager is the customer of the battery and is responsible for battery validation.

Dual Vees: Intersecting Architecture and Entity Vees

edit

To evolve user needs into a system that satisfies those needs requires a best value solution for every entity of the architecture. This can be visualized by positioning Entity Vees orthogonal to the Architecture Vee as shown in the figure below. For each entity of the Architecture Vee there is a corresponding Entity Vee that addresses the entity development and realization. For example, the Architecture Vee of the figure below contains two subsystems hence there are two Entity Vees to represent the concurrent development of those two subsystems.

 
Architecture and Entity Vees Intersecting. Source - Kevin Forsberg and Hal Mooz 2006.

Phasing of decision gates

edit

Architecture entities are developed and integrated into the system architecture in a phased sequence consistent with systems engineering best practices. The figure below provides a three dimensional view of Design-to and Build-to Decision Gate phasing

 
Design-to and Build-to Decision Gate Sequence. Source - Kevin Forsberg and Hal Mooz 2006.

For simplicity of illustration, only one Entity Vee is shown intersecting the Architecture Vee at each decomposition level. Note that the design-to sequence is top down, starting at the system level and proceeding consistent with decomposition to the lowest configuration item level (LCI). This sequence ensures that there is proper top down requirements flowdown and traceability.

When build-to and code-to artifacts, including draft verification procedures, are ready for baselining, the build-to decision gate sequence is conducted bottom up to prove the feasibility of building or coding the designs. The decision gate also confirms that, if the solution is built according to the build-to artifacts, the required performance will be achieved. This sequence ensures that, if the entity designs satisfy their design-to requirements, the entities will integrate into the next higher level entity, will perform as expected, and will meet user requirements.

Summary

edit

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.

References

edit
  1. ^ Kuhn, Thomas (1996). The Structure of Scientific Revolution. University of Chicago Press.
  2. ^ Winston W, Royce (August 1970), the Development of Large Software Systems, Proceedings, IEEE WESCON, pp. 1–9. Reprinted in Tutorial: Thayer, R. H., ed. (1988), Software Engineering Project Management, Washington, D.C: IEEE Computer Society Press.
  3. ^ Boehm, Barry W., A Spiral Model of Software Development, in Tutorial: Thayer, R. H.; Dorfman, M., eds. (1988), A Spiral Model of Software Development, Washington D.C.: IEEE Computer Society Press, pp. 128–142.
  4. ^ Forsberg, Kevin; Mooz, Harold (October 1991), The Relationship of System Engineering to the Project Cycle (PDF), Chattanooga, Tennessee: Proceedings of the National Council for Systems Engineering (NCOSE) Conference, pp. 57–65.
  5. ^ Forsberg, Kevin; Mooz, Harold (July 1995), Application of the Vee to Incremental and Evolutionary Development (PDF), St. Louis, MO: Proceedings of the National Council for Systems Engineering (NCOSE) Conference, pp. 801–808.
  6. ^ Mooz, Harold; Forsberg, Kevin (August 1997), Visualizing System Engineering and Project Management as an Integrated Process (PDF), Los Angeles, CA: Proceedings of the International Council for Systems Engineering (INCOSE) Conference, pp. 569–576.
  7. ^ Mooz, Harold; Forsberg, Kevin (July 2001), A Visual Explanation of Development Methods and Strategies Including the Waterfall, Spiral, Vee, Vee+, Vee++ Models (PDF), Melbourne, Australia: Proceedings of the International Council for Systems Engineering (INCOSE) Conference.
  8. ^ Forsberg, Kevin (2005). Visualizing Project Management, Third Edition. New York, NY: J. Wiley & Sons, Inc. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  9. ^ Ibid, pp. 341-352
  10. ^ Mooz, Harold; Forsberg, Kevin (July 2006), The Dual Vee —– Illuminating the Management of Complexity, Rochester, NY: Proceedings of the International Council for Systems Engineering (INCOSE) Conference.

[[Category:Systems engineering]] [[Category:Software project management]] [[Category:Software development process]]