What is the main factor that causes projects to fail?
Complexity , and lack of awareness/understanding of it
What is DSM (Dependency Structure Matrix)?
A tool for capturing, visualising, analysing and managing complexity. It does this by focussing of dependencies, representing connectivity in a complex system,
What is the structure of the DSM?
- It has and equal number of rows and columns
- It has the same row and column headings presented in the same order
- There is an arrow in the top left cell that shows the direction of the dependency (an arrow towards a letter, indicated what that letter depends on, imagine a diagram with letters and arrows, and arrow from A to B suggests B depends on A)
What is a numerical DSM?
It is a matrix where instead of just an X to show that there is a dependency of sorts, a numerical value is used to show a weighting, for example: a probability, a duration, a cost etc.
What would you call a DSM where elements do not have a dependency on each other?
What would you call a DSM where one element influences another in a defined order?
What would you call a DSM where influence and information between elements is intertwined?
Assuming that elements are listed in the order that they are used, what does a dependency above the leading diagonal represent?
What are 4 datatypes that can be represented in a DSM?
Parameter-based (low-level process)
What does a component-based DSM represent and what is its application?
System architecting, engineering and design
What does a people-based DSM represent and what is its application?
Organisational design, interface management
What does a activity-based DSM represent and what is its application?
Activity input/output relationships
Project scheduling, iteration management
What does a parameter-based DSM represent and what is its application?
Design parameter relationships
Activity sequencing, process construction
For a component based DSM how are the column/row orders decided?
Initially they are random, but then they can be reordered to ‘chunk’ them together as this can help define modules and help visualise the dependencies
For a activity based DSM how are the column/row orders decided?
A flow diagram can help represent information, and then they will be ordered in the rough order that the activities are performed. Therefore, dependencies above the leading diagonal represent feedback in the system.
In parameter based DSM how can coupling be reduced in the design?
By sequencing the parameters on the rows/columns cleverly, the number of dependencies above the leading diagonal can be reduced significantly, reducing the feedback and coupling in the design
What is partitioning a DSM?
Partitioning is the sequencing (i.e. reordering) of the DSM rows and columns such that the new DSM does not contain many feedback marks, thus transforming the DSM into a lower triangular form (this however is very unlikely for a complex engineering system, so in the case the goal is to just eliminate as much feedback as possible)
What is a benefit of partitioning a DSM?
The reduced feedback means that the rework needed in the design will be minimised
What are some tips for partitioning a DSM manually?
- If a task doesn’t depend on anything, move it to the first position
- If a task does not provide any information (i.e. nothing depends on it) then move it to the bottom
- You can collapse a loop (two components that both depend on each other) into one component/task (i.e if C and A are a loop, then make a new task CA)
After doing these as many times as possible, the remailing loops should be evident. You will have to expand any collapsed loops to give you the final answer and reveal all the loops in the system.
What is tearing a DSM?
Tearing is the process of choosing the set of feedback marks that if removed from the matrix (and then the matrix is repartitioned) would render the matrix lower triangular.
The marks that are removed are called ‘tears’
This process minimised rework as an order can be defied to resolve process iterations when coupled tasks are encountered.
Outline the process of tearing a DSM
- Identify loops
- Tear the task causing the feedback into parts eg. 5 into 5a and 5b. (tearing is not always possible for tasks)
- Reorder the teared task with the other task(s) that were in the loop to remove the loop and make the matrix lower triangular.
What is banding a DSM?
Banding a DSM is the addition of alternating light and dark bands to a DSM to show independent (ie parallel or concurrent) activities. The collection of bands within a DSM constitute the critical path of the system or project. One element within each band will constitute the critical or bottleneck activity.
What is the purpose of banding?
It allows the activities that constitute the critical path to be identified, one activity from each band being the critical/bottleneck activity. This enables process improvement
Outline the process of banding a DSM
Bands are formed as horizontal collections of tasks that are independent of one another ie. if 2 does not depend on 1, they can be in the same band. However, if 2 depends on 1 they must be in separate bands. Go down the rows applying this rule until all tasks have been put into bands.
What is clustering a DSM?
Clustering a DSM is used when elements represent design components or teams with a development project, as here the goal changes from that of partitioning (reducing loops) to finding subsets of DSM elements (clusters) that are mutually exclusive, so absorb most if not all of the interactions internally.
What is the benefit of clustering a DSM?
It enables process improvement as it shows the interdependency between different groups of components. (it can help identify the positioning and grouping of components in the final project, and help split the design up into project teams that each control one of these independent clusters)
How is clustering performed on a DSM?
It is done in software (not manually)
What are DMMs?
Domain Mapping Matrices, they are an extension on DSMs which allow for the mapping between multiple domains rather than just one. (ie. doesn’t just map tasks to other tasks, but could map tasks to people, hence DMMs are not always square and can be rectangular)
What are MDMs?
Multiple Domain Matrices: They combine DSM and DMMs into a complete system model, so that a complete system can be represented and managed.
They allow for the connection of DMMs and DSMs to be mapped onto one larger matrix (to map two domains together eg. tasks and people, the MDM will contain 2 DSMs and 2 DMMs.
What is an integration strategy with regards to a DSM?
Executing 2 tasks concurrently
What is a deconstruction strategy with regards to a DSM?
It is the same as tearing a DSM, where the task causing the feedback is split into two tasks eg 5 into 5A and 5B, only one of which is causing the feedback, and then reordering to remove the feedback
What is a multiple domain matrix?
A multiple domain matrix (MDM) models a system consisting of two domains. The MDM consists of two DSMs and two Domain Mapping Matrices (DMMs). The DSMs model a single domain as usual and the DMMs model the interactions between the domains.