Design Structure Matrix
Encyclopedia
The design structure matrix (DSM) (also referred to as dependency structure method, dependency structure matrix, problem solving matrix (PSM), incidence matrix, n-square matrix or design precedence matrix) is a compact, matrix
representation of a system or project. The approach can be used to model complex systems in systems engineering
or systems analysis
, and in project planning
and project management
.
and the corresponding information exchange
and dependency patterns. In other words, it details what pieces of information are needed to start a particular activity, and shows where the information generated by that activity leads. In this way, one can quickly recognise which other tasks are reliant upon information outputs generated by each activity.
It has two main strengths. First, it can represent a large number of system elements and their relationships in a compact way that highlights important patterns in the data (such as feedback loops and modules). Second, it is amenable to matrix-based analysis techniques, which can be used to improve the structure of the system.
DSM analysis provides insights into how to manage complex systems or projects, highlighting information flow
s, task sequences and iteration. It can help teams to streamline their processes based on the optimal flow of information between different interdependent activities.
DSM analysis can also be used to manage the effects of change. For example, if the specification for a component had to be changed, it would be possible to quickly identify all processes or activities which had been dependent on that specification, reducing the risk that work continues based on out-of-date information.
Two main categories of DSMs have been proposed: static and time-based. Static DSMs represent systems where all of the elements exist simultaneously, such as components of a machine or groups in an organization. Static DSMs are usually analyzed with clustering algorithms. In time-based DSMs, the ordering of the rows and columns indicates a flow through time: earlier activities in a process appear in the upper-left of the DSM and later activities appear in the lower-right. Terms like “feedforward” and “feedback” become meaningful when referring to interfaces. Time-based DSMs are typically analyzed using sequencing algorithms.
DSMs stem from diverse roots. A static DSM is equivalent to an N-square diagram or an incidence matrix
. A time-based DSM is akin to a precedence diagram or the matrix representation of a directed graph
. The time-based DSM (and the "DSM" term itself) originated with Don Steward, who coined the term “design structure matrix” in the 1960s. Steward's DSM grew from the use of matrices to solve mathematical systems of equations. Christopher Alexander
presented a similar matrix-based design method in his 1964 book Notes on the Synthesis of Form
.
A small number of computer software
applications incorporate dependency structure matrices. The leaders in this field include AML Technologies' ADePT Design Builder (employed in construction
, defense
and aerospace
projects), Lattix, Inc. LDM (used to manage software architecture
), DeMAID/GA, Acclaro and Problematics, NDepend
(for analysis of .NET
applications). The latest version of the Java IDE IntelliJ IDEA
7.0 includes project dependency structure management since v7.0 Milestone 2. There is an open source DSM application dtangler for analyzing java code. There is also a free DSM plugin for .NET Reflector
.
Matrix (mathematics)
In mathematics, a matrix is a rectangular array of numbers, symbols, or expressions. The individual items in a matrix are called its elements or entries. An example of a matrix with six elements isMatrices of the same size can be added or subtracted element by element...
representation of a system or project. The approach can be used to model complex systems in systems engineering
Systems engineering
Systems engineering is an interdisciplinary field of engineering that focuses on how complex engineering projects should be designed and managed over the life cycle of the project. Issues such as logistics, the coordination of different teams, and automatic control of machinery become more...
or systems analysis
Systems analysis
Systems analysis is the study of sets of interacting entities, including computer systems analysis. This field is closely related to requirements analysis or operations research...
, and in project planning
Project planning
Project planning is part of project management, which relates to the use of schedules such as Gantt charts to plan and subsequently report progress within the project environment....
and project management
Project management
Project management is the discipline of planning, organizing, securing, and managing resources to achieve specific goals. A project is a temporary endeavor with a defined beginning and end , undertaken to meet unique goals and objectives, typically to bring about beneficial change or added value...
.
Overview
A design structure matrix lists all constituent subsystems/activitiesActivity diagram
Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams can be used to describe the business and operational step-by-step workflows of components in a system...
and the corresponding information exchange
Information exchange
Information exchange is an informal term that can either refer to bidirectional information transmission/information transfer in telecommunications and computer science or communication seen from a system-theoretic or information-theoretic point of view....
and dependency patterns. In other words, it details what pieces of information are needed to start a particular activity, and shows where the information generated by that activity leads. In this way, one can quickly recognise which other tasks are reliant upon information outputs generated by each activity.
It has two main strengths. First, it can represent a large number of system elements and their relationships in a compact way that highlights important patterns in the data (such as feedback loops and modules). Second, it is amenable to matrix-based analysis techniques, which can be used to improve the structure of the system.
DSM analysis provides insights into how to manage complex systems or projects, highlighting information flow
Information flow
In discourse-based grammatical theory, information flow is any tracking of referential information by speakers. Information may be new, just introduced into the conversation; given, already active in the speakers' consciousness; or old, no longer active...
s, task sequences and iteration. It can help teams to streamline their processes based on the optimal flow of information between different interdependent activities.
DSM analysis can also be used to manage the effects of change. For example, if the specification for a component had to be changed, it would be possible to quickly identify all processes or activities which had been dependent on that specification, reducing the risk that work continues based on out-of-date information.
Design
A DSM is a square matrix. The cells along the diagonal represent the system elements, which are often labeled in the rows to the left of the matrix and/or in the columns above the matrix. The off-diagonal cells are used to indicate relationships between the elements. Reading across a row reveals what other elements the element in that row provides outputs to, and scanning a column reveals what other elements the element in that column receives inputs from. Alternatively, the rows and columns may be switched (without a change of meaning).Two main categories of DSMs have been proposed: static and time-based. Static DSMs represent systems where all of the elements exist simultaneously, such as components of a machine or groups in an organization. Static DSMs are usually analyzed with clustering algorithms. In time-based DSMs, the ordering of the rows and columns indicates a flow through time: earlier activities in a process appear in the upper-left of the DSM and later activities appear in the lower-right. Terms like “feedforward” and “feedback” become meaningful when referring to interfaces. Time-based DSMs are typically analyzed using sequencing algorithms.
DSMs stem from diverse roots. A static DSM is equivalent to an N-square diagram or an incidence matrix
Incidence matrix
In mathematics, an incidence matrix is a matrix that shows the relationship between two classes of objects. If the first class is X and the second is Y, the matrix has one row for each element of X and one column for each element of Y. The entry in row x and column y is 1 if x and y are related ...
. A time-based DSM is akin to a precedence diagram or the matrix representation of a directed graph
Directed graph
A directed graph or digraph is a pair G= of:* a set V, whose elements are called vertices or nodes,...
. The time-based DSM (and the "DSM" term itself) originated with Don Steward, who coined the term “design structure matrix” in the 1960s. Steward's DSM grew from the use of matrices to solve mathematical systems of equations. Christopher Alexander
Christopher Alexander
Christopher Wolfgang Alexander is a registered architect noted for his theories about design, and for more than 200 building projects in California, Japan, Mexico and around the world...
presented a similar matrix-based design method in his 1964 book Notes on the Synthesis of Form
Notes on the Synthesis of Form
Notes on the Synthesis of Form is a book by Christopher Alexander about the process of design.-Design:Alexander defines design as "the process of inventing things which display new physical order, organization, form, in response to function..."....
.
Use
The use of DSMs in both research and industrial practice increased greatly in the 1990s. DSMs have been applied in the building construction, real estate development, semiconductor, automotive, photographic, aerospace, telecom, small-scale manufacturing, factory equipment, and electronics industries, to name a few, as well as in many government agencies.A small number of computer software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....
applications incorporate dependency structure matrices. The leaders in this field include AML Technologies' ADePT Design Builder (employed in construction
Construction
In the fields of architecture and civil engineering, construction is a process that consists of the building or assembling of infrastructure. Far from being a single activity, large scale construction is a feat of human multitasking...
, defense
Defense (military)
Defense has several uses in the sphere of military application.Personal defense implies measures taken by individual soldiers in protecting themselves whether by use of protective materials such as armor, or field construction of trenches or a bunker, or by using weapons that prevent the enemy...
and aerospace
Aerospace
Aerospace comprises the atmosphere of Earth and surrounding space. Typically the term is used to refer to the industry that researches, designs, manufactures, operates, and maintains vehicles moving through air and space...
projects), Lattix, Inc. LDM (used to manage software architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...
), DeMAID/GA, Acclaro and Problematics, NDepend
NDepend
NDepend is a static analysis tool for .NET managed code. This tool supports a large number of code metrics, allows for visualization of dependencies using directed graphs and dependency matrix. The tools also performs code base snapshots comparison, and validation of architectural and quality rules...
(for analysis of .NET
.NET Framework
The .NET Framework is a software framework that runs primarily on Microsoft Windows. It includes a large library and supports several programming languages which allows language interoperability...
applications). The latest version of the Java IDE IntelliJ IDEA
IntelliJ IDEA
IntelliJ IDEA is a commercial Java IDE by JetBrains. It is often simply referred to as "IDEA" or "IntelliJ."-History:The first version of IntelliJ IDEA was released in January 2001, and at the time was the only available Java IDE with advanced code navigation and code refactoring capabilities...
7.0 includes project dependency structure management since v7.0 Milestone 2. There is an open source DSM application dtangler for analyzing java code. There is also a free DSM plugin for .NET Reflector
.NET Reflector
.NET Reflector is a proprietary software utility for Microsoft .NET combining class browsing, static analysis and decompilation, originally written by Lutz Roeder. MSDN Magazine named it as one of the Ten Must-Have utilities for developers, and Scott Hanselman listed it as part of his "Big Ten...
.