Design structure matrix
The Design Structure Matrix (DSM) (also referred to as dependency structure matrix, dependency structure method, dependency source matrix, problem solving matrix (PSM), incidence matrix, N2 matrix, interaction matrix, dependency map or design precedence matrix) is a simple, compact and visual representation of a system or project in the form of a matrix. It is the equivalent of an adjacency matrix in graph theory, and is used in systems engineering and project management to model the structure of complex systems or processes, in order to perform system analysis, project planning and organization design. Don Steward coined the term "design structure matrix" in 1981, even though the method has been in use since the 1960s.
A design structure matrix lists all constituent subsystems/activities 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 recognize 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 flows, 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.
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 N2 diagram or an adjacency 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 1981. 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.
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 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 Visual Studio and .NET Reflector. SonarQube the open source software quality platform has design structure matrix functionality included in it for analyzing your application.
The use of DSM has been extended by the work of Gonzalez-RIvas and Larsson to visualize and optimize the otherwise invisible information flow and interactions associated with office work. This visualization via DSM allows the Lean Body of Knowledge to be applied to office and information intensive flows. See their book Far From the Factory.
- Control Component Dependencies, TheServerSide.net article
- Innovation at the Speed of Information
- Using Dependency Models to Manage Complex Software Architecture