Part II of this series speaks to the third step: Minimize risk.
Part III of this series speaks to the final two steps: make your practice agile and responsive; and be sure that your process accounts for the entire environment within which the system will function.
Today’s business environment calls for system development practices that are both effective and efficient. Increasingly complex problems call for solutions that draw on a wide variety of technologies and engineering disciplines. In this increasingly complex world, businesses cannot afford to waste valuable resources on solutions that do not respond to stakeholder needs. The design process must deliver the right answer to the right question. That means the process must be effective in producing a system solution.
In addition, the rapid pace and scarcity of resources in most project efforts necessitates that the design effort arrive at the right solution quickly and by consuming only those resources necessary to accomplish its purpose. The various engineering efforts must advance concurrently and collaboratively. Customers cannot afford to pay or wait for an extended iterative process that involves redoing multiple aspects of a solution design that failed to account for all of the perspectives involved. This means that the collaborative process must not only be effective but also efficient. How to be both efficient and effective is a critical conversation for every problem-solving enterprise.
In our next three blog posts in this series we will address five steps that can move you along the path to efficiently delivering high quality systems that satisfy your customers’ requirements. Here, we discuss the first two.
Step 1. Shape your process to converge on a design solution.
The design process must manage the system elements in relationship to each other while accounting for the variety of engineering disciplines involved in creating the solution. Attempting to begin the design at a very detailed level exacerbates the problem of managing these interrelationships by creating a great deal of complexity to be dealt with all at once. By beginning at a high level and increasing the level of detail in progressive steps, the solution complexity can be managed from step to step instead of being introduced at the beginning or, even worse, “tested in” at the end.
Most system engineering processes are not convergent, thereby creating difficulty in managing process interdependencies. This lack of convergence is aggravated where the systems engineering domains of requirements, behavior, architecture and test are treated disjointedly. Adopting a convergent approach adds to the project discipline by enabling you to proceed layer by layer across all four domains. This means that these domains are treated systematically. The engineering team and project management, therefore, have better insight into the trade-offs needed to advance the design effort. This allows the domains to advance together, thereby preserving completeness.
Likewise, the different engineering disciplines advance their perspectives with the unfolding layers. That way there are no surprises when the design encounters discipline-specific issues—for example, when one discovers that costly rework is required that could have been prevented by collaboration among the disciplines from the outset.
The layered process begins with a high-level, four-domain model of the system. The design emerges with increasing granularity as work progresses with the design choices, causing the model to converge on an ultimate solution.
A convergent process assures you that when you reach this point you have the best solution for your customer’s design problem. You have considered the multidisciplinary engineering input, the design choices and their ramifications along the way and have made all your design decisions in context. Your convergent process has led you to the best solution to the problem. We call such an approach MBSE 2.0.
STEP 2. Maintain a systems perspective throughout your design process.
The systems perspective is what allows you to be successful in addressing all of your customers’ needs without generating unintended consequences or leaving gaps. The system view requires an integrated look at all aspects of the system design, its environment, and your design process. That integrated look allows you to make all the pieces fit and gain a reasonable assurance that you are on track to achieve the implementable design that best satisfies customer needs.
The key to this improvement is to begin your design with a high-level description of the whole system that incorporates the four primary systems engineering domains: requirements, behavior, physical architecture, and validation and verification. Begin by defining the system at a very high level in each of the four domains. This yields a general description of the system and targets the question of how the system will fulfill the need that drives its creation. Even though the “model” of the system at this level is usually very simplified, this initial step is critical to setting the context for the ensuing system design.
From the high-level representation you should proceed with an increasingly detailed description of the design, working your way from the general to the specific. At every level of detail all aspects of the model are considered in the description. This way you converge on the systems solution that addresses the needs of your customer in the most effective and efficient fashion. The process of elaborating on each aspect of the system design causes the design choices to emerge in a logical and coherent way. As the detail increases you can be confident that you have not discarded workable options by making premature choices.
Again, it is critical to incorporate the multi-disciplinary perspectives into the process at each step. A true systems perspective requires a complete view. Only by collaborating across disciplines can the design advance with any assurance that the solution is complete and consistent from all points of view.
By holding all domains and disciplines in relationship across each layer, you maintain a systems view of the design at every level. No aspect of the design is lost and no unintended consequences creep into the model as a result of the failure to include some critical perspective. Problems and design challenges surface early in the process. This eliminates the need for extensive rework/redesign on the back end of the process. The design converges along a logical path to the optimal system solution.
In our next blog post in this series we will consider Step 3 in our five step path to improving our systems engineering practice, minimizing design risk.