Holistic Approach

Our experience with developing complex systems shows: Every project requires its own unique approach. Not just one method will lead to success but a customised combination of suitable approaches and tools is required – depending on the product to be developed, context and team constellation.

We apply a holistic perspective on the product as a whole. Our starting point is always the understanding of the client and their needs. Central to our collaborative systems engineering approach is establishing a shared understanding among all participants – consistently from problem space to solution space and during testing. In doing so, the user’s perspective on the system serves as a common thead for the solution space. This approach is the foundation for analysis and design as well as the starting point for incremental integration. Its resulting artifacts serve as baseline for the definition of system test cases and user documentation.

Core Modeling

A central question of system development is: How can a solution be achieved that optimally fits the actual problem?

To achieve this, all stakeholders involved in systems engineering need to have a shared, common understanding of the problem to be solved.
Core Modelling is based on the Usage-Centered Design approach, which has been developed at Siemens AG into a method for model-based systems engineering with a focus on business analysis and requirements engineering and has been successfully applied in various systems engineering projects.

With the application of Core Modelling, the stakeholders of systems engineering create a common problem space model. The model then serves as a starting point and as orientation for the subsequent steps of solution development (“core model”).

How does this approach differ from other methods?

It is often difficult to obtain a “big picture” of the problem to be solved. This biases users of requirement specifications (architects, developers, testers, …) to view them too atomistically. In addition, requirements often originate from different sources, come in varying granularity and with unclear separation between problem description and solution details.

Core Modeling starts the whole systems engineering process with a systematic analysis of the problem domain in terms of its essential functional and non-functional truths: stakeholder tasks (jobs-to-be-done) and stakeholder interests.

These aspects are then documented as a solution-independent model and are thus stable over time, understandable for all stakeholders and usable – whether as traceable model elements, as diagrams or as generated documents.

What are the benefits for our customers?

With Core Modelling, a problem space model is created, that

  • is created jointly and thus breaks down silo thinking and promotes communication on the basis of a uniform understanding of the problem.
  • takes domain knowledge out of the heads of individual experts and makes it permanently available to the entire organization in a consolidated, structured form.
  • represents only those problem properties that are particularly relevant for the added value of a solution.
  • provides a stable basis for value-oriented decisions.
  • enables systematic identification of conflicts and synergies in the problem space and thus leverages innovation.

The resulting core model is structured in such a way that different stakeholders can equally work with it: product owners, system architects, requirements engineers, usability engineers, developers, test engineers, sales, and manual writers.

Functional Anatomy

Our founder and managing director, Herna Muñoz-Galeano, learned the application of the Functional Anatomy from its inventor, Jack Järkvik during their joint work for Ericsson. In addition to participating in the development of global telecommunications, she successfully carried the method forward in a variety of projects in the fields of medical technology and railroad automation.

Functional Anatomy describes and structures the product from the user’s point of view: What should the system do? How should it be used? The method is based on a top-down approach from the perspective of functional levels. It enables definition of functions, shows the dependency between different functions and provides information about which functions have no interrelationships.

Functional Anatomy thus empowers all project stakeholders to get a consistent picture of project requirements and a shared understanding of tasks in a short period of time.

How does this approach differ from other methods?

In conventional methods, complex tasks are divided into smaller units and developed independently. This holds great risks during system integration and testing and easily leads to significant delay and cost increase. In contrast, Functional Anatomy takes an incremental development and step-by-step integration approach to execute a development project in a predictable and cost-effective manner.

Its core philosophy is to plan and verify the system in the same sequence in which it is realised.

The process includes 7 steps:

  1. Defining of the system together with our customers based on use cases.
  2. Creating a ‘function tree’ and identifying dependencies.
  3. Defining the architecture by assigning functions, use-cases and the implementation view.
  4. Defining the integration to initially obtain a working base system.
  5. Creating an integration plan (bottom-up).
  6. Defining incremental testing and verification to obtain the defined functionality and stability.
  7. Defining the delivery plan and controlling the development progress through visualisations and diagrams, in order to create a basis of trust for customer deliveries.
What are the benefits for our customers?

The best results can be achieved if the Functional Anatomy method is used as early as the system specification stage and as an overarching project planning and control tool.

We are often consulted for assistance in applying our method when the on-time completion of the project is threatened due to its complexity.

Our clients value our work with the Functional Anatomy method for the following reasons:

  • Functional Anatomy provides a transparent understanding of system dependencies and functions.
  • The ‘Functional Tree’ shows all necessary tasks and use cases on one page. Thus, it provides the ideal platform for discussions and a basis for understanding the entire system.
  • The possibility of parallel and controlled development and testing saves time.
  • System errors can be detected at an early stage.
  • Incremental testing and verification ensures system stability.
  • Incremental integration enables a continuously functioning system.
  • The progress of the project is known at all times and forms a secure basis for decisions.
  • The contribution of each stakeholder becomes transparent.

Model-based Testing

Development results have to be tested to see if they fulfill their purpose – i.e. if they implement the requirements correctly. In order to decide what, where, when and how to test, all parties involved need an idea of the system behaviour that is independent of the architect’s and developer’s view: the test model.

If the system behavior is consistently modelled from problem space to solution space in the form of use cases, many synergies can be exploited and the effort required for test modeling can be significantly reduced.