DSM Tutorial
DSM Tutorial
DSM Tutorial
Ali A. Yassine Product Development Research Laboratory University of Illinois at Urbana-Champaign Urbana, IL. 61801 [email protected] Brief description of the author Ali Yassine is an assistant professor at the Department of General Engineering at the University of Illinois at Urbana-Champaign (UIUC). He is the director of the Product Development Research Laboratory and an affiliated professor with the Technology Entrepreneur Center (TEC). His research concentrates on analyzing a set of product development problems, including the management of iteration and overlapping decisions. Abstract The design and development of complex engineering products require the efforts and collaboration of hundreds of participants from diverse backgrounds resulting in complex relationships among both people and tasks. Many of the traditional project management tools (PERT, Gantt and CPM methods) do not address problems stemming from this complexity. While these tools allow the modeling of sequential and parallel processes, they fail to address interdependency (feedback and iteration), which is common in complex product development (PD) projects. To address this issue, a matrix-based tool called the Design Structure Matrix (DSM) has evolved. This method differs from traditional project-management tools because it focuses on representing information flows rather than work flows. The DSM method is an information exchange model that allows the representation of complex task (or team) relationships in order to determine a sensible sequence (or grouping) for the tasks (or teams) being modeled. This article will cover how the basic method works and how you can use the DSM to improve the planning, execution, and management of complex PD projects using different algorithms (i.e., partitioning, tearing, banding, clustering, simulation, and eigenvalue analysis). Introduction: matrices and projects Consider a system (or project) that is composed of two elements /sub-systems (or activities/phases): element "A" and element "B". A graph may be developed to represent this system pictorially. The graph is constructed by allowing a vertex/node on the graph to represent a system element and an edge joining two nodes to represent the relationship between two system elements. The directionality of influence from one element to another is captured by an arrow instead of a simple link. The resultant graph is called a directed graph or simply a digraph. There are three basic building blocks for describing the relationship amongst system elements: parallel (or concurrent), sequential (or dependent) and coupled (or interdependent) (fig. 1) Fig.1 Relationship Graph Representation Three Configurations that Characterize a System Parallel Sequential Coupled
A B A B A B
The matrix representation of a digraph is a binary (i.e. a matrix populated with only zeros and ones) square (i.e. a matrix with equal number of rows and columns) matrix with m rows and columns, and n non-zero elements, where m is the number of nodes and n is the number of edges in the digraph. The matrix layout is as follows: the system elements names are placed down the side of the matrix as row headings and across the top as column headings in the same order. If there exists an edge from node i to node j, then the value of element ij (column i, row j) is unity (or flagged with a mark such as X or ). Otherwise, the value of the element is zero (or left empty). In the binary matrix representation of a system, the diagonal elements of the matrix do not have any interpretation in describing the system, so they are usually either left empty or blacked out (fig. 2) Fig. 2 Relationship DSM Representation Three Configurations that Characterize a System Parallel Sequential Coupled A B A B A B A B A B X A B X X
Binary matrices for system modeling are useful in systems modeling because they can represent the presence or absence of a relationship between pairs of elements of a system. A major advantage of the matrix representation over the digraph is in its compactness and ability to provide a systematic mapping among system elements that is clear and easy to read regardless of size. If the system to be represented is a project composed of a set of tasks to be performed, you can use the matrix approach with the Design Structure Matrix (DSM) methodology. Rows and columns are headed with the complete list of tasks to be performed in the project. Marks in the matrix explain if there are information-based relations among the tasks, and, if so, which kind (sequential. parallel, coupled). Marks in a single row (of the DSM) represent all of the tasks whose output is required to perform the task corresponding to that row. Similarly, reading down a specific column reveals which task receives information from the task corresponding to that column. If the order of elements in the matrix depict a time sequence, then marks below the diagonal represent forward information transfer to later (i.e. downstream) tasks. This kind of mark is called forward mark or forward information link. Marks above the diagonal depict information fed back to earlier listed tasks (i.e. feedback mark) and indicate that an upstream task is dependent on a downstream task. In the parallel configuration, the system elements do not interact with each other. Understanding the behavior of the individual elements allow us to completely understand the behavior of the system. If the system is a project, then system elements would be project tasks to be performed. As such, activity B is said to be independent of activity A and no information exchange is required between the two activities. In the sequential configuration, one element influences the behavior or decision of another element is a uni-directional fashion. That is, the design parameters of system element B are selected based on the system element A design parameters. Again, in terms of project tasks, task A has to be performed first before task B can start. Finally, in the coupled system, the flow of influence or information is intertwined: element A influences B and element B influences A. This would occur if parameter A could not be determined (with certainty) without first knowing parameter B and B could not be determined without knowing A. This cyclic dependency is called "Circuits" or "Information Cycles".
Box 1: Four different types of data that can be represented in a DSM (Browning, 2001) With a matrix you can represent information relations among components of a product, among teams concurrently working on a project, among activities (the structure of a project we are mainly focused on in this article), and among parameters.
DSM Types Data Representation Application Analysis Method
Partitioning, Tearing, Task/Activity Project scheduling, activity Banding, Simulation and input/output relationships sequencing, cycle time reduction Eigenvalue Analysis Partitioning, Tearing, Parameter decision points Low level activity sequencing Banding, Simulation and and necessary precedents and process construction Eigenvalue Analysis Multi-team characteristics interface Organizational design, interface Clustering management, team integration System architecting, engineering Clustering and design
A DSM representation of a project Task-based DSM and Parameter-based DSMs A DSM is a compact, matrix representation of a project network. The matrix contains a list of all constituent activities and the corresponding information exchange patterns. That is, what information pieces (parameters) are required to start a certain activity and where does the information generated by that activity feed into (i.e. which other tasks within the matrix utilize the output information). The DSM provide insights about how to manage a complex project and highlights issues of information needs and requirements, task sequencing, and iterations. A sample DSM is shown below (fig. 3). For example, in Figure 3, B feeds C, F, G, J and K, while D is fed by E, F and L. As mentioned earlier, all marks above the diagonal are feedback marks. Feedback marks correspond to required inputs that are not available at the time of executing a task. In this case, the execution of the dependent task will be based on assumptions regarding the status of the input tasks. As the project unfolds these assumptions are revised in light of new information, and the dependent task is reexecuted if needed. It is worth noting how easy it is to determine feedback relationships in the DSM compared to the graph, which makes the DSM a powerful, but simple, graphic representation of a complex system or project. The matrix can be manipulated in order to eliminate or reduce the feedback marks. This process is called partitioning and will be discussed next (Steward, 1981; Yassine et al., 1999). When this is done, a transparent structure for the network starts to emerge, which allows better planning of the PD project. We can see which tasks are sequential, which ones can be done in parallel, and which ones are coupled or iterative (see Figure 3c).
Fig. 3
I J K
D H E
A A B C D E F G H I J K L B C D E F G H I J