Home
Home
DSM Tutorial
DSM Tools
DSM Links
Submit a paper
Search
Contact Us
9th International Design Structure Matrix (DSM) Conference
16 – 18 October 2007, Munich, Germany
www.dsm-conference.org
 
MIT Offering 2 Day Workshops for Managing Complex Product Development Projects
March 21-22, 2007
August 1-2, 2007
November 14-15, 2007
Course Website
 
DSM Tutorial available at your company's site
Course Description
 
Task-Based DSM Simulation PDF Print E-mail

Task-Based DSM Simulation



Note: For a fuller explanation of the DSM-Simulation, see:
Browning, T. and Eppinger, S., "Modeling Impacts of Process Architecture on Cost and Schedule Risk in Product Development", IEEE Transactions on Engineering Management, 49(4): 428-442, 2002.


DSM-Sim (DSM Simulation) Synopsis

We can use a DSM-based model of a process to quantify a process configuration's expected cost and duration and their variances. Cost, duration (or schedule), and variances in both are largely a function of the number of iterations required in the process execution and the scope or impact of those iterations.  Since iterations may or may not occur (depending on a variety of variables), this model treats iterations stochastically, with a probability of occurrence depending on the particular package of information triggering rework.


This model characterizes the design process as being composed of activities that depend on each other for information.  Changes in that information cause rework.  Thus, rework in one activity can cause a chain reaction through supposedly finished and in-progress activities.  Activity rework is a function of the probability of a change in inputs (data package volatility and activity sensitivity) and the impact of a change in inputs (activity sensitivity).  The model also assumes that independent activities can work concurrently.

As input, the DSM-Sim requires a DSM model and some additional data.  For each activity, three cost and duration estimates are required:  an optimistic or best case value (BCV), a most likely value (MLV), and a pessimistic or worst case value (WCV). 

Each activity also has an associated improvement curve, which represents learning, set up times, etc.  The improvement curve is given by a percentage, the percentage of the original duration required to regenerate the outputs.  (e.g., it takes 30% of the original duration to repeat the activity second and successive times.)  Table 1 provides example activity data.  In addition, for each activity interface, the model requires an assessment of the probability of a typical change in the data causing rework for an activity and the impact of that rework should it occur.  Impact values are percentages of an activity to rework.  Example probabilities and impacts are shown in the DSMs in Table 2.

 

Activities Durations (days) Costs ($k)  
ID# Name BCV MLV WCV BCV MLV WCV LC
A4 Prepare UAV Preliminary DR&O 1.9 2 3 8.6 9 13.5 35%
A511 Create UAV Preliminary Design Configuration 4.75 5 8.75 5.3 5.63 9.84 20%
A512 Prepare & Distribute Surfaced Models & Int. Arngmt. Drawings 2.66 2.8 4.2 3 3.15 4.73 60%
A531 Perform Aerodynamics Analyses & Evaluation 9 10 12.5 6.8 7.5 9.38 33%
A521 Create Initial Structural Geometry 14.3 15 26.3 128 135 236 40%
A522 Prepare Structural Geometry & Notes for FEM 9 10 11 10 11.3 12.4 100%
A5341 Develop Structural Design Conditions 7.2 8 10 11 12 15 35%
A532 Perform Weights & Inertias Analyses 4.75 5 8.75 8.9 9.38 16.4 100%
A533 Perform S&C Analyses & Evaluation 18 20 22 20 22.5 24.8 25%
A5342 Develop Balanced Freebody Diagrams & External Applied Loads 9.5 10 17.5 21 22.5 39.4 50%
A5343 Establish Internal Load Distributions 14.3 15 26.3 21 22.5 39.4 75%
A5344 Evaluate Structural Strength, Stiffness, & Life 13.5 15 18.8 41 45 56.3 30%
A54 Preliminary Manufacturing Planning & Analyses 30 32.5 36 214 232 257 28%
A6 Prepare UAV Proposal 4.5 5 6.25 20 22.5 28.1 70%

Table 1:  Activity Data for Model Input

 

      1 2 3 4 5 6 7 8 9 10 11 12 13 14
A4 Prepare UAV Preliminary DR&O 1                            
A511 Create UAV Preliminary Design Configuration 2 .4               .2          
A512 Prepare & Distribute Surfaced Models & Int. Arngmt. Drawings 3   .5   .4                    
A531 Perform Aerodynamics Analyses & Evaluation 4 .3   .5                      
A521 Create Initial Structural Geometry 5 .4   .5     .1   .1       .3 .1  
A522 Prepare Structural Geometry & Notes for FEM 6 .1       .4                  
A5341 Develop Structural Design Conditions 7 .4         .4                
A532 Perform Weights & Inertias Analyses 8           .5           .5    
A533 Perform S&C Analyses & Evaluation 9 .4   .5 .5       .5            
A5342 Develop Balanced Freebody Diagrams & Ext. Applied Loads 10       .1   .5 .2 .1     .4      
A5343 Establish Internal Load Distributions 11           .5 .5 .5   .5        
A5344 Evaluate Structural Strength, Stiffness, & Life 12 .4         .4 .5     .5 .4      
A54 Preliminary Manufacturing Planning & Analyses 13 .5       .5             .4    
A6 Prepare UAV Proposal 14 .3 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4 .4  

 

      1 2 3 4 5 6 7 8 9 10 11 12 13 14
A4 Prepare UAV Preliminary DR&O 1                            
A511 Create UAV Preliminary Design Configuration 2 .5               .1          
A512 Prepare & Distribute Surfaced Models & Int. Arngmt. Drawings 3   .3   .5                    
A521 Create Initial Structural Geometry 4 .4   .8                      
A522 Prepare Structural Geometry & Notes for FEM 5 .1   .1     .1           .3 .1  
A531 Perform Aerodynamics Analyses & Evaluation 6 .1       .3                  
A532 Perform Weights & Inertias Analyses 7 .5         .8                
A533 Perform S&C Analyses & Evaluation 8           .5           .5    
A5341 Develop Structural Design Conditions 9 .3   .3 .3       .3            
A5342 Develop Balanced Freebody Diagrams & Ext. Applied Loads 10       .1   .5 .4 .3     .3      
A5343 Establish Internal Load Distributions 11           .5 .5 .3   .3        
A5344 Evaluate Structural Strength, Stiffness, & Life 12 .5         .3 .5     .5 .5      
A54 Preliminary Manufacturing Planning & Analyses 13 .9       .9             .3    
A6 Prepare UAV Proposal 14 .5 .8 .8 .8 .8 .8 .8 .8 .8 .8 .8 .8 .8  

Table2:  DSM Dimensions One (Top) and Two, Showing Rework Probabilities and Rework Impacts, Respectively

 

Activity cost and duration are random variables, represented by a distribution of possible values.  The BCV, MLV, and WCV are used to form a rough, triangular PDF, denoted as TriPDF(BCV,MLV,WCV) for �smaller is better� (SIB) measures such as cost and duration.  For each run, the model randomly samples a single value for each activity�s cost and duration from that activity�s TriPDFs.

The model also uses three other vectors, each with a length equal to the number of activities.  First, a sequencing vector specifies the order of the activities in the DSM -- i.e., the process configuration.  In Table 2, for instance, the sequence is simply 1, 2, �, 14.  Changing the sequencing vector allows for the exploration of alternative process configurations.  Second, a work vector, W, keeps track of the amount of work remaining to be done on each activity.  Usually, each entry in this vector is set to 100% to begin each simulation run.  Third, a 'work now' vector of Boolean entries indicates if an activity is to do work at a given time during the simulation execution.  This vector is discussed below.

The simulation uses a simple, time advancing approach.  Each run consists of a series of equal time steps, ∆t, the size of which is smaller than the duration of the shortest activity.  (E.g., if activities have durations ranging from five to 50 weeks, a reasonable ∆t could be 0.5 weeks, as activity durations are rounded off to an integer number of time steps.  Smaller time steps provide greater model resolution at the expense of greater simulation execution time.)

During each time step, the model checks for the most upstream activity requiring work and any activities that can be executed concurrently.  Activities do not begin work until their needed inputs are available from completed, upstream activities.  (Dependencies on upstream activities are shown in the lower triangular portion of the DSM.)  Work is done on available activities during the time step, and their work remaining is reduced by the fraction of their duration represented by the time step.  The cumulative process cost is increased based on the cost of this work.  Whenever an activity finishes, the model checks for potential iterations (rework for upstream activities) and second-order rework resulting from iterations using the probabilities in the DSM.  If rework occurs, its amount�a percentage of the activity given in the DSM and modified by improvement curve effects�is added to the W vector.

When all activities are complete, all W vector entries equal zero.  The model converts the number of time steps required into appropriate units and outputs this as the process duration or schedule, S, for the run.  Cumulative process cost is output as C.

Each run of the simulation yields a cost and schedule outcome for a process in a given configuration.  The simulation continues to do batches of 25 runs until the means and variances of the C and S outcome distributions stabilize to within 1%.  The user can adjust the 1% stability threshold and the run batch size between stability checks.

The simulation is implemented in a spreadsheet.  Table 3 presents the important variables used in the model, and Table 4 provides an overview of the algorithm.

 

r number of runs in the simulation
n number of activities in the process
C Cumulative process cost for a given run
S Cumulative process duration for a given run
∆t time step size in simulation
tx the current time step
ActSn activity duration vector:  a vector of length n containing a duration value for each activity, sampled from each activity�s PDF of possible duration outcomes
ActCn activity cost vector:  a vector of length n containing a cost value for each activity, sampled from each activity's PDF of possible cost outcomes
Wn work vector:  a vector of length n with a [0,1] entry for each activity, indicating work to be done on that activity; initially set to all '1's to indicate 100% of the work remains for each activity
Winitn initial values for the W vector for each run
WNn 'work now' vector:  a vector of lengthn with a Boolean entry for each activity, indicating the need to work on the activity during the current time step
LCn 'learning curve' vector:  a vector of length n with a percentage entry for each activity, indicating the percentage of the original activity duration required for second and successive executions of the activity
DSMnnk DSM (off-diagonal of n x n matrix with third dimension k):

dimension k = 1:  rework probability [0,1]

for superdiagonal entries where i < j, the probability of activity j causing rework for activity i; for subdiagonal entries where i > j, the probability of activity j causing second-order rework for interim activity i after an iteration of activity j

dimension k = 2:  rework impact [0,1]

the added work (in terms of the impact on the work vector, W) should iteration or second-order rework occur

Table 3:  Model Variables

1)      Set W vector to Winit values.

2)      Sample activity costs and durations from their distributions.

3)      Convert duration to time steps, rounding off (minimum duration is one time step).

 

4)      Each time step:

Set all WN = FALSE.

Find first activity, i,  that has unfinished work -- i.e., where W(i) > 0.  Set WN(i) = TRUE.

Loop through subsequent activities to identify concurrent work for the current time step.  If next activity has unfinished work and is not dependent on an unfinished, upstream activity, then set its WN entry to TRUE.  Otherwise, the complete band has been found (stop checking activities).

Loop through all activities:

If activity doing work this time step -- i.e., if WN(i) = TRUE -- then:

Subtract appropriate fraction of the work from W(i) for each working activity.

If W(i) < 0.01 then W(i) = 0 to prevent rounding errors from prolonging activity duration.

Add appropriate fraction of each working activity's cost to cumulative cost, C.

If activity doing work this time step and just finished -- i.e., if WN(i) = TRUE and W(i) = 0 -- then:

Look through column in DSM immediately above newly finished activity for potential iterations.  Evaluate each possibility versus a random number; if required, then:

Add appropriate rework (given in DSM dimension two, and adjusted for learning curve benefits) to W vector entry for affected, upstream activity.  But if W vector entry is now greater than one (because activity was not finished), reduce it to 0.9 to keep work from expanding beyond original scope and to represent some learning.

Look through column in DSM immediately below upstream activity for potential second-order rework.  Evaluate each possibility versus a random number; if required, then:

Add appropriate rework (given in DSM dimension two, and adjusted for learning curve benefits) to W vector entry for affected, interim activity.  But if W vector entry is now greater than one (because activity was not finished), reduce it to 0.9 if rework or 1 if never worked before.

If any activity has more work to do, then increment time step and repeat; otherwise, finish run.

 

5)      Convert number of time steps back into time units to determine S.

6)       Save C and S with run number.

Table4:  Algorithm for Each Run of Model

 

The DSM-Sim utilizes some simplifying assumptions and makes some work policy choices.  These choices can be altered by modifying the simulation algorithm.  The algorithm currently assumes that the most upstream activity requiring work will begin first. 

Additional activities can work concurrently with this activity if they do not depend on it (or an interim activity).  With this approach, the workflow is determined by the process configuration, thereby allowing the comparison of alternative configurations.  Note that this policy has the effect of causing an activity to stop and wait if an activity upon which it depends begins rework.  Furthermore, the algorithm currently assumes that activities only produce outputs upon completion, and that rework cannot increase the original scope of an activity (i.e., no W vector entry can exceed 100%).

Using the example data given above and running the simulation provides some example outputs.  Figure 1 shows the pattern of activity execution in a Gantt chart format for a single run.  Figure 2 shows probability mass functions (PMFs) and cumulative distribution functions (CDFs) for a large set of cost and schedule outcomes (r = 475, ∆t = 2).  The mean cost outcome, E[C], is $647k with a standard deviation, sC, of $45k.  The median cost outcome is $640k. 

As we expect, this distribution is skewed right (skewness = 1.15).  The mean duration, E[S], is 141 days with a standard deviation, sS, of 8 days.  Median duration is 140 days, even though the schedule distribution is skewed right (skewness = 0.95).

Figure1:  Example Gantt Chart of Activity Work Over Process Duration

 

Figure 2:  Cost and Schedule PMFs and CDFs Output from Model

 

 

 

 


 
< Prev   Next >
© 2008 The Design Structure Matrix Web Site
Joomla! is Free Software released under the GNU/GPL License.