Application of Dependency Structure Matrix in Time Scheduling

From apppm
(Difference between revisions)
Jump to: navigation, search
 
(29 intermediate revisions by one user not shown)
Line 1: Line 1:
In planning management with regards to time scheduling there are several ways to get an overview of the number of activities in a timeline like the Gantt plot or using the Critical Path Method (CPM) to estimate the time used and needed for activities dependent on each other. But CPM is limited in the way that it only looks at sequential activities though it is possible for a design case to have both dependent activities as well as interdependent activities. This means that the information flow is not necessarily linear but can be cyclic giving rise to situations where some activity is initiated but still needs information from a later activity. The structure of these activities through time can be sorted in a Dependency Structure Matrix (DSM) which marks all the interdependencies in a square matrix. The matrix can both be used for visualization and optimization of information flows. This article will discuss the application of DSM for use in a time scheduling situation of project management. Here some of the common ways to rearrange or change the matrix to reduce loops of information flow or to let non-dependent activities run in parallel will be discussed.
+
''Developed by Martin Fredberg''
 +
 
 +
 
 +
In planning management with regards to time scheduling there are several ways to get an overview of the number of activities in a timeline like the [[Gantt Chart]] or using the [[Critical Path Method]] (CPM) to estimate the time used and needed for activities dependent on each other. But CPM is limited in the way that it only looks at sequential activities, though it is possible for a design case to have both dependent activities as well as interdependent activities. It means that the information flow is not necessarily linear but can be cyclic. This gives rise to situations where some activity is initiated but still needs information from a later activity. The structure of these activities through time can be sorted in a Dependency Structure Matrix (DSM), which marks all the interdependencies in a square matrix. The matrix can both be used for visualization and optimization of information flows. This article will discuss the application of DSM for use in a time scheduling situation of project management. Beforehand an introduction to DSM is given. This includes some of the common ways to rearrange or change the matrix to reduce loops of information flow or to let non-dependent activities run in parallel. Also the practical process of establishing the matrix in a given project will be highlighted.
  
 
==Background==
 
==Background==
  
For planning in construction of buildings a simple Gantt chart may be of use to schedule the work flow of different tasks. Otherwise a CPM analysis (Critical Path Method), CCM analysis (Critical Chain Method) or PERT model (Program Evaluation and Review Technique) can be used to sequence the different tasks such that the total cost and work time is optimized. But these models are limited to progressive flows of work meaning that the completion of one task leads to the possible start of another activity.  
+
For planning in construction of buildings a simple Gantt chart may be of use to schedule the work flow of different tasks. Otherwise a CPM analysis (Critical Path Method), CCM analysis ([[The Critical Chain Method|Critical Chain Method]]) or [[Program evaluation and review technique (PERT)|PERT]] model (Program Evaluation and Review Technique) can be used to sequence the different tasks such that the total cost and work time is optimized. But these models are limited to progressive or sequential flows of work meaning that the completion of one task leads to the possible start of another activity.  
But when designing the building a lot of iterative procedures are performed which cannot be modelled by CPM for instance. These iterative procedures imply that some tasks are not just dependent on each other but also interdependent. These cycles of iteration can lead to over-designing of the project which entails waste of time and extra costs.
+
 
[[Donald V. Steward]] proposed a method in 1981 using a Design Structure Matrix to optimize the information flow for the design scenario. It was later called Dependency Structure Matrix as it went from being useful mostly for the information flow during the design phase to also being applicable for other cases, not only scheduling. Several types of DSM can be used for different purposes. There are ………… but this article will focus on the use of activity based DSM.
+
But when designing the building a lot of iterative procedures are performed which cannot be modelled by CPM for instance. These iterative procedures imply that some tasks are not just dependent on each other but are also interdependent. These cycles of iteration can lead to over-designing of the project which entails waste of time and extra costs.
 +
 
 +
Donald V. Steward proposed a method in 1981 using a Design Structure Matrix to optimize the information flow for the design scenario. It was later called Dependency Structure Matrix as it went from being useful mostly for the information flow during the design phase to also being applicable for other cases, not only scheduling. Several types of DSM can be used for different purposes. There are component-based, people-based, activity-based and parameter-based DSM's.<ref name="DSMBasics"></ref> But this article will focus on the use of activity based DSM.
 +
 
 +
==What is a DSM==
 +
 
 +
The Dependency Structure Matrix is a matrix consisting of all the project tasks listed as both rows and columns. This means that the matrix is an NxN square matrix where N is the number of activities. The diagonal of the matrix lists the elements themselves and the off-diagonal elements lists the dependencies by either an ‘X’ mark or number. The non-dependent elements are listed with a ‘0’ or it is left out. It is crucial for the use of the activity based matrix that all the tasks are listed in progressing order from the first in the upper left to the last in the bottom right. An example of a DSM can be seen in '''figure 1'''. The purpose of using a DSM is to sketch the information flow between all the activities and thus giving a visual representation of the project. Also it is used to optimize the sequence of the activities to reduce the amount of interdependencies as well as iteration time.
 +
 
 +
There are two types of DSM. There is the binary DSM which has dependencies marked with an 'X'. These can only sketch out the dependencies and is most useful for preliminary analysis. The other type is a numerical DSM which marks all the dependencies with a number which describes the strength of the dependency. This means that different types of information flows can be modeled this way.
 +
 
 +
[[File:DSM.PNG|600px|thumb|center| '''Figure 1''': An example of a simple DSM. a) The DSM in original form b) The matrix after partitioning.<ref name="Austin"></ref>]]
  
 
==How to Read the Matrix==
 
==How to Read the Matrix==
  
[[File:TaskDependencies.PNG|300px|thumb|right| '''Figure 1''': The different task dependency types possible in a DSM.<ref name="PowerPlantExample"></ref>]]
+
[[File:TaskDependencies.PNG|350px|thumb|right| '''Figure 2''': The different task dependency types possible in a DSM.<ref name="PowerPlantExample"></ref>]]
[[File:TaskCycle.PNG|300px|thumb|right| '''Figure 2''': A representation of a task cycle leading to information exchange iteration.<ref name="DSMFigure">https://ocw.mit.edu/courses/engineering-systems-division/esd-36-system-project-management-fall-2012/lecture-notes/MITESD_36F12_Lec04.pdf</ref> ]]
+
[[File:TaskCycle.PNG|350px|thumb|right| '''Figure 3''': A representation of a task cycle leading to information exchange iteration.<ref name="DSMFigure">https://ocw.mit.edu/courses/engineering-systems-division/esd-36-system-project-management-fall-2012/lecture-notes/MITESD_36F12_Lec04.pdf</ref> ]]
  
The matrix consists of all the project tasks listed as both rows and columns. This means that the matrix is an nxn square matrix where n is the number of activities. The diagonal of the matrix lists the elements themselves and the off-diagonal elements lists the dependencies by either and ‘X’ mark or a ‘0’/left out. It is crucial for the use of the activity based matrix that all the tasks are listed in progressing order from the first in the upper left to the last in the bottom right.
+
There are two ways of reading the matrix, the IR/FAD and IC/FBD convention.<ref name="DSMBasics"></ref> The first one is the one typically used for scheduling activities in construction. This states that the rows list all the requirements or inputs that a certain task needs to have to begin. The columns on the other hand list all the outputs from the activity. This means that all the interdependencies can be stated for the whole project in a single matrix. The method of reading a DSM can be seen in '''figure 2'''.
There are two ways of reading the matrix, the IR/FAD and IC/FBD convention. The first one is the one typically used for scheduling activities in construction. This states that the rows list all the requirements or inputs that a certain task needs to have to begin. The columns on the other hand list all the outputs from the activity. This means that all the interdependencies can be stated for the whole project in a single matrix.  
+
In the other convention, the way of looking at the rows and column is reversed effectively meaning that the matrix is transposed. Thus, all the observations in the following are based on the IR/FAD convention but can easily be converted to the IC/FBD convention by reversing the rows and columns. Especially the elements in the upper triangle of the matrix are important. In the IC/FBD convention these elements are therefore in the bottom triangle.
+
  
==Using the Matrix/Matrix Operations==
+
In the other convention, the way of looking at the rows and columns is reversed effectively meaning that the matrix is transposed. Thus, all the observations in the following are based on the IR/FAD convention but can easily be converted to the IC/FBD convention by reversing the rows and columns. Especially the elements in the upper triangle of the matrix are important. In the IC/FBD convention these elements are therefore in the bottom triangle.
  
The position of the ‘X’ marks in the matrix tells about the type of processes in the project. No mark results in no correlation meaning that the processes are independent or parallel. A single mark results in a correlation giving the typical dependent or sequential process. There is lastly the type of interdependent or coupled tasks which can also be seen in loops. These can be seen by cross-diagonal markings which is the coupled tasks and markings that fit within an imaginary box with center at the diagonal are the circular tasks or loops. It is especially the interdependent or circular processes that are of interest as these define the large amount of rework or iteration needed for the full completion of the project.
+
==Utilizing the Matrix/Matrix Operations==
In the standard notation all the marks below the triangle define the linear dependencies meaning that if the matrix was a lower triangle matrix all the tasks could run in the defined order without iterations. But any marks in the upper triangle part of the matrix show the feedback from a later process to a previous one thus giving rise to iterations of work.
+
The whole point of using DSM is to reduce the amount of rework or eliminating it by making good approximations which effectively cancels the need for the feedback information. The way all the processes are ordered is not necessarily the best solution for the sequence. By making different operations on the matrix this can be optimized. The methods for optimization are called sequencing or partitioning and tearing.
+
  
 +
The position of the ‘X’ marks in the matrix tells about the type of processes in the project. No mark results in no correlation meaning that the processes are independent or parallel. A single mark results in a correlation giving the typical dependent or sequential process. There is lastly the type of interdependent or coupled tasks which can also be seen in loops. These can be seen by cross-diagonal markings which is the coupled tasks and markings that fit within an imaginary box with center at the diagonal are the circular tasks or loops. It is especially the interdependent or circular processes that are of interest as these define the large amount of rework or iteration needed for the full completion of the project. All the process types and their relation in a DSM can be seen in '''figure 2'''.
  
===Shearing===
+
In the standard notation all the marks below the triangle define the sequential dependencies meaning that if the matrix was a lower triangle matrix all the tasks could run in the defined order without iterations. But any marks in the upper triangle part of the matrix show the feedback from a later process to a previous one thus giving rise to iterations of work. This is illustrated in '''figure 3'''.
  
Sequencing alters the order in which the tasks are completed. This can be done by several methods like Path Searching, Powers of the Adjacency Matrix Method, the Reachability Matrix Method among others.
+
The whole point of using DSM is to reduce the amount of rework or eliminating it by making good approximations which effectively cancels the need for the feedback information. The way all the processes are ordered is not necessarily the best solution for the sequence. By making different operations on the matrix this can be optimized. The methods for optimization are called ''sequencing'' or ''partitioning'' and ''tearing''.
 +
 
 +
 
 +
===Sequencing===
 +
 
 +
''Sequencing'' alters the order in which the tasks are completed. This can be done by several methods like Path Searching, Powers of the Adjacency Matrix Method, the Reachability Matrix Method among others.
 
An overview of how the more simple Path searching method works is illustrated in the following.<ref name="DSMBasics"></ref> It is worth noting that the IC/FBD convention is used in the figures.
 
An overview of how the more simple Path searching method works is illustrated in the following.<ref name="DSMBasics"></ref> It is worth noting that the IC/FBD convention is used in the figures.
  
 
<gallery>
 
<gallery>
file:PathSearching1.png| '''Figure 1:''' Unpartitioned matrix in original form.
+
file:PathSearching1.png| '''Figure 4:''' Unpartitioned matrix in original form.
file:PathSearching2.png| '''Figure 2:''' Any task not depending on information from any other process is moved to the front. These are removed from further consideration.
+
file:PathSearching2.png| '''Figure 5:''' Any task not depending on information from any other process is moved to the front. These are removed from further consideration.
file:PathSearching3.png| '''Figure 3:''' Any task not providing information to any other process is moved to the back. These are removed from further consideration.
+
file:PathSearching3.png| '''Figure 6:''' Any task not providing information to any other process is moved to the back. These are removed from further consideration.
file:PathSearching4.png| '''Figure 4:''' With no empty rows or columns only loops are left. These are traced (in this case A and C are in a loop) and merged to a composite task
+
file:PathSearching4.png| '''Figure 7:''' With no empty rows or columns only loops are left. These are traced (in this case A and C are in a loop) and merged to a composite task
file:PathSearching5.png| '''Figure 5:''' With the new configuration empty rows or columns will appear. These are moved to either front or back. Here CA is moved to back.
+
file:PathSearching5.png| '''Figure 8:''' With the new configuration empty rows or columns will appear. These are moved to either front or back. Here CA is moved to back.
file:PathSearching6.png| '''Figure 6:''' Any last loops are traced. Here all the remaining processes are in a loop.
+
file:PathSearching6.png| '''Figure 9:''' Any last loops are traced. Here all the remaining processes are in a loop.
file:PathSearching7.png| '''Figure 7:''' The final partitioned matrix.
+
file:PathSearching7.png| '''Figure 10:''' The final partitioned matrix.
 
</gallery>
 
</gallery>
  
 
After applied sequencing the matrix is optimized with respect to the order of the independent tasks and the interdependent tasks are clustered so that less time is used before an iteration is completed.
 
After applied sequencing the matrix is optimized with respect to the order of the independent tasks and the interdependent tasks are clustered so that less time is used before an iteration is completed.
Obviously this is the best sequence of the tasks if they should run with iterations but this is a costly affair. Thus the links in the circular tasks are attempted to be severed. The process of tearing is discussed in the following.
+
Obviously this is the best sequence of the tasks if they should run with iterations but this is a costly affair. Thus the links in the circular tasks are attempted to be severed. The process of ''tearing'' is discussed in the following.
  
 
===Tearing===
 
===Tearing===
Line 84: Line 99:
 
By using preliminary assumptions for key tasks the DSM can resequence activities to give a sequential set of tasks that in theory only need to run once. This means that for estimating project duration, resource usage and costs of the project other tools can be utilized afterwards. It is because DSM is not a stand-alone tool that can plan the optimal schedule when it comes these previous factors. The state of the art of the application of DSM is in the inception phase. A lot of research is still needed to let DSM live up to its full potential.
 
By using preliminary assumptions for key tasks the DSM can resequence activities to give a sequential set of tasks that in theory only need to run once. This means that for estimating project duration, resource usage and costs of the project other tools can be utilized afterwards. It is because DSM is not a stand-alone tool that can plan the optimal schedule when it comes these previous factors. The state of the art of the application of DSM is in the inception phase. A lot of research is still needed to let DSM live up to its full potential.
  
<ref name="codename"></ref>
 
  
 
==Annotated Bibliography==
 
==Annotated Bibliography==
*Articlename<ref name="codename"> name </ref>
 
** ''text''
 
  
* AUSTIN, S.A., 2000. Analytical Design Planning Technique (ADePT): a dependency structure matrix tool to schedule the building design process. Construction Management and Economics, 18(2), pp. 173-182.<ref name="Austin"> AUSTIN, S.A., 2000. Analytical Design Planning Technique (ADePT): a dependency structure matrix tool to schedule the building design process. Construction Management and Economics, 18(2), pp. 173-182. </ref>  
+
* '''AUSTIN, S. A. "Analytical Design Planning Technique (ADePT): a dependency structure matrix tool to schedule the building design process". ''Construction Management and Economics'', 18(2), 2000, pp. 173-182.'''<ref name="Austin">AUSTIN, S. A. "Analytical Design Planning Technique (ADePT): a dependency structure matrix tool to schedule the building design process". ''Construction Management and Economics'', 18(2), 2000, pp. 173-182." </ref>  
 
** ''The article gives a general overview of all the aspects of DSM in an activity based design. This includes both the introduction of the importance, the way the matrix works as well as the application of the matrix.''
 
** ''The article gives a general overview of all the aspects of DSM in an activity based design. This includes both the introduction of the importance, the way the matrix works as well as the application of the matrix.''
  
* Charlesraj, V P C, Maheswari, J U, Kalidindi, S N and Varghese, K (2004) Knowledge management for planning construction projects using dependency structure matrix. ''In'': Khosrowshahi, F (Ed.), ''20th Annual ARCOM Conference'', 1-3 September 2004, Heriot Watt University. Association of Researchers in Construction Management, Vol. 2, 831-8.<ref name="KnowledgeManagement">Charlesraj, V P C, Maheswari, J U, Kalidindi, S N and Varghese, K (2004) Knowledge management for planning construction projects using dependency structure matrix. ''In'': Khosrowshahi, F (Ed.), ''20th Annual ARCOM Conference'', 1-3 September 2004, Heriot Watt University. Association of Researchers in Construction Management, Vol. 2, 831-8.</ref>
+
 
 +
* '''Charlesraj, V. P. C., Maheswari, J. U., Kalidindi, S. N. and Varghese, K. "Knowledge management for planning construction projects using dependency structure matrix". ''Association of Researchers in Construction Management, Vol. 2, 831-8, 2004.'''<ref name="KnowledgeManagement">Charlesraj, V. P. C., Maheswari, J. U., Kalidindi, S. N. and Varghese, K. "Knowledge management for planning construction projects using dependency structure matrix". ''Association of Researchers in Construction Management, Vol. 2, 831-8, 2004.</ref>
 
** ''This article describes the methodology of using DSM. Here the normal project duration and the estimation of rework duration are incorporated. But to give accurate calculations these have to be based on subjective, expert and historical knowledge. This leads to the use of knowledge management in construction to acquire, store and utilize knowledge for e.g. strategic planning.''
 
** ''This article describes the methodology of using DSM. Here the normal project duration and the estimation of rework duration are incorporated. But to give accurate calculations these have to be based on subjective, expert and historical knowledge. This leads to the use of knowledge management in construction to acquire, store and utilize knowledge for e.g. strategic planning.''
  
* Flanagan, T., Scott, T.J. and Dojen, R., "Leveraging Dependency Structure Matrix (DSM) and System Dynamics in Combination to Reduce Project Rework", 26th International Conference of The System Dynamics Society 2008, 20-24 July 2008, Athens, Greece, Paper No. 369.<ref name="ReduceRework">Flanagan, T., Scott, T.J. and Dojen, R., "Leveraging Dependency Structure Matrix (DSM) and System Dynamics in Combination to Reduce Project Rework", 26th International Conference of The System Dynamics Society 2008, 20-24 July 2008, Athens, Greece, Paper No. 369.</ref>  
+
 
 +
* '''Flanagan, T., Scott, T. J. and Dojen, R. "Leveraging Dependency Structure Matrix (DSM) and System Dynamics in Combination to Reduce Project Rework". 26th International Conference of The System Dynamics Society, 20-24 July 2008, Athens, Greece, Paper No. 369.'''<ref name="ReduceRework">Flanagan, T., Scott, T. J. and Dojen, R. "Leveraging Dependency Structure Matrix (DSM) and System Dynamics in Combination to Reduce Project Rework". 26th International Conference of The System Dynamics Society, 20-24 July 2008, Athens, Greece, Paper No. 369.</ref>  
 
** ''The article describes how rework is a major problem with regards to duration and cost of a project. This then leads to the use of DSM and SD (System Dynamics) in combination to model the impact of rework. Both methods are described in their advantages and their limitations.''
 
** ''The article describes how rework is a major problem with regards to duration and cost of a project. This then leads to the use of DSM and SD (System Dynamics) in combination to model the impact of rework. Both methods are described in their advantages and their limitations.''
  
* Maheswari, J U, Varghese, K (2005) A Structured Approach to Form Dependency Structure Matrix for Construction Projects, ISARC 2005 - September 11-14, Ferrara (Italy).<ref name="FormationAddition">Maheswari, J U, Varghese, K (2005) A Structured Approach to Form Dependency Structure Matrix for Construction Projects ISARC 2005 - September 11-14, Ferrara (Italy).</ref>
+
 
 +
* '''Maheswari, J. U., Varghese, K. "A Structured Approach to Form Dependency Structure Matrix for Construction Projects". ISARC - September 11-14, 2005, Ferrara (Italy).'''<ref name="FormationAddition">Maheswari, J. U., Varghese, K. "A Structured Approach to Form Dependency Structure Matrix for Construction Projects". ISARC - September 11-14, 2005, Ferrara (Italy).</ref>
 
** ''This article describes the problems that can arise when forming the DSM. It proposes a different method for establishing the DSM in an interdisciplinary project using WBS (Work Breakdown Structure).''
 
** ''This article describes the problems that can arise when forming the DSM. It proposes a different method for establishing the DSM in an interdisciplinary project using WBS (Work Breakdown Structure).''
  
* Jonsson, M T (2015) Power Plant Maintenance Scheduling using Dependency Structure Matrix and Evolutionary Optimization, Proceedings of the World Congress on Engineering and Computer Science Vol II, October 21-23, San Francisco, USA.<ref name="PowerPlantExample">Jonsson, M T (2015) Power Plant Maintenance Scheduling using Dependency Structure Matrix and Evolutionary Optimization, Proceedings of the World Congress on Engineering and Computer Science Vol II, October 21-23, San Francisco, USA.</ref>  
+
 
 +
* '''Jonsson, M. T. "Power Plant Maintenance Scheduling using Dependency Structure Matrix and Evolutionary Optimization". ''Proceedings of the World Congress on Engineering and Computer Science'', Vol 2, October 21-23, 2015, San Francisco, USA.'''<ref name="PowerPlantExample">Jonsson, M. T. "Power Plant Maintenance Scheduling using Dependency Structure Matrix and Evolutionary Optimization". ''Proceedings of the World Congress on Engineering and Computer Science'', Vol 2, October 21-23, 2015, San Francisco, USA.</ref>  
 
** ''This article gives an explanation to the use of tears and illustrates the DSM method with a practical example of scheduling power plant maintenance together with an optimization tool.''
 
** ''This article gives an explanation to the use of tears and illustrates the DSM method with a practical example of scheduling power plant maintenance together with an optimization tool.''
  
* http://www.dsmweb.org/en/understand-dsm/technical-dsm-tutorial.html<ref name="DSMBasics">http://www.dsmweb.org/en/understand-dsm/technical-dsm-tutorial.html</ref>  
+
 
 +
* '''http://www.dsmweb.org/en/understand-dsm/technical-dsm-tutorial.html'''<ref name="DSMBasics">http://www.dsmweb.org/en/understand-dsm/technical-dsm-tutorial.html</ref>  
 
** ''This web site with its sub-pages gives an all-round perspective on the application of DSM. Especially the matrix operations and the formation of the matrix are well described.''
 
** ''This web site with its sub-pages gives an all-round perspective on the application of DSM. Especially the matrix operations and the formation of the matrix are well described.''
  
* Maheswari, J U , Varghese, K (2005) Project Scheduling using Dependency Structure Matrix, International Journal of Project Management, Volume 23, Issue 3, April, Pages 223-230.<ref name="TimeScheduling">Maheswari, J U , Varghese, K (2005) Project Scheduling using Dependency Structure Matrix, International Journal of Project Management, Volume 23, Issue 3, April, Pages 223-230.</ref>  
+
 
 +
* '''Maheswari, J. U. , Varghese, K. "Project Scheduling using Dependency Structure Matrix". ''International Journal of Project Management'', Vol. 23, Issue 3, April, 2005, Pages 223-230.'''<ref name="TimeScheduling">Maheswari, J. U. , Varghese, K. "Project Scheduling using Dependency Structure Matrix". ''International Journal of Project Management'', Vol. 23, Issue 3, April, 2005, Pages 223-230.</ref>  
 
** ''The article explains the use of DSM in time scheduling. It describes how communication time is a big part of project tasks and that task durations can be reduced by introducing an overlapping where communication is exchanged. This overlapping is modelled by use of DSM's.''
 
** ''The article explains the use of DSM in time scheduling. It describes how communication time is a big part of project tasks and that task durations can be reduced by introducing an overlapping where communication is exchanged. This overlapping is modelled by use of DSM's.''
  
* Winch, Graham M, Wiley-Blackwell, 2010, ''Managing Construction Projects, 2nd edition'', pp. 300.<ref name="Winch">Winch, Graham M, Wiley-Blackwell, 2010, ''Managing Construction Projects, 2nd edition'', pp. 300.</ref>  
+
 
 +
* '''Winch, Graham M. (2010). ''Managing Construction Projects, 2nd edition''. Wiley-Blackwell, pp. 300.'''<ref name="Winch">Winch, Graham M. (2010). ''Managing Construction Projects, 2nd edition''. Wiley-Blackwell, pp. 300.</ref>  
 
** ''This section of the book gives a short review of the key points of DSM. It includes how it works but also why it is useful and what limitations the method has.''
 
** ''This section of the book gives a short review of the key points of DSM. It includes how it works but also why it is useful and what limitations the method has.''
  

Latest revision as of 14:31, 19 November 2018

Developed by Martin Fredberg


In planning management with regards to time scheduling there are several ways to get an overview of the number of activities in a timeline like the Gantt Chart or using the Critical Path Method (CPM) to estimate the time used and needed for activities dependent on each other. But CPM is limited in the way that it only looks at sequential activities, though it is possible for a design case to have both dependent activities as well as interdependent activities. It means that the information flow is not necessarily linear but can be cyclic. This gives rise to situations where some activity is initiated but still needs information from a later activity. The structure of these activities through time can be sorted in a Dependency Structure Matrix (DSM), which marks all the interdependencies in a square matrix. The matrix can both be used for visualization and optimization of information flows. This article will discuss the application of DSM for use in a time scheduling situation of project management. Beforehand an introduction to DSM is given. This includes some of the common ways to rearrange or change the matrix to reduce loops of information flow or to let non-dependent activities run in parallel. Also the practical process of establishing the matrix in a given project will be highlighted.

Contents

[edit] Background

For planning in construction of buildings a simple Gantt chart may be of use to schedule the work flow of different tasks. Otherwise a CPM analysis (Critical Path Method), CCM analysis (Critical Chain Method) or PERT model (Program Evaluation and Review Technique) can be used to sequence the different tasks such that the total cost and work time is optimized. But these models are limited to progressive or sequential flows of work meaning that the completion of one task leads to the possible start of another activity.

But when designing the building a lot of iterative procedures are performed which cannot be modelled by CPM for instance. These iterative procedures imply that some tasks are not just dependent on each other but are also interdependent. These cycles of iteration can lead to over-designing of the project which entails waste of time and extra costs.

Donald V. Steward proposed a method in 1981 using a Design Structure Matrix to optimize the information flow for the design scenario. It was later called Dependency Structure Matrix as it went from being useful mostly for the information flow during the design phase to also being applicable for other cases, not only scheduling. Several types of DSM can be used for different purposes. There are component-based, people-based, activity-based and parameter-based DSM's.[1] But this article will focus on the use of activity based DSM.

[edit] What is a DSM

The Dependency Structure Matrix is a matrix consisting of all the project tasks listed as both rows and columns. This means that the matrix is an NxN square matrix where N is the number of activities. The diagonal of the matrix lists the elements themselves and the off-diagonal elements lists the dependencies by either an ‘X’ mark or number. The non-dependent elements are listed with a ‘0’ or it is left out. It is crucial for the use of the activity based matrix that all the tasks are listed in progressing order from the first in the upper left to the last in the bottom right. An example of a DSM can be seen in figure 1. The purpose of using a DSM is to sketch the information flow between all the activities and thus giving a visual representation of the project. Also it is used to optimize the sequence of the activities to reduce the amount of interdependencies as well as iteration time.

There are two types of DSM. There is the binary DSM which has dependencies marked with an 'X'. These can only sketch out the dependencies and is most useful for preliminary analysis. The other type is a numerical DSM which marks all the dependencies with a number which describes the strength of the dependency. This means that different types of information flows can be modeled this way.

Figure 1: An example of a simple DSM. a) The DSM in original form b) The matrix after partitioning.[2]

[edit] How to Read the Matrix

Figure 2: The different task dependency types possible in a DSM.[3]
Figure 3: A representation of a task cycle leading to information exchange iteration.[4]

There are two ways of reading the matrix, the IR/FAD and IC/FBD convention.[1] The first one is the one typically used for scheduling activities in construction. This states that the rows list all the requirements or inputs that a certain task needs to have to begin. The columns on the other hand list all the outputs from the activity. This means that all the interdependencies can be stated for the whole project in a single matrix. The method of reading a DSM can be seen in figure 2.

In the other convention, the way of looking at the rows and columns is reversed effectively meaning that the matrix is transposed. Thus, all the observations in the following are based on the IR/FAD convention but can easily be converted to the IC/FBD convention by reversing the rows and columns. Especially the elements in the upper triangle of the matrix are important. In the IC/FBD convention these elements are therefore in the bottom triangle.

[edit] Utilizing the Matrix/Matrix Operations

The position of the ‘X’ marks in the matrix tells about the type of processes in the project. No mark results in no correlation meaning that the processes are independent or parallel. A single mark results in a correlation giving the typical dependent or sequential process. There is lastly the type of interdependent or coupled tasks which can also be seen in loops. These can be seen by cross-diagonal markings which is the coupled tasks and markings that fit within an imaginary box with center at the diagonal are the circular tasks or loops. It is especially the interdependent or circular processes that are of interest as these define the large amount of rework or iteration needed for the full completion of the project. All the process types and their relation in a DSM can be seen in figure 2.

In the standard notation all the marks below the triangle define the sequential dependencies meaning that if the matrix was a lower triangle matrix all the tasks could run in the defined order without iterations. But any marks in the upper triangle part of the matrix show the feedback from a later process to a previous one thus giving rise to iterations of work. This is illustrated in figure 3.

The whole point of using DSM is to reduce the amount of rework or eliminating it by making good approximations which effectively cancels the need for the feedback information. The way all the processes are ordered is not necessarily the best solution for the sequence. By making different operations on the matrix this can be optimized. The methods for optimization are called sequencing or partitioning and tearing.


[edit] Sequencing

Sequencing alters the order in which the tasks are completed. This can be done by several methods like Path Searching, Powers of the Adjacency Matrix Method, the Reachability Matrix Method among others. An overview of how the more simple Path searching method works is illustrated in the following.[1] It is worth noting that the IC/FBD convention is used in the figures.

After applied sequencing the matrix is optimized with respect to the order of the independent tasks and the interdependent tasks are clustered so that less time is used before an iteration is completed. Obviously this is the best sequence of the tasks if they should run with iterations but this is a costly affair. Thus the links in the circular tasks are attempted to be severed. The process of tearing is discussed in the following.

[edit] Tearing

The circular path of some activities is severed by using assumptions for the feedback information. This means that a mark in the upper triangle can be discarded and the process of sequencing can be reused to optimize the blocks of interdependent tasks. Though several feedback marks can be present in the same block. It is not wanted to tear all the markings in upper triangle. If the optimal solution is sought maybe only one tear is needed and resequencing can solve the interdependencies for the block. The way of choosing the most critical tasks, where assumptions can be made, is a very important step and no general solution is given. It all depends on the type of project and the given activities. Here the use of a numerical DSM can come in handy.

[edit] Establishing the Matrix

Performing operations on the matrix is per se the easiest or most reliable part of the process. Though to even get to having a DSM one needs to extract information about the project tasks and information flows from the people actually working with the different activities of the project. This is not so easily accomplished.[5] Through study and interviews with the managers and the experts of the project all the sub-systems and how they interact is to be defined such that the elements of the DSM can be established.[1] But it is crucial that all the information links between tasks are mentioned before performing operations on the matrix. The bias of missing marks can lead to severe problems with reworking. This means that gathering information to establish the DSM has to be accurate for it to work. Interviews seem to be a better way of extracting accurate information for a task than other methods.[1] In relation to this it seems that the appropriate people at each task are better at knowing what information they need and where to get it rather than what happens with the information that they produce. This is important to keep in mind when interviewing the different people involved.

A guide to build a credible DSM is seen in the following [1]:

  1. Define the system and its scope
    Here the boundary of the system is established. Different scopes lead to different DSMs so the definition is important for the accuracy of the matrix.
  2. List all the system elements
    Based on the review of involved energineers or experts all the elements in the system of the project are defined. If the project process is well established it can be based on existing project plans as well.
  3. Study the information flow between system elements
    Both design documents and more importantly interviewing the people involved can lead to knowledge of how information is transferred between project tasks. Here it is worth noting that engineers might suggest that two tasks are related when in fact they are related indirectly. The designer of the DSM needs to be aware that only directly related tasks should be marked in the DSM.
  4. Complete the matrix to represent the information flow
    From the information either a binary or numerical DSM can be build. The binary matrix is best for preliminary analysis but a numerical DSM will be better during the tearing phase.
  5. Give the matrix to the engineers and managers to comment on and use
    Giving the matrix to engineers may make them see the project in a bigger picture as well as perform more appropriate communication with the other actors. The comments may further refine the structure of the matrix.

[edit] DSM in a time scheduling perspective

DSM is mostly used for sequencing activities in a design phase but has a lot of potential for application in time scheduling. Finding the normal project duration corresponds to all activities being started after another. But in reality many of the activities have a start-up period gathering information from the relevant tasks prior to the ongoing. This results in extended durations when using a no-overlap approach of activities. But the information is rarely released all at the end of the activity which means that a natural overlap will be possible such that task durations can be shortened. Also, the successor activity can start before having all information. It is such that this process of information exchange can be modeled by use of DSM. In a DSM, where the diagonal cells represent the work done and the off-diagonal cells represent the communication time, formulae for the normal project duration can be established. Furthermore Maheswari and Varghese have presented a method for calculating the natural overlap project time when also using matrices that represent the time of earliest release of information as well as latest need for the information in the successor task.[6] The only problem with this found method is that it is assumed that tasks are fully sequenced meaning that no marks are left in the upper triangle. But if tasks where to be interdependent as well, the natural overlap time would be much more difficult to calculate as several iteration cycles needed to be included. This means that the state of the art of this method is not really useful as of now. It has a lot of potential but researchers are in progress of evolving the method of using DSM in time scheduling.

[edit] Advantages of the Method

The matrix will even for large project scopes give a visual representation of the interdependency of the processes.[6] Compared to other methods like CPM this has the strength of being compact and manageable for a lot of activities. This representation will allow engineers and managers to better understand the big picture of the project and thus have more knowledge about where to optimize the procedures.

The matrix is vital in representing information flow as neither the Gantt chart nor CPM is capable of doing so. A project can in principle just consist of a sequence of dependent tasks but for a case of interdependencies using a Gantt chart or CPM will not result in an optimal solution as iterations are present. This will lead to increased project durations and costs and is therefore not desired.[7] Thus the matrix output will represent the optimal sequencing of the given tasks as well as their information flow. This gives an indication of which processes can run in parallel and which need further attention because of their interdependencies or iterations.[2] Using partitioning and tearing will enable the manager to reduce the amount of rework as cycles are either severed or lie cloes to the diagonal such that less time is used between iterations.[8]


[edit] Limitations of the Method

The matrix requires a lot of accuracy with regards to establishing the matrix.[5][1] Leaving a process link out of the matrix or introducing a lot of weak links which are not really necessary can lead to non-optimal solutions after matrix analysis. The model is most useful in the start of a project to obtain an optimal sequence of tasks but it is also in the start that the least amount of information about the relation between tasks is present. This is mostly a problem for new types of projects where there is no basis of knowledge from similar tasks.[8]

Another point is that the matrix does not take into account the durations and resources needed for every task.[9] So it is not yet a complete programming method in and of itself.[7] The method is mostly used for sequencing interdependent tasks and other tools like CPM or CCM can be used for taking the durations and resources into account. Though when looking at a complex series of activities, iteration processes may still be present and this limits the use of CPM or CCM. The state of the art when using the matrix in time scheduling is therefore not optimal.[6] It has a lot of potential but not many has made research in this regard so it is not that useful as of now. The matrix is mostly limited to the use in the later design phase as the earlier stages are mostly iterative more than interdependent.[8] It can be used in the construction phase as well but activities are usually just dependent on the completion of a single or a few prior tasks. Therefore CPM and CCM are better tools for scheduling through the construction phase.

[edit] Conclusion

DSM can be utilized to sequence a number of interdependent tasks especially in the design phase where iterations are likely to occur. The strength of the DSM compared to conventional tools like CPM and PERT is that it can also handle interdependent tasks as well as model information flow between acivities. By using preliminary assumptions for key tasks the DSM can resequence activities to give a sequential set of tasks that in theory only need to run once. This means that for estimating project duration, resource usage and costs of the project other tools can be utilized afterwards. It is because DSM is not a stand-alone tool that can plan the optimal schedule when it comes these previous factors. The state of the art of the application of DSM is in the inception phase. A lot of research is still needed to let DSM live up to its full potential.


[edit] Annotated Bibliography

  • AUSTIN, S. A. "Analytical Design Planning Technique (ADePT): a dependency structure matrix tool to schedule the building design process". Construction Management and Economics, 18(2), 2000, pp. 173-182.[2]
    • The article gives a general overview of all the aspects of DSM in an activity based design. This includes both the introduction of the importance, the way the matrix works as well as the application of the matrix.


  • Charlesraj, V. P. C., Maheswari, J. U., Kalidindi, S. N. and Varghese, K. "Knowledge management for planning construction projects using dependency structure matrix". Association of Researchers in Construction Management, Vol. 2, 831-8, 2004.[8]
    • This article describes the methodology of using DSM. Here the normal project duration and the estimation of rework duration are incorporated. But to give accurate calculations these have to be based on subjective, expert and historical knowledge. This leads to the use of knowledge management in construction to acquire, store and utilize knowledge for e.g. strategic planning.


  • Flanagan, T., Scott, T. J. and Dojen, R. "Leveraging Dependency Structure Matrix (DSM) and System Dynamics in Combination to Reduce Project Rework". 26th International Conference of The System Dynamics Society, 20-24 July 2008, Athens, Greece, Paper No. 369.[9]
    • The article describes how rework is a major problem with regards to duration and cost of a project. This then leads to the use of DSM and SD (System Dynamics) in combination to model the impact of rework. Both methods are described in their advantages and their limitations.


  • Maheswari, J. U., Varghese, K. "A Structured Approach to Form Dependency Structure Matrix for Construction Projects". ISARC - September 11-14, 2005, Ferrara (Italy).[5]
    • This article describes the problems that can arise when forming the DSM. It proposes a different method for establishing the DSM in an interdisciplinary project using WBS (Work Breakdown Structure).


  • Jonsson, M. T. "Power Plant Maintenance Scheduling using Dependency Structure Matrix and Evolutionary Optimization". Proceedings of the World Congress on Engineering and Computer Science, Vol 2, October 21-23, 2015, San Francisco, USA.[3]
    • This article gives an explanation to the use of tears and illustrates the DSM method with a practical example of scheduling power plant maintenance together with an optimization tool.



  • Maheswari, J. U. , Varghese, K. "Project Scheduling using Dependency Structure Matrix". International Journal of Project Management, Vol. 23, Issue 3, April, 2005, Pages 223-230.[6]
    • The article explains the use of DSM in time scheduling. It describes how communication time is a big part of project tasks and that task durations can be reduced by introducing an overlapping where communication is exchanged. This overlapping is modelled by use of DSM's.


  • Winch, Graham M. (2010). Managing Construction Projects, 2nd edition. Wiley-Blackwell, pp. 300.[7]
    • This section of the book gives a short review of the key points of DSM. It includes how it works but also why it is useful and what limitations the method has.

[edit] References

  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 http://www.dsmweb.org/en/understand-dsm/technical-dsm-tutorial.html
  2. 2.0 2.1 2.2 AUSTIN, S. A. "Analytical Design Planning Technique (ADePT): a dependency structure matrix tool to schedule the building design process". Construction Management and Economics, 18(2), 2000, pp. 173-182."
  3. 3.0 3.1 Jonsson, M. T. "Power Plant Maintenance Scheduling using Dependency Structure Matrix and Evolutionary Optimization". Proceedings of the World Congress on Engineering and Computer Science, Vol 2, October 21-23, 2015, San Francisco, USA.
  4. https://ocw.mit.edu/courses/engineering-systems-division/esd-36-system-project-management-fall-2012/lecture-notes/MITESD_36F12_Lec04.pdf
  5. 5.0 5.1 5.2 Maheswari, J. U., Varghese, K. "A Structured Approach to Form Dependency Structure Matrix for Construction Projects". ISARC - September 11-14, 2005, Ferrara (Italy).
  6. 6.0 6.1 6.2 6.3 Maheswari, J. U. , Varghese, K. "Project Scheduling using Dependency Structure Matrix". International Journal of Project Management, Vol. 23, Issue 3, April, 2005, Pages 223-230.
  7. 7.0 7.1 7.2 Winch, Graham M. (2010). Managing Construction Projects, 2nd edition. Wiley-Blackwell, pp. 300.
  8. 8.0 8.1 8.2 8.3 Charlesraj, V. P. C., Maheswari, J. U., Kalidindi, S. N. and Varghese, K. "Knowledge management for planning construction projects using dependency structure matrix". Association of Researchers in Construction Management, Vol. 2, 831-8, 2004.
  9. 9.0 9.1 Flanagan, T., Scott, T. J. and Dojen, R. "Leveraging Dependency Structure Matrix (DSM) and System Dynamics in Combination to Reduce Project Rework". 26th International Conference of The System Dynamics Society, 20-24 July 2008, Athens, Greece, Paper No. 369.
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox