Design structure matrix: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Add: pages, authors 1-1. Removed parameters. Some additions/deletions were parameter name changes. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Systems theory | #UCB_Category 112/182
 
(45 intermediate revisions by 35 users not shown)
Line 1:
{{Short description|Decision tracking and managing method}}
[[File:A sample Design Structure Matrix (DSM).gif|273x193pxpng|framed|right|A sample DSM with 7 elements and 11 dependency marks.]]
The '''Designdesign Structurestructure Matrixmatrix''' ('''DSM)'''; (also referred to as '''dependency structure matrix''', '''dependency structure method''', '''dependency source matrix''', '''problem solving matrix (PSM)''', '''incidence matrix''', '''''N<sup>2</sup>'' 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 square [[matrix (mathematics)|matrix]].<ref Itname="DSMbook">S.D. isEppinger theand equivalentT.R. of anBrowning, [[adjacency http://mitpress.mit.edu/books/design-structure-matrix]] in [[graph theory]], -methods-and-applications isDesign usedStructure inMatrix [[systems engineering]]Methods and [[project managementApplications]] to model the structure of complex systems or processes, in order to perform systemMIT analysisPress, project planning and organization design. [[Don Steward]] coined the term "design structure matrix" in 1981Cambridge, even though the method has been in use since the 1960s2012.</ref>
 
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 the 1960s,<ref>D. V. Steward: ''The Design Structure System: A Method for Managing the Design of Complex Systems.'' In: ''IEEE Transactions on Engineering Management.'' 28(3), 1981, S. 71-74.</ref> using the matrices to solve mathematical systems of equations.
 
== Overview ==
A design structure matrix lists all constituent [[subsystem]]s/[[Activity diagram|activities]] and the corresponding [[information exchange]], interactions, and dependency [[Pattern recognition|patterns]]. InFor otherexample, where the matrix elements represent wordsactivities, itthe matrix 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 tasksactivities are reliant upon information outputs generated by each activity.
 
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.<ref name="DSMbook"/>
 
The matrix representation has several strengths.
It* hasThe two main strengths. First, itmatrix can represent a large number of [[Systems theory|system]] elements and their relationships in a compact way that highlights important patterns in the data (such as [[feedback loop]]s and modules). Second, it is amenable to matrix-based analysis techniques, which can be used to improve the structure of the system.
* The presentation is amenable to matrix-based analysis techniques, which can be used to improve the structure of the system.
* In modeling activities precedence it allows representing feedback linkages that cannot be modeled by [[Gantt chart]]/[[Program evaluation and review technique|PERT]] modeling techniques <ref>Browning TR, Fricke E, Negele H (2006) [http://sbuweb.tcu.edu/tbrowning/Publications/Browning%20Fricke%20Negele%20(2006)--Process%20Modeling%20Concepts.pdf "Key Concepts in Modeling Product Development Processes"], Systems Engineering, 9(2):104-128</ref>
 
DSM analysis can also be used to manage the effects of a 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 management|risk]] that work continues based on out-of-date information.<ref name="DSMbook"/>
 
==DSM Structure==
A DSM is a [[square matrix]], representing linkages between the system elements. The system elements are often labeled in the rows to the left of the matrix and/or in the columns above the matrix. These elements can represent for example product components, organization teams, or project activities.
 
The off-diagonal cells are used to indicate relationships between the elements. A marking of the cell indicates a directed link between two elements and can represent design relations or constraints between product components, communication between teams, information flow or precedence relations between activities. In one convention, reading across a row reveals the outputs that the element in that row provides to other elements, and scanning a column reveals the inputs that the element in that column receives from other elements. For example, in the DSM, the marking in column A and row C indicated a link from A to C (output from A, input to C). Alternatively, the rows and columns may be switched (without a change of meaning). Both conventions may be found in the literature.<ref name="DSMbook"/>
 
The cells along the diagonal are typically used to represent the system elements. However, the diagonal cells can be used for representing self-iterations (e.g., rework of a code that did not pass its unit testing). Self-iterations are required when a matrix element represents a block of activities/subsystems that may be further detailed, allowing hierarchical DSM structure.<ref>A. Karniel and Y. Reich, [https://www.researchgate.net/publication/4255493_Simulating_Design_Processes_with_self-iteration_activities_based_on_DSM_planning “Simulating Design Processes with self-iteration activities based on DSM planning,”] in Proceedings of the International Conference on Systems Engineering and Modeling - ICSEM'07, Haifa, 2007. </ref>
 
Two main categories of DSMs have been proposed: static and time-based.<ref name="DSMreview">T. Browning: [https://dx.doi.org/10.1109/17.946528 "Applying the Design Structure Matrix to System Decomposition and Integration Problems: A Review and New Directions."] In: ''IEEE Transactions on Engineering Management.'' 48(3):292-306, 2001.</ref>
Static DSMs represent systems where all of the elements exist simultaneously, such as components of a machine or groups in an organization. A static DSM is equivalent to an ''N<sup>2</sup>'' chart or an [[adjacency matrix]]. The marking in the off-diagonal cells is often largely symmetrical to the diagonal (e.g., in an organizational DSM indicating interactions between teams, there are both a mark from team C to team E and a mark from team E to team C, thus indicating that interactions are mutual). Static DSMs are usually analyzed with [[Cluster analysis|clustering algorithms]].
 
Two main categories of DSMs have been proposed: static andA time-based. DSM Staticis DSMsakin representto systemsa where[[precedence alldiagram]] ofor the elementsmatrix exist simultaneously, such as componentsrepresentation of a machine or groups in an organization. Static DSMs are usually analyzed with [[Clusterdirected analysis|clustering algorithmsgraph]]. 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. A feedback mark is an above-diagonal mark (when rows represent output). Time-based DSMs are typically analyzed using sequencing algorithms, that reorder the matrix elements to minimize the amount of feedback marks, and make them as close as possible to the diagonal.<ref name="DSMbook"/>
 
DSM matrices were categorized to Component-based or Architecture DSM; People-based (Team-based) or Organization DSM, both considered as Static (representing existing elements). Activity-based or Schedule DSM and Parameter-based DSM are defined as time-based, as their ordering implies flow.
 
===DSM marking===
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 loop]]s and modules). Second, it is amenable to matrix-based analysis techniques, which can be used to improve the structure of the system.
Initially, the off-diagonal cell markings indicated only the existence/non-existence of an interaction (link) between elements, using a symbol (or the figure '1'). Such marking is defined as '''Binary DSM'''. The marking then has developed to indicate quantitative relation '''Numeric DSM''' indicating the "strength" of the linkage, or statistical relations '''Probability DSM''' indicating for example the probability of applying new information (that require reactivation of the linked activity).{{CN|date=October 2021}}
 
==DSM algorithms==
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.
The DSM algorithms are used for reordering the matrix elements subject to some criteria. Static DSMs are usually analyzed with [[Cluster analysis|clustering algorithms]] (i.e., reordering the matrix elements in order to group together related elements). Clustering results would typically show groups (clusters) of tightly related elements, and elements that are either not connected or are connected to many other elements and therefore are not part of a group.<ref name="DSMbook"/>
Time-based DSMs are typically analyzed using partitioning, tearing and sequencing algorithms.<ref name="DSMbook"/><ref>A. Karniel and Y. Reich, [https://link.springer.com/chapter/10.1007%2F978-0-85729-570-5_3 "Design process planning using DSM"], in Managing the Dynamics of New Product Development Processes: A New Product Lifecycle Management Paradigm, Springer, 2011 </ref>
 
'''Sequencing''' methods try to order the matrix elements such that no feedback marks remain.<ref name="DSMbook"/> In case of coupled activities (activities that have cyclic links, e.g., activity A is linked to B, which is linked to C, which is linked to A) the results is a block diagonal DSM (i.e., blocks or groups of coupled activities along the diagonal). Partitioning methods include: path searching; [[reachability matrix]]; [[triangulation]] algorithm; and the powers of the Adjacency Matrix.
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.
 
'''Tearing''' is the removal of feedback marks (in Binary DSM) or assignment of lower priority (numeric DSM). Tearing of a Component-based DSM may imply modularization (the component design is not influencing other components) or standardization (the component design is not influencing and not influenced by other components).<ref name="DSMbook"/><ref>Sered Y, Reich Y (2006)," Standardization and modularization driven by minimizing overall process effort." Computer-Aided Design, 38(5):405-416</ref> After tearing a partitioning algorithm is reapplied.
==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).
 
Minimizing feedback loops gets the best results for Binary DSM, but not always for Numeric DSM or Probability DSM. '''Sequencing''' algorithms (using [[optimization]], [[genetic algorithms]]) are typically trying to minimize the number of [[feedback loop]]s and also to reorder coupled activities (having cyclic loop) trying to have the feedback marks close to the diagonal. Yet, sometimes the algorithm just tries to minimize a criterion (where minimum iterations is not the optimal results).<ref name="DSMsim">T. Browning: [https://dx.doi.org/10.1109/TEM.2002.806709 "Modeling Impacts of Process Architecture on Cost and Schedule Risk in Product Development"], In: ''IEEE Transactions on Engineering Management.'' 49(4):428-442, 2002.</ref>
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 [[Cluster analysis|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.
 
==Use and extensions==
DSMs stem from diverse roots. A static DSM is equivalent to an ''N<sup>2</sup>'' 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]].
Interactions between various aspects (people, activities, and components) is done using additional (non-square) linkage matrices. The Multiple Domain Matrix (MDM) is an extension of the basic DSM structure.<ref>Maurer M (2007) Structural Awareness in complex product design. Dissertation, Technischen Universität München, Germany</ref> A MDM includes several DSMs (ordered as block diagonal matrices) that represent the relations between elements of the same ___domain; and corresponding Domain Mapping Matrices (DMM) <ref>M. Danilovic; T. R. Browning: "[[doi:10.1016/j.ijproman.2006.11.003|Managing Complex Product Development Projects with Design Structure Matrices and Domain Mapping Matrices]]". In: ''International Journal of Project Management.'' 25(3), 2007, S. 300-314.</ref> that represent relations between elements of different domains.
 
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.<ref>{{cite book|title=Far From the Factory: Lean for the Information Age|year=2010|publisher=Productivity Press|___location=New York|isbn=1420094564978-1420094565|pages=159-180159–180}}</ref>
==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 customisation of MDM has been illustrated in <ref>{{cite journal |last1=Cardenas |first1=IC |last2=Kozine |first2=I |title=Customizing an Approach to Analyze an Underspecified Socio-Technical System |journal=Engineering Management Journal |date=2025 |volume= |issue= |pages=1–20 |doi=10.1080/10429247.2025.2502690|doi-access=free }}{{Creative Commons text attribution notice|cc=by4|from this source=yes}}</ref> for the analysis of underspecified systems.
A small number of [[computer software]] applications incorporate dependency structure matrices. The leaders in this field include AML Technologies' [http://www.adeptmanagement.com/amltechnologies/index.html ADePT Design Builder] (employed in [[construction]], [[defense (military)|defense]] and [[aerospace]] projects), [[Lattix, Inc.]] [http://www.lattix.com/] LDM (used to manage [[software architecture]]), [[DeMAID/GA]], [http://www.dfss-software.com/default.asp Acclaro] and [http://www.problematics.com/ Problematics], [[NDepend]] (for analysis of [[.NET Framework|.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 [http://web.sysart.fi/dtangler/ dtangler] for analyzing java code. There is also a [http://www.tom-carter.net free DSM plugin] for Visual Studio and [[.NET Reflector]]. [[Sonar (software quality)|Sonar]] 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.<ref>{{cite book|title=Far From the Factory: Lean for the Information Age|year=2010|publisher=Productivity Press|___location=New York|isbn=1420094564|pages=159-180}}</ref>
==References==
{{reflist}}
 
==ExternalAdditional links==
==References==
*Web-Portal of DSM Community: http://www.dsmweb.org
<references/>
*International Design Structure Matrix Conference: http://www.dsm-conference.org
*[http://www.theserverside.net/tt/articles/showarticle.tss?id=ControllingDependencies Control Component Dependencies, TheServerSide.net article]
*[http://hbswk.hbs.edu/archive/1979.html Innovation at the Speed of Information]
*[http://www.lattix.com/files/dl/wp/oopsla05.pdf Using Dependency Models to Manage Complex Software Architecture]
 
== Further reading ==
==External links==
*DSM book: http://mitpress.mit.edu/books/design-structure-matrix-methods-and-applications
*[http://www.dsmweb.org/ DSMweb.org: Design Structure Matrix (DSM)]
*{{cite book
*[http://www.NDepend.org/ NDepend, Visual Studio tool]
| last1 = Karniel
*[http://www.dsm-conference.org DSM Conference]
| first1 = Arie
*[http://www.tom-carter.net Dependency Structure Matrix AddIn for .Net Reflector]
| last2 = Reich
*[http://www-edc.eng.cam.ac.uk/cam/ Cambridge Advanced Modeller (CAM)], software that provides DSM tool.
| first2 = Yoram
| authorlink =
| year =2011
| title = Managing the Dynamics of New Product Development Processes: A New Product Lifecycle Management Paradigm
| publisher = Springer
| isbn = 978-0-85729-569-9}}
 
[[Category:Systems theory]]
[[Category:Project management techniques]]
[[Category:Systems engineering]]