ithnithmBook@@<02C_StringPrint_SetupTPrintxxHHLX HHLd'93C odStartupSound_TabLISTBook_Prefs*Act  ,,>List    Scene   : Drawing_Model   Draw_Specs  JJ!  diagram_struct_arrayDependentsdrmd ScriptPad_List Manuscript { ox????IUndiscovered Rework 0 {tasks}. !" #$%*2s @;?@;@:bu@;????I Work_Done 0 {tasks}  !" #$%*2f"6?d???d?d?ډ<^????ډ<^I?ډ<^##rework_generation on_original_work77error_fraction*original_work_accomplishment {tasks/mo}2 "  2   !" #$% tasks/mo  tasks  mo2f6@ jZ??@ jZ@ jZ>bi&ʲ???Irework discovery77Undiscovered_Rework/time_to_discover_rework {tasks/mo}     !" #$%L2f<@$UM??@Hӌ@$UM@bb˧???@bb˧ I@bb˧original_work_done correctly==(1 - error_fraction)*original_work_accomplishment {tasks/mo}2 "  2    !" #$%L2 c0) ?陙?陙???陙?陙?陙?陙?陙?陙????陙??陙11sensitivity_of incremental_errors to_past_errors**IF kiss THEN 0.8 ELSE 0.9 {dimensionless}0,    : ?陙    # ? !Used to scale graphical function "fraction of undiscovered errors incorporated". Normally set to one for no scaling (range is zero to one). Decrease sensitivity when including discovered rework in calculation so it is comparable to numbers when didn't separate discovered rework out." #$% Unitless2c$4 @:&\?%_R|??@9V?J|Q@:&\?%_R|?%_R|@9???@9?I@9%%max_work_rate_based on_original_work55Original_Work_to_Do/average_task_duration {tasks/mo}       !" #$% tasks/mo  tasks  mo2cJ @??@Now:@????rework accomplishmentKKMIN(potential_work_rate_on_rework, maximum_work_rate_on_rework) {tasks/mo}    !" #$%2c"y@3J"?%_R??@"F`?J|N3@3J"?%_R@)iDw@???@?I @##maximum_work_rate on_original_workzzIF precedence_switch THEN maximum_work_rate_based_on_tasks_available ELSE max_work_rate_based_on_original_work {tasks/mo}        !" #$% tasks/mo  tasks  mo2c.@{*>?@@P@{*>@ 333333???@ 333333?I @ 333333original_work accomplishment//productivity*Staff_on_Original_Work {tasks/mo}     !" #$% tasks/mo  tasks  mo2c???????????????I ?average_task duration1 {mo}  !" #$%momonths  mo2c??????????????? I ?precedence switch1 {dimensionless}  !" #$% Unitless2c*;@3J"?%_R??@"F`?J|N3@3J"?%_R@)iDw@???@?I @++maximum_work_rate based_on_tasks available<<tasks_available_to_work_on/average_task_duration {tasks/mo}       !" #$% tasks/mo  tasks  mo2c]@3J"?%_R??@"F`?J|N3@3J"?%_R@)iDw@???@ ?I@tasks_available to_work_on^^MAX(total_tasks_that_could_be_worked_on - work_believed_to_be_done - Rework_to_Do, 0) {tasks}          !" #$%tasks  tasks2"c#o @>ٵ,@??@:e˫@@>ٵ,@@M[@???@ ?I@$$total_tasks_that_could be_worked_onppMIN(1, fraction_of_tasks_available_to_work_on_given_progress + agile_switch*0.12)*work_to_do_this_phase {tasks}0    * ?Q        !We have to bump up task fraction by 0.12 in Agile or we would have no tasks to work on. This may seem arbitrary, but with a smaller scope there are probably fewer interdependencies (meaning it could probably be bumped up even more). However, care must be taken on an Agile project to reduce the number of dependencies as too many will severely limit the number of people on the project (relative to a traditional project)." #$%tasks  tasks2c51 ??????????E +??????I?66fraction_of_tasks available_to_work_on given_progress22fraction_perceived_to_be_complete {dimensionless}XX??ə?333334?ٙ??333333?ffffff?陙??XX??ə?333333?ٙ??333333?ffffff?陙??? !" #$% Unitless2c!> ????ję;?>/V!AE????I""fraction_perceived to_be_complete??work_believed_to_be_done/work_to_do_this_phase {dimensionless}Z[jd     !" #$% Unitless2c?@q??@Tt@q@ 333333???@ 333333 ?@ 333333total_work accomplishment@@original_work_accomplishment + rework_accomplishment {tasks/mo}      !" #$% tasks/mo  tasks  mo2c|$ @?6kiL!??@??؇h;@?6kiL!@@???@ ?I@time_to_discover_rework}}effect_of_work_progress*maximum_time_to_discover_rework + (1 - effect_of_work_progress)*minimum_time_to_discover_rework {mo}$          !" #$%momonths  mo2c.& @@??@@@@@@g???@?I@ maximum_time_to discover_rework//IF automated_tests THEN 12/phases ELSE 12 {mo}$          !hhAlthough it is true there may be rework that shows up later than specified here, if we do not divide the rework discovery between the phases, we cannot reasonably compare projects completed in one phase to projects completed in a number of phases. It therefore behooves shorter projects to take steps to ensure that the rework discovery delay is shortened (which Agile does, so we are safe). Project that don't can be modeled by removing the division (the result is disaastrous when the rework delay is larger than the scheduled project). NOTE: Added automated tests switch to control including division or not." #$%2c (???????????????I? minimum_time_to discover_rework 0.25 {mo}   ? !" #$%2c( ?*??|8X????}= ??|8X???????I?effect_of_work_progress))fraction_really_complete {dimensionless}XX??ə?333334?ٙ??333333?ffffff?陙??XX???ffffff?333333??333333?ٙ??333333? !" #$% Unitless2c/,?P???C }?P????Ifraction_really complete00Work_Done/work_to_do_this_phase {dimensionless}     !" #$%%2c'/@{ ox??? ?Iwork_believed to_be_done((Work_Done + Undiscovered_Rework {tasks}     !" #$%tasks  tasks2 ce 5????????? ?Iproject_finished switchffIF Work_Done + Previous_Work_Done >= initial_work_to_do - 0.4 {epsilon} THEN 1 ELSE 0 {dimensionless}'V8m.;<     - ?ٙ         !" #$%%2c$H7@{*>??@P@{*>@ 333333???@ 333333?I@ 333333%%potential_work_rate on_original_workIIproductivity_before_precedence_effects*Staff_on_Original_Work {tasks/mo}B  B   !" #$% tasks/mo  tasks  mo2c;8@"σt?@"σt@ 2F%Ɇ@"σt@???@?@Equivalent_Staff<<IF project_finished_switch THEN 0 ELSE Total_Staff {people}J7       J!" #$%personpeople  person2c ;??????winitial_new_staff 0 {people}( !" #$%2%c+>?????8(???????????I?,,effect_on_productivity from_available_tasksIF (project_finished_switch OR potential_work_rate_on_original_work = 0) THEN 1 ELSE MIN(1, maximum_work_rate_on_original_work/potential_work_rate_on_original_work) {dimensionless} W@                !" #$% Unitless23crC?333333?333333???333333?333333?333333?333333?333333?333333????333333??333333normal productivityssIF test_first AND reviews THEN 0.85 ELSE IF test_first THEN 0.9 ELSE IF reviews THEN 0.95 ELSE 1 {tasks/mo/person}[B%l      : ?33 3333      : ?       : ?ff ffff   !" #$%tasks/mo-persontasks/month/person  tasks  mo person2c E@Y@Y??@Y@Y@Y@Y@Y@Y???@Y?I@Yinitial_work_to_do 100 {tasks} d!" #$%2c! U@9@9??@9@9@9@9@9@9???@9?w @9""initial_scheduled completion_date 25 {months} !" #$%momonths  mo2s M@alU*s+?@alU*s+@`j@alU*s+@alU*s+????!Cumulative Work_Done 0 {tasks}" !" #$%tasks  tasks2fO@q??@Tt@q@ 333333???@ 333333 "@ 333333rate_of_doing_workoriginal_work_done_correctly + rework_generation_on_original_work + rework_done_correctly + rework_generation_on_rework {tasks/mo}!        !" #$%L2c1V@???@?@??@???@ ?w#@time_remaining22MAX(1, scheduled_completion_date - TIME) {months}h+  h     !Automatically extend the schedule one month if we are not yet done. It is fairly typical to change the date in these cases and we do not want a zero result here. Note this is the time left to when we hope to finish the project." #$%momonths  mo2cNX@<Zn'?הe"u??@: q?7ǥk@<Zn'?הe"u?ZTV@9???@9 ?$@9weighted_work left_to_doOOOriginal_Work_to_Do + relative_effort_required_for_rework*Rework_to_Do {tasks}8      !" #$%2'c[?333333?>!/V>???333333?ھ#)*X?333333?>!/V>?Lu?333333+????333333?w%?333333effective productivityIF total_work_believed_to_be_done = 0 OR Cumulative_Person_Months = 0 THEN normal_productivity ELSE total_work_believed_to_be_done/Cumulative_Person_Months {tasks/person/month}&8W<    &          &  !,,This is the long-term average productivity." #$%tasks/mo-persontasks/month/person  tasks  mo person2s\@gE‡ݝ[?@gE‡ݝ[@fB7@gE‡ݝ[@gE‡ݝ[??? ?w&Cumulative Person_Months0 {person-months}o%' !" #$% person-moperson-months  mo person2f L^@"σt??@ 2F%Ɇ@"σt@???@ w'@ doing_workMMIF project_finished_switch THEN 0 ELSE Effective_Staff {person-months/month}u&       u!" #$%personpeople  person2s b@?v|1N??@ -@?v|1N<@P??? 0 THEN TIME + estimated_effort_remaining/Equivalent_Staff ELSE TIME {months}Y9<        Y       !" #$%momonths  mo2 c&h @Lin??@NVlP@Lin@=iiiiij???@=iiiiij ?w8@=iiiiij''est_effort_remaining_based_on_progressiiIF project_finished_switch THEN 0 ELSE weighted_work_left_to_do/effective_productivity { person-months }$%Y$       $ %  !" #$% person-moperson-months  mo person2cy@M@??@M@@M@@M@???@?9@perceived completion_datezzSMTH1(indicated_completion_date_based_on_progress, time_to_perceive_real_schedule, initial_scheduled_completion) {months}7:h; 7 :    !" #$%momonths  mo2c,???????????????:?time_to_perceive real_schedule--IF started_new_phase THEN DT ELSE 1 {months}9         !At the start of each phase, the delay is reset to DT to reinitialize the smooth for this phase. Note that this only works because it is a SMTH1 (a SMTH3 would require 3*DT to reset) and that it introduces an artifactual 1 DT delay in the response of schedule pressure (in that one DT, pressure will essentially be removed). DT is small enough that we do not have to worry about this." #$%momonths  mo2%c?BuՌUM"???p]dĦ)k?BuՌUM"??? ?;anticipated schedule_overrunIF project_finished_switch THEN 0 ELSE (perceived_completion_date - scheduled_completion_date)/MAX(17.5, scheduled_completion_date) {dimensionless}9h=<@       9 h  ( @1  h    !We never divide by less than 17.5 because for short projects (e.g., the first phase of a multi-phase project), schedule pressure is too severe because of the very early due date (differences as a fraction of the actual due date are very large)." #$% Unitless2c4, @??333333???Q)Y?333333??333333???????<?55effect_of_schedule_pressure on_productivity_relation--anticipated_schedule_overrun {dimensionless};>PPə??ə?333332?ٙ??333332?fffffePP?333333? =p ??zG{?GzH?Q??p =q?=p =?ffffff ;!" #$% Unitless2c6, @??333333???Q)Y?333333??333333???????=?77effect_of_schedule_pressure on_error_fraction_relation--anticipated_schedule_overrun {dimensionless};@PPə??ə?333332?ٙ??333332?fffffePP?333333? =p ??zG{?GzH?Q??p =q?=p =?ffffff ;!" #$% Unitless2"c+ ?ze?ffffff???ӼB?ffffff?ze?ffffff?????? ?>?,,effect_of_schedule pressure_on_productivityIF schedule_pressure_switch THEN sensitivity_for_effect_of_schedule_pressure_on_productivity*effect_of_schedule_pressure_on_productivity_relation + (1 - sensitivity_for_effect_of_schedule_pressure_on_productivity) ELSE 1 {dimensionless}C?<B4 C   ? <   ?     !" #$% Unitless2&c;Q??????????]???????<<sensitivity_for_effect of_schedule_pressure on_productivityRRIF overtime_switch THEN 0.5 ELSE IF agile_switch THEN 0.75 ELSE 1 {dimensionless}v>D v   : ?       : ?    !^^Reduce schedule pressure effect if implementing overtime or Agile (give overtime precedence)." #$% Unitless2$c-?Ym@???wh@?Ym@??? ?@..effect_of_schedule pressure_on_error_fractionIF schedule_pressure_switch THEN sensitivity_for_effect_of_schedule_pressure_on_error_fraction*effect_of_schedule_pressure_on_error_fraction_relation + (1 - sensitivity_for_effect_of_schedule_pressure_on_error_fraction) - 1 ELSE 0 {dimensionless}CA=2< C   A =   A       !" #$% Unitless2&c=Q??????????]?????A?>>sensitivity_for_effect of_schedule_pressure on_error_fractionRRIF overtime_switch THEN 0.5 ELSE IF agile_switch THEN 0.75 ELSE 1 {dimensionless}v@D v   : ?       : ?    !^^Reduce schedule pressure effect if implementing overtime or Agile (give overtime precedence)." #$% Unitless2c&v?333333?seW???333333?v7w?333333?seW?0YP?333333????333333?B?333333''productivity_before precedence_effectswwnormal_productivity*effect_of_schedule_pressure_on_productivity*effect_of_experience_on_productivity {tasks/mo/person}>Q  >  Q  !" #$%tasks/mo-persontasks/month/person  tasks  mo person2c??????????~????? C?schedule_pressure switch1 {dimensionless}>@ !Switch to enable schedule pressures on productivity to make up for schedule delays (set to one to enable and zero to disable)." #$% Unitless2c @@??@@@@@@???@?wD@initial_experienced_staff 4 {people}E !" #$%personpeople  person2s"@ Y!/V>???333333?ھ#)*X?333333?>!/V>?Lu?333333k????333333?wW?333333estimated productivityUUeffective_productivity/effect_on_productivity_from_available_tasks {tasks/mo/person}%V  %   !llDivide by effective productivity based on tasks remaining to reduce averse effects at end of project cycle." #$%tasks/mo-persontasks/month/person  tasks  mo person2c??????????C????? wX?experience_dilution switch1 {dimensionless}QS !DDSet to one to enable experience dilution effects (zero to disable)." #$% Unitless2&c@Gw??@E@N#p%@Gw@F׼@D???@D ?wY@Destimated_effort remainingIF follow_budget_switch THEN budgeted_effort_remaining*(1 - weight_on_progress_based_estimates) + est_effort_remaining_based_on_progress*weight_on_progress_based_estimates ELSE est_effort_remaining_based_on_progress {person-months}f[Z8+7< f   [  Z   8 Z     8!" #$% person-moperson-months  mo person2c"1 ??????????wZ##weight_on_progress based_estimates22fraction_perceived_to_be_complete {dimensionless}YXX??ə?333334?ٙ??333333?ffffff?陙??XX???????? !" #$% Unitless2c\@Gw?jn??@E@N#p%?Ya@Gw?jn@F׼@D???@D ?w[@Dbudgeted_effort remaining]](estimated_work/normal_productivity)*(1 - fraction_perceived_to_be_complete) {person-months}\Y \       !" #$% person-moperson-months  mo person2c=@Eë@A??@Bzv@A@Eë@A@CTg0@A???@A ?w\@Aestimated work>>(1 + estimated_rework_fraction)*work_to_do_this_phase {tasks}][  ]    !" #$%tasks  tasks2c?ٙ?ٙ???ٙ?ٙ?ٙ?ٙ?ٙ?ٙo????ٙ?w]?ٙestimated rework fraction0.4\   ?ٙ !ppThe estimated total rework that will be done over the course of the project as a fraction of the original work." #$% Unitless2c= ???????5S??????w^?willingness_to transfer\fire>>adjusted_fraction_of_total_perceived_complete {dimensionless}IHXX??ə?333334?ٙ??333333?ffffff?陙??XX???? !" #$% Unitless2c ???????????????_?maximum_error fraction1 {dimensionless}2 !" #$% Unitless2c/??????w`00incremental_error_fraction of_experienced_staff0 {dimensionless}S !Fraction of errors generated by the experienced staff above the normal error rate. This will usually be zero because we would just change the normal error rate otherwise." #$% Unitless2g??????aUncertain Requirements!" #$%2(c)=?dZ1?Wn'???dZ1?X ?dZ1?Wn'?dZ;?dZ1????dZ1 ?b?dZ1**effect_of_uncertain customer_requirements>>IF frequent_releases THEN uncertain_requirements_switch*maximum_effect_of_uncertain_customer_requirements*(1 - elimination_of_uncertainty_based_on_progress_freq) ELSE uncertain_requirements_switch*maximum_effect_of_uncertain_customer_requirements*(1 - elimination_of_uncertainty_based_on_progress_std) {dimensionless} ecd2L    e c        e c   d   !" #$% Unitless2 c1* ?333333?333333???333333?333333?333333?333333?333333?333333????333333?c?33333322maximum_effect_of uncertain_customer requirements++IF kiss THEN 0.15 ELSE 0.2 {dimensionless}b,    : ?33 3333   # ?ə !" #$% Unitless2c01 ??\ 6Y???W K&?\ 6Y????d11elimination_of uncertainty_based on_progress_std22fraction_perceived_to_be_complete {dimensionless}bXX??ə?333334?ٙ??333333?ffffff?陙??XX??333333?333333?333333? !" #$% Unitless2'c?????????a????? euncertain requirements switch0 {dimensionless}b !bbSet to 1 to enable the effect of uncertain customer requirements on errors (and zero to disable)."' ' JJ!  t'diagram_struct&&aN,<D,<N} $4VPoint_array''movie_attach((Picture_Tab))Pad**Button_Type++bb A) nE n )Condition,,Play_Where--Movie_Tab.. Rework CycleModel_Index//Model_Index_array00 0Story_List11mStory_Entity_Handle22mStory_Entity33M"KI J JJUU!   T%U&a s@ '()*0 &a s`@Ns'()*0 &a s(V@?; -06 '()*0 &a fW@WP ' O()' *0 &a fQ@hX%'qp()'XX*0 &a f@^7R'VV()'*0 &a aRI'@ lT'()*0 &a c$I@ @ '()*0 &a aq|I#@ +'()*0 &a aSIv;@ 'S'()*0 &a c@   '()*0 &a alI WQ@ '()*0 &a aI +L@ '()*0 &a c@ z{'()*0 &a cV @Hd B'()*0 &a au IA@ _'()*0 &a c @# '()*0 &a aC[I#%L@ '()*0 &a aHI @ '()*0 &a a[oI:@ \ '()*0 &a c @f '()*0 &a c+ @9'()*0 &a cis @TI}'()*0 &a a?IeH@ xz'()*0 &a aPI B!@ +O'()*0 &a aI*K@ C['()*0 &a cK@*k4y'()*0 &a aI @ xFi'()*0 &a cG4@9Ua'()*0 &a a'I,i@ +>G'()*0 &a cF@p!'()*0 &a aoI"@ P*B'()*0 &a c:@ ,H,!2$I'()*0 &a ag IW/@ !P8'()*0 &aD I@ "=2'() Graph 1*66~<hfth-)"- graph_type44bb#z,,,@NP@N* Untitledcurve_type_array55rcurve_type66JH!?p =q/!6JH2?@y/26JH @4/6JH@D/6JH @I/4bb#z,h-9v-@NP@N*::1: sum, 2: sched pressure, 3: exp dilution, 4: precedence5r6JH@Y@/6JH>@Y@/>6JHQ @Y@/Q6JH@Y@/6JH @l/4bb#z,0-H>-@NP@N*II1: sum, 2: sched pressure, 3: exp dilution, 4: errors on errors, 5: cust5r6JH2+ I@pxu+ I?/26JH@+ I@pxu+ I?/@6JHS + I@pxu+ I?/S6JH0+ I@pxu+ I?/06JHb + I@pxu+ I?/b4bb#z,L--@NP@N* Untitled5r6JHJ@"/@6/J6JH(@"/@6/(6JHE @"/@6/E6JHu@"/@6/u6JHU @"/@6/U4bbz,,,@NP@N* Untitled5(6JHt@Y/t6JH}@Y/}6JH| ?@Y/|6JH{@Y/{""  **66/q>20L20q,)- 4bb ,<@NP@:@I*:==hire/slip - 1: 0/1, 2: .25/.75, 3: .5/.5, 4: .75/.25, 5: 1/05J6JH@i0?/4bb ,J7X@NP@D*:881: Agile uncertain, 2: w/orig prior, 3: w/lower quality5J6JH@4&fffff@./4bb ,L@NP@N*:MM1: add staff w/dilution, 2: add staff w/out dilution, 3: only sched pressure5J6JH@@XSC/4bb ,@NP@N*:1: Waterfall, 2: Agile5J6JH!?Q@dGf/!4bb ,J*@NP@N*:KK1: Waterfall, 2: w/prior rework, 3: Waterfall uncertain, 4: w/prior rework5J6JH&?Q@iOɠ)/&4bb ,b7p@NP@N*:881: Agile uncertain, 2: w/orig prior, 3: w/lower quality5J6JH2?@y0?ə?&f,/24bb ,7@NP@N*:881: Agile uncertain, 2: w/orig prior, 3: w/lower quality5J6JH@D&fffff@,QVmAO/4bb ,7@NP@N*:881: Agile uncertain, 2: w/orig prior, 3: w/lower quality5J6JH?333333@qm/4bb ,4BB@NP@N*:CC1: Agile, 2: w/prior rework, 3: Agile uncertain, 4: w/prior rework5J6JH0@|?fư/04bb ,z@NP@N*:1: Waterfall, 2: Agile5J6JH@&fffff/4bb ,@NP@N*:1: Waterfall, 2: Agile5J6JH@&fffff/4bb ,@NTz@N*: Untitled5J6JH/" 8*664R/6 n|6F)-0 table_type77dd ,hH&v?edP/ *yUntitled Table/&table_var_type_array88"table_var_type99"H&/&!SET:: 7dd ,.H!f?SdP/ *yUntitled Table/!8"9"H!/!!: 7dd ,H?\dPv/ *yUntitled Table/8"9"H/!: 7dd ,Ho8?KdPn/ *yUntitled Table/o8"9"Ho/o!: " 80 &a c@#gA'()*0 &a c@$A%')+'()*0 &a aF$IT7@ % L'()*0 &a c@&~'H'()*0 &a a$&I$m@ ''()*0 &a cl@(H)'()*0 &a aE(I$*C@ )M'()*0 &a c@* +.'()*0 &a a$*I$R@ +'()*0 &a c@,-.H'()*0 &a a`I,i-@ -5U'()*0 &a a.,I* 7@ .'()*0 &a c@/$023'()*0 &a a9I/Z&G@ 04 ['()*0 &a cp@1b~D'()*0 &a aR/I "V@ 2$G'()*0 &a c)/I@ 3 F4'()*0 &a a^3I8@ 4!2'()*0 &a c  @5.6K5T'()*0 &a aNI5=B@ 6h'()*0 &a c-H@7!;o?'()*0 &a c@8j <9'()*0 &a aB8:j@ 9'()*0 &a c@:@9'()*0 &a c4@;,k;'()*0 &a aT8*E@ <R'()*0 &a aCj'U@ =S'()*0 &a c5c@>'4C ?BL A'()*0 &a a7I>@ ?.('()*0 &a a:G@ @'()*0 &a a[~>I#,@ A=Mp'()*0 &a aI>k@ B=YP'()*0 &a c@Cxr=%8'()*0 &a a 0@ D;U'()*0 &a c@ET'()*0 &a c@F{ 4p'()*0 &a aJI(@ G~.'()*0 &a asI,O@ H'()*0 &a aXI n@ I4j'()*0 &a c+I@ JrG'()*0 &a c%5I@ K3'L'()*0 &a aH1KI>:-@ L"-U'()*0 &a s!@Mv'()*0 &a d:O@N1C'()*0 &a f"@O:  NQS'B()' a *0 &a cN@ P(sQ'()*0 &a aPOO1@ QM'()*0 &a cuT@ Rg.zS'()*0 &a aqRO4@ S|S'()*0 &a a kEI5;$`@ T'()*0 &a cf @UXqt'()*0 &a cp#@VP$n.'()*0 &a c!w@ W.'()*0 &a c$@X2Zq'()*0 &a a_[wg@ Y'()*0 &a c<Xw@ ZZo'()*0 &a c%@[ asY`'()*0 &a sV&@\S6va8'()*0 &a d^w@]}'()*0 &a f'@^uH]o'@()'`*0 &a c|K@ _tlp'()*0 &a aw[ O@ `t'()*0 &a a`\w[j@ a\'()*0 &a s)(@bA'()*0 &a ddw@c'()*0 &a f)@d7Z cfkm'?()'ZZ]*0 &a c*@ef'()*0 &a a|ewdp=1@ f'()*0 &a c9+@g$M1n'()*0 &a cc,@h;k'()*0 &a cyL@iL '()*0 &a cU@j C'()*0 &a ahwd=+@ k`'()*0 &a c-@lm'()*0 &a alwd1A@ m'()*0 &a ajMVwgO@ n ,W'()*0 &a aZwIa@ o='()*0 &a a3-F.@ p2'()*0 &a a=KXT@ q '()*0 &a c5~Cw@ r'dCs'()*0 &a aErw[P@ sBh'()*0 &a cEH@t7Sr '()*0 &a cDK@u<K'()*0 &a c<.@v.J zx'()*0 &a g4@HwP'(Staff Adjustment)*0 &a a;v*@ xDe'()*0 &a c/@y z|'()*0 &a a vy.@ z4'()*0 &a c0@{|~'()*0 &a ay{u"@ |'()*0 &a c1@}~'9'()*0 &a a}{$$$@ ~'()*0 &a cx  2@p% Zv'()*0 &a a}"F@ u'()*0 &a a{R@ z '()*0 &a c?@*SE?'()*0 &a a{iQ@ 0,'()*0 &a g8A3@8A9'(Errors on Errors)*0 &a ct w@ L`'()*0 &a se@G'()*0 &a aeJv&u@ v5'()*0 &a cB5w@ 4P@'()*0 &a a_w^CJ)@ J-'()*0 &a cu5@vY'()*0 &a a #@ h~'()*0 &a D&I@ E'() Graph 2*:0 &a g6@m'(Schedule Pressure)*0 &a c7@c'()*0 &a af,@ i'()*0 &a c?Z@1bM'()*0 &a c8@ '()*0 &a av*@ '()*0 &a c8@3Yo'()*0 &a cnY@`|& '()*0 &a c9@  '()*0 &a a5@ '()*0 &a c :@-'()*0 &a ac@!@ '()*0 &a a g!@ '()*0 &a aR8!y1@ o8'()*0 &a cM;@?[ -'()*0 &a afw:@ U'()*0 &a ckf!@ ]Dy-'()*0 &a c35@ wT'()*0 &a aDM@ G}3'()*0 &a c<@$K'()*0 &a a/@ E'()*0 &a c=@V '()*0 &a ah.Z@ D'()*0 &a c2>@fD'()*0 &a a(@ 3'()*0 &a cIq?@4D]p'()*0 &a aPO@ =<r'()*0 &a cs@@='()*0 &a a [@ q'()*0 &a c-CA@Apr'()*0 &a a5l@ <j'()*0 &a cPB@&z =D\M'()*0 &a cKI@ =Y'()*0 &a a&I7$@ 5N:'()*0 &a aI#a@ N'()*0 &a c@ S'()*0 &a a&@ t}'()*0 &a cC@'()*0 &a a44@ '()*0 &a aC"@ #'()*0 &a cID@AVP'()*0 &a sE@v'()*0 &a fF@r'()'r3r*0 &a abwI"@ '()*0 &a cG@'()*0 &a aw+@ '()*0 &a fZH@&uz  '.()'uuN*0 &a d&w@/'()*0 &a fJI@91' ' )J)J()' bI'I'*0 &a dJw@AS'()*0 &a cJ@ D'()*0 &a aw4@  '()*0 &a avbwv@ %'()*0 &a cB@ *Y<'()*0 &a aQjwhN @ l'()*0 &a cF_O@>9M'()*0 &a aQbwk@ G6c'()*0 &a aiwho>@ ^v'()*0 &a acw@ O'()*0 &a cew@ {'()*0 &a aw P@ w['()*0 &a a1Jwh3@ 9_'()*0 &a c6PM@.='()*0 &a ahuwJ@ gC'()*0 &a auwKJ@ Dd_'()*0 &a apwQ@ 73X'()*0 &a chN@Zv'()*0 &a awf@ Ii'()*0 &a aw5@ mW'()*0 &a a,w `@ 9MC'()*0 &a aw@ "fEQ'()*0 &a cg"w@ _ n9'()*0 &a awu1`@ =g!'()*0 &a cuP@ma|'()*0 &a awd@ vq'()*0 &a c!Q@u/ '()*0 &a awq@ v'()*0 &a awG@ '()*0 &a cjR@\x'()*0 &a ajqwQW@ )b'()*0 &a c#CS@1o '()*0 &a cT@~'()*0 &a aFw@ D'()*0 &a aPwg~@ Gf'()*0 &a aMwdM@ -;'()*0 &a c@  '()*0 &a a!8@ ,'()*0 &a c\@ 0'()*0 &a a>@ z Y'()*0 &a a~jwux@ F '()*0 &a a!gwjc @ +'()*0 &a c 5w@ *'()*0 &a awm"@ '()*0 &a c3V@%]A'()*0 &a ahwj!l@ +'()*0 &a aNYw37@ M+'()*0 &a c7@ _'()*0 &a cbW@Tp '()*0 &a a>wd>@ :['()*0 &a a[w7@ j'()*0 &a c[nX@MFi'()*0 &a awr"@@ *DSc'()*0 &a a[wC@ (|R'()*0 &a aMwU\@ ;:Nx'()*0 &a sbw@q'()*0 &a a>wcMP@ ,<w'()*0 &a a:wu@ +'()*0 &a cL@ )o'()*0 &a c[@v'()*0 &a aow@ >fh'()*0 &a awN$@ u'()*0 &a co w@ ay}'()*0 &a a]}wb%@ Hg'()*0 &a aw&@ w'()*0 &a aY!c@ ^'()*0 &a aArwi@ -'()*0 &a ct\@^'()*0 &a a}w@ '()*0 &a c]@s'()*0 &a a[wT,@ x'()*0 &a cL^@>jZ '()*0 &a a}xw)4@ FIdr'()*0 &a c@ '()*0 &a awDJ@ 1L'()*0 &a awI@  UQ{'()*0 &a c>w@  r '()*0 &a a w#/@  i'()*0 &a cV_@ Hd '()*0 &a a >G@  Nx '()*0 &a cJ`@'()*0 &a avwzTm@ +B'()*0 &a DI@  '() Table 1*y0 &a g a@ |/k7'(Uncertain Requirements)*0 &a cb@ =>'()*0 &a coc@E@'()*0 &a cd@k*'()*0 &a c]h @ OAk<'()*0 &a aB-@@ ^Ur'()*0 &a a;L@ '()*0 &a a$T@ '()*0 &a ck@ ]^y'()*0 &a aPS@ P wz'()*0 &a c#e@7 '()*0 &a ad@@ '()*0 &a cnSf@`6|o'()*0 &a a+w @ [h<'()*0 &a gg@l '(Schedule Slip)*0 &a c@  ('()*0 &a c~Sh@!p1u&'(*W'()*0 &a czi@"c''()*0 &a cj@#9%&'()*0 &a c  @ $3%'()*0 &a a($#7!@ %'()*0 &a aq#!#`@ &8'()*0 &a aQ"!l/@ 'n'()*0 &a ap !3c@ (un'()*0 &a c^k@)Gt*'()*0 &a a)!-p@ *E]'()*0 &a c@+J'()*0 &a a{1#~@ ,YI'()*0 &a a@ -Fud'()*0 &a avWwVu$6@ .$'()*0 &a sl@/b.9'()*0 &a d1@0 %'()*0 &a fKm@1 FN036,'z()'%w*0 &a cn@2#3'()*0 &a a621*:@ 3I'()*0 &a cNFw@ 47d'()*0 &a cS5@ 5E}a6'()*0 &a a+51/@ 6OK'()*0 &a co@79:'()*0 &a so\@8O:'()*0 &a a/72@ 9'()*0 &a a87*?@ :'()*0 &a gtp@ tGo;lOw'( Overtime)*0 &a cq@< |)@'()*0 &a cGr@=?N@BEF'()*0 &a cs@>A'()*0 &a ct@?6ABHLOP^'()*0 &a a;<;= I@ @$E'()*0 &a a>;?L@ A'()*0 &a a!=;?#@ BH'()*0 &a ctj;@ Cl{{E'()*0 &a cw;@ Do~FI'()*0 &a axC;=(8@ EIt'()*0 &a a}D;=O=@ FHw'()*0 &a cT,u@GL [MHIJ'()*0 &a a<?;Gb"@ HS8'()*0 &a aHD;G,@ ITx,'()*0 &a c%Gw@ JFo'()*0 &a c3v@KUL_q'()*0 &a a*OK;?@@ L0'()*0 &a cw@M]OU'()*0 &a c8x@N#\LPW'()*0 &a a2?;M^@ O0k'()*0 &a ab9?;N)M@ P0+m'()*0 &a c6y@QZV'()*0 &a c5z@RvZX'()*0 &a c&{@S4UVYn'()*0 &a cZ|@TLhWX[m'()*0 &a abM;S $j@ U'()*0 &a a Q;S!@ V'()*0 &a a{N;T3E@ W1R'()*0 &a aR;TL5@ XU~4'()*0 &a c ^S@ Y6Z'()*0 &a aZYv'@ ZwV'()*0 &a c}TI@ [o'()*0 &a cb@ \8'()*0 &a cF}@]6U^`cd'()*0 &a ac?;]mJ@ ^]'()*0 &a c~@_`'()*0 &a a!_;]13@ ` ='()*0 &a cK@a'odk'()*0 &a c@b{ci'()*0 &a at];bI8@ cyH'()*0 &a au];a<@ d4G'()*0 &a c @e! l'()*0 &a c@fj'()*0 &a c@gijm'()*0 &a cv@h R&kln'()*0 &a ab;g+>@ i'()*0 &a af;g'0@ j'()*0 &a a~a;h1@ kIe'()*0 &a a>e;hdL@ l)W'()*0 &a ag;T~=@ mc'()*0 &a ah;SnE@ n/Cj'()*0 &a aEBJw^P@ o'()*0 &a aV_k2%@ pVmz'()*0 &a cX+K@ qP _Mr'()*0 &a a:(q@ r;1WH'()*0 &a s_@sMry'()*0 &a f[O@tJLRx'[[()'LL*0 &a f1@u [H-w' N11@()'--C*0 &a cHI@ v@O8wx'()*0 &a awvIu@ w*#H'()*0 &a a4@vIt~(@ xHaK'()*0 &a asIY=@ yK^'()*0 &a a: :@ z(w'()*0 &a a} ]@ {'()*0 &a cF@|"j~'()*0 &a cd@}C ~{K'()*0 &a a\|}X&@ ~1K'()*0 &a ss@q'()*0 &a aF}2@ k'()*0 &a aIun@  1'()*0 &a a8 @)@ '()*0 &a cvm:I@ hP'()*0 &a g@ks'(Rework Calculations)*0 &a c]@Okk'()*0 &a c I@ '()*0 &a a}E/@ [Xs'()*0 &a c'U@ +5O'()*0 &a aPkE@ /pU'()*0 &a c@'()*0 &a aO^.=@ d'()*0 &a c[0@MiJL'()*0 &a aIE@ c/'()*0 &a a4#I|@ '()*0 &a a2\O.@ \Cd'()*0 &a cl@^z '()*0 &a all@ gq'()*0 &a c @ @KLNORST'()*0 &a c65@ W'()*0 &a a_8V3@ R'()*0 &a auX@ U'()*0 &a af0I7]>@ 6Vns'()*0 &a a%I@ }f'()*0 &a c g@H.z'()*0 &a a^t%C@ %.SO'()*0 &a a@ O'()*0 &a atItxH@ Sd'()*0 &a g@ KS'( Work Metrics)*0 &a c@}@ `'()*0 &a cD<@ 6Rf'()*0 &a crx@dX'()*0 &a aEq3@ K;w_'()*0 &a aw46@ p=^'()*0 &a cm@_{'()*0 &a c@ '()*0 &a c@7@ 2N'()*0 &a a)B@ Gn'()*0 &a a$Q@ q'()*0 &a clr@^Cz'()*0 &a amDm@ hrI'()*0 &a c=$@ /KG'()*0 &a aq*@ Fe '()*0 &a c @ B'()*0 &a alf.)@ s '()*0 &a cb5@ A'()*0 &a a~2!@ uXh'()*0 &a c2w@ *R'()*0 &a aXZ:@ )<'()*0 &a szK@I2d'()*0 &a aJX1@ ;'()*0 &a cyu@ k'()*0 &a aOV^@ '()*0 &a ct@ '()*0 &a aOP(@ '()*0 &a s@.'()*0 &a dN@E%W'()*0 &a f@ N8!'V()'!V!*0 &a aPU@ O'()*0 &a aMZ-@ '()*0 &a s@n'()*0 &a dZ@Qc'()*0 &a f@Z'b()'*0 &a a# ?@ a'()*0 &a aO@ '()*0 &a gc@ c7F ? '(Cumulative Metrics)*0 &a s7ds@FJ'()*0 &a aXv4/@ $u4'()*0 &a cq@X)'()*0 &a c|I@ l'()*0 &a d+I@"4'()*0 &a f,@ IG' ,,()' *0 &a aI&!@ '()*0 &a avl@ '()*0 &a c @9p '()*0 &a a2?@ '()*0 &a c@ '()*0 &a a*<0@ '()*0 &a a tD>d@ P=r'()*0 &a fo@1[^' 9coco()' 3b^b^*0 &a aDI5|"@ #i'()*0 &a s@x'()*0 &a s^s@~@|'()*0 &a a\L@ N'()*0 &a c, @ S'()*0 &a a8t[#a@ >$'()*0 &a cI@ '()*0 &a akJI!4>@ 3fk'()*0 &a a{IkA@ s'()*0 &a cI@ &'()*0 &a aI,L@  5'()*0 &a c|I@ c'()*0 &a ccE@ @'()*0 &a s%9@ 8h'()*0 &a d%@.'()*0 &a b%@O+h'%%#()'8*0 &a a F'@ $9('()*0 &a aZ/j@ $'()*0 &a sC@1xt'()*0 &a av@ %F'()*0 &a a1v@ Ow'()*0 &a aD1I90@ 1/gE'()*0 &a sdI@F$ '()*0 &a a7I/36@ &R'()*0 &a aCF 9n@ 6Q'()*0 &a sj@F} '()*0 &a gq@ qi'(Phase Bookkeeping)*0 &a cw@ '()*0 &a acwa@ Tz'()*0 &a sC@w!e '()*0 &a dw@'()*0 &a b~@Q 'Y()'c*0 &a awhI"@ '()*0 &a aUw$@ os'()*0 &a sd@3w,'()*0 &a s7@@Jr'()*0 &a d7@.@'()*0 &a b6@B2c '66*()'/*0 &a aA)@ 4I.'()*0 &a aU^@ ;'()*0 &a ai'@ 9M'()*0 &a aBV@ 6|5'()*0 &a a=`@ 8'()*0 &a aw,Q@ D{'()*0 &a c5@ '()*0 &a a4(@ '()*0 &a am5IJ@ (l'()*0 &a co5@ a}%'()*0 &a a{vFJ@ 8g'()*0 &a aSpIXM9@ N3j'()*0 &a a+0@ '()*0 &a cm @ _\{x'()*0 &a a #@  '()*0 &a a+F:+@ }'()*0 &a cv @ h'()*0 &a a.4wC@ Vs'()*0 &a ad|"@ '()*0 &a c@ r    '()*0 &a a@I @  4P'()*0 &a aI DF4@  w'()*0 &a aaI :@  u '()*0 &a s@ &'()*0 &a a1++@ a'()*0 &a cEw@ 5U'()*0 &a aJt#V@ ?o$'()*0 &a c@ g'()*0 &a cE@ =lL'()*0 &a clEw@ ^zy'()*0 &a a1hA@ ;NPq'()*0 &a c@ e '()*0 &a c@@g'()*0 &a ajR-)@ Fk'()*0 &a a2\1!@ .'()*0 &a cgkFI@ YTu'()*0 &a aB[IT2"@ O:h\'()*0 &a czFI@ c*HI'()*0 &a aieW$@ WXw'()*0 &a cw@ '()*0 &a aw9.@ s'()*0 &a awB#;@ '()*0 &a aR]tS!@  D&'()*0 &a c#G@!%*h2'()*0 &a c2V@"*$93'()*0 &a cAE@#9%Hd4'()*0 &a cP>@$H&WV5'()*0 &a a(CoC@ % '()*0 &a c,@ &9'()*0 &a a6}A@ ''()*0 &a c*@ (%'()*0 &a c1@ ))8 ./01E'()*0 &a c#@**.26('()*0 &a c2@+*913:'()*0 &a cA@,9H04&7'()*0 &a cP@-HW/5AB'()*0 &a aT)*?:@ .0'()*0 &a a)-8@ /2X'()*0 &a a),kQ@ 02H'()*0 &a af)+(>@ 1#2'()*0 &a ab!* G@ 2%,'()*0 &a a#"+e@ 3#2E'()*0 &a a#,Y@ 4?N+'()*0 &a a$-h@ 5M]+'()*0 &a c}*@ 6j''()*0 &a c,@ 7p#8'()*0 &a a7C(1@ 8x'()*0 &a a&}#5@ 9'()*0 &a c+@ :>'()*0 &a cs@;L<='()*0 &a a;{SH@ <CUa'()*0 &a a;)9@ ='()*0 &a a:?$7@ >'()*0 &a ar BNP@ ?3>g`'()*0 &a aA$U@ @-K'()*0 &a c0-@ A&9@'()*0 &a cg\-@ B_Rne?'()*0 &a c_T@CW%fF'()*0 &a c_@DWfEFG'()*0 &a a )D^@ E2e'()*0 &a a "CD&a@ F_oF'()*0 &a cDI@ GH'()*0 &a aGI&y!,@ H'()*0 &a g@ IIQ'( Rework Cycle)*0 &a cV@J7tR'()*0 &a aa}T@ KD'()*0 &a a;q@ LS,'()*0 &a c]@ MOkN'()*0 &a aDMj,@ NU'()*0 &a aVR@ Oy4'()*0 &a cM@P7cS'()*0 &a cb@Q7T'()*0 &a aXJ@ R='()*0 &a a8P@ S='()*0 &a ap(Q |@ TB'()*0 !drmd Dependent_Entry;;plwh-)" ;plwh-)" ;plwh-)" ;plwh-)" ;plwh-)8" ;plwh-)" ;plwh-)X" ;plwh-)" Annotation_Info_Handle<<3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"3 <3"4 <3"> <3"A <3"B <3"G <3"J <3"K <3"L <3"s <3"t <3"u <3"v <3"w <3"x <3"y <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"# <3"- <3"0 <3"5 <3"6 <3"7 <3"? <3"E <3"T <3" <3" <3" <3"[ <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"! <3"$ <3"% <3"& <3"' <3"( <3") <3"* <3"+ <3". <3"2 <3"I <3" <3" <3" <3"G <3"H <3", <3"/ <3"H <3" <3" <3" <3" <3" <3" <3" <3" <" &a*N,D,N $V'()*+bb В1A1nE n @1,- .Staff/0 012@3"b <3"w <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"J <3"o <3" <3" <3"; <3"U <3"V <3"\ <3"d <3"e <3"f <3"g <3"h <3"i <3"j <3"k <3"l <3"m <3"n <3"u <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"W <3" <3". <3" <3" <3"^ <3" <3" <3" <3" <3" <3" <3"Y <3"Z <3"[ <3"` <3"a <3"o <3"r <3"s <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"4 <3" <3" <3" <3" <3" <3" <" &aN,D,NE $VM'()*+bb 1A1nE n 1,- .Errors on Errors/0 01.2.3" <3" <3" <3"y <3"z <3"{ <3"| <3"} <3"~ <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"Y <3"Z <3"v <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3": <3"; <3"< <3"= <3"> <3"@ <3"A <3" <3" <" &aW2<@*Efe -f~'()*slider_type==hh ?H ?/ Log_Condn>>Log_Page??-" " 0 &aW2@)e e'()*=hh ?H*?/*>?-" " 0 &aW2@0l !pl'()*=hh ?HC?/C>?-" " 0 &aW2@-i> i_'()*=hh ?H5?/5>?-" " 0 &aW2@/k9  k`'()*=hh ?HX?/X>?-" " 0 &a6NxDx p'()*+bb, 1A1nE n 1,- .Rework/Metrics/0 01G2pG3"8 <3"< <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"O <3" <3" <3"L <3" <3"R <3"S <3"T <3": <3"9 <3"@ <3" <3" <3"M <3"N <3"K <3" <3" <3" <3"z <3" <3"J <3"P <3"Q <3"q <3"| <3"} <3"~ <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"{ <3" <3"X <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"\ <" &aZN,hD,hN  $`V'()*+bbP ޒ1A1nE n 1,- .Schedule Pressure/0 C0B1AP2@P3" <3" <3" <3" <3" <3" <3"= <3"D <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"- <3"q <3"r <3" <3" <3" <3" <3" <3"C <3"_ <3" <3" <3" <3"p <3" <3" <3" <3" <3"% <3"( <3"7 <3"8 <3" <3"8 <3": <3" <3"! <3"" <3"# <3"$ <3"% <3"& <3"' <3"( <3") <3"* <3", <3"/ <3"1 <3"2 <3"3 <3"6 <3" <3" <3"5 <3"7 <3"9 <" &aW@  '()*=hh ?He?/e>?-" " 0 &aW2@0l !l'()*=hh ?Hf?/f>?-" " 0 &aW@@Cc ('()*=hh ?Hk?/k>?-" " 0 &a~N,D,N  $V'()*+bbt ’1A1nE n 1,- .Schedule Slip/0 g0f1e2d3" <3"8 <3": <3" <3"! <3"" <3"# <3"$ <3"% <3"& <3"' <3"( <3") <3"* <3", <3"/ <3"1 <3"2 <3"3 <3"6 <3" <3" <3"5 <3"7 <3"9 <" &aW0@,L _'()*=hh ?Hv?/v>?-" " 0 &aN,0D,0Nq $(Vy'()*+bb 1Al$. nE n $.,- . Overtime/0 01/2/3"< <3"@ <3"? <3"H <3"O <3"P <3"> <3"A <3"K <3"L <3"C <3"E <3"= <3"B <3"D <3"F <3"I <3"G <3"_ <3"] <3"` <3"^ <3"c <3"; <3"M <3"U <3"S <3"N <3"W <3"T <3"Q <3"V <3"R <3"X <3"b <3"m <3"n <3"a <3"d <3"e <3"k <3"l <3"g <3"h <3"i <3"f <3"j <" &aW<@<\ 2f'()*=hh ?H?/>?-" " 0 &aW@ }'()*=hh ?H?/>?-" " 0 &aW@ j'()*=hh ?H?/>?-" " 0 &aW@  '()*=hh ?H?/>?-" " 0 &aW@ '()*=hh ?H?/>?-" " 0 &aW@ '()*=hh ?H?/>?-" " 0 &a*ND %'()*+bb 1A%.nE n %.,- .Phasing/0 01D2@D3"p <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"F <3" <3"+ <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"! <3"" <3"# <3"$ <3") <3"* <3"+ <3", <3"- <3". <3"/ <3"0 <3"1 <3"2 <3"3 <3"4 <3"5 <3"C <3"D <3"E <3"F <3"1 <3" <3"t <3" <3" <" &afN@D@ 8'()*+bb\ I%.nE n &.,-.Totals/0 O0N1M20L3"M <3"O <3"Q <3"R <3"S <3" <3" <3" <3" <3" <3" <3" <3" <3"P <3" <3" <3" <3" <3" <" &aW{s@p p'()*=hh ??B)/>?-" " 0/// &aWs@s s'()*=hh ?H?B)/>?-" " 0 &aWs@s s'()*=hh ?H?B)/>?-" " 0 &aWs@s s'()*=hh ?H?B)/>?-" " 0 &avNDD %L'()*+bbl /I/nE n &/,- .Fig. 1/0 _0^1]2p\3" <3" <3" <3" <3" <3"u <3"t <3" <3"s <3"v <3"x <3"w <3" <3" <3" <3" <3" <3" <3" <3" <3" <3"$ <3"% <" drmd#$% Unitless2c??????????r????? wf?follow_budget switch1 {dimensionless}Y !ssSet to 1 to follow project project with regards to staffing. Set to zero to staff based on progress and schedule." #$% Unitless2g ??????gSchedule Slip!" #$%2!c! @9@??@;P@@9@@9@???@ ?h@scheduled completion_dateinitial_scheduled_completion + (perceived_completion_date - initial_scheduled_completion)*willingness_to_slip*allow_schedule_slip*schedule_slip_switch {months} 9ijk#;,  9   i  j  k   !" #$%momonths  mo2c"??????????P?????i?willingness to_slip1 {dimensionless}h !QQRanges from zero to one. One means slip completely, zero means slip not at all." #$% Unitless2c1 ?#??????????}?????j?allow_schedule_slip22fraction_perceived_to_be_complete {dimensionless}hXX??ə?333334?ٙ??333333?ffffff?陙??XX??????????? !~~Controls period over which it is okay to slip project (allows there to be schedule pressure in the beginning of the project)." #$% Unitless2c)??7???? kschedule slip_switch0 {dimensionless}h !88Set to 1 to enable schedule slipping (zero to disable)." #$% Unitless2s /@0@??@A0@0@@0@??? ?lImputed_Project_Cost0 {person-mo}om !" #$% person-moperson-months  mo person2"f1 @$??@$@$??? mincreasing imputed_costIF (TIME < initial_scheduled_completion) OR project_finished_switch THEN 0 ELSE imputed_cost_per_month_of_overrun {person-months/month}nl0            n!" #$%personpeople  person2c!2@$@$??@$@$@$@$@$@$???@$ ?n@$""imputed_cost_per month_of_overrun10 {person-months/month}m  !" #$%personpeople  person2c?7@iM‡ݝ[??@k7B7@iM‡ݝ[@iM‡ݝ[??? ?oTotal_Project Cost@@Cumulative_Person_Months + Imputed_Project_Cost {person-months}&l  & l  !" #$%2g;??????p Overtime!" #$%2c<??????????3?????;q?maximum_overtime allowed0.5 {dimensionless}r   ? !44Largest fraction of overtime allowed by management." #$% Unitless2(c=?????????? ?;r?indicated_overtimeIF (Total_Staff <> 0) THEN MIN(MAX(total_staff_needed - Total_Staff, 0)/Total_Staff, maximum_overtime_allowed) ELSE 0 {dimensionless}JUqtL J     U J     J  q     !" #$% Unitless2c >??????????P?????;s?overtime_delay 1 {months}t !QQThis is short because the reaction to overtime pressure is usually pretty quick." #$%momonths  mo2cI???????;tovertime_fractionJJovertime_switch*SMTH3(indicated_overtime, overtime_delay) {dimensionless}vrsuxw} v r s     !" #$% Unitless2c,G@"σt @ I ?8`=????I Rework_to_Do 0 {tasks} $. !" #$%*2f/t?"F???"F?"F???Irework_generation on_rework00error_fraction*rework_accomplishment {tasks/mo}2"  2   !" #$%L2f5u@} ??@ p夂@} ??? Irework_done correctly66(1 - error_fraction)*rework_accomplishment {tasks/mo}2"  2    !" #$%L2c |????????????????minimum_time_to perform_rework0.25 {months}   ? !" #$%2c6}@*I ??@%> @*I ?8`=????maximum_work rate_on_rework77Rework_to_Do/minimum_time_to_perform_rework {tasks/mo}     !" #$%2c+:@qZ??@ 2F%Ʉ@qZ@???@ ?@Staff_on Original_Work,,Equivalent_Staff - Staff_on_Rework {people}      !" #$%personpeople  person2g??????Rework Calculations!" #$%2&c?I|Rh???KF?I|Rh?ŗ|y??? ?fraction_of_effort to_reworkMIN(1, maximum_work_rate_on_rework*relative_effort_required_for_rework/(MAX(0.001, maximum_work_rate_on_rework*relative_effort_required_for_rework + maximum_work_rate_on_original_work))) {dimensionless} D     ( ?PbM           !" #$% Unitless2c#????????????????$$relative_effort required_for_rework1 {dimensionless}$ !This is the effort required to fix problems relative to original work. A value of 1 means the effort is the same. A value of 0.5 means it takes half the effort while a value of 2 means it takes twice the effort." #$%2c\?333333?seW???333333?v7w?333333?seW?0YP?333333????333333??333333productivity on_rework]]productivity_before_precedence_effects/relative_effort_required_for_rework {tasks/mo/person}B  B   !" #$%tasks/mo-persontasks/month/person  tasks  mo person2c #?333333?seW??333333?%?333333?v7w?333333?%?0YP?333333????333333?I?333333 productivityproductivity_before_precedence_effects*effect_on_productivity_from_available_tasks*effect_of_overtime_on_productivity { tasks/mo/person }B|  B   |  !" #$%2*c @Wq??@jg@Wq??? ?Staff_on_Reworkno_priority*fraction_of_effort_to_rework*Equivalent_Staff + rework_priority*MIN(maximum_work_rate_on_rework/productivity_on_rework, Equivalent_Staff) + original_work_priority*MAX(Equivalent_Staff - maximum_work_rate_on_original_work/productivity_before_precedence_effects, 0) {people} Bd                  B        !" #$%o2c1@??@1 jNI@????potential_work rate_on_rework22productivity_on_rework*Staff_on_Rework {tasks/mo}     !" #$%L2g ?????? Work Metrics!" #$%2cK@0{Í ?evk??@*xW?Kf݉@0{Í ?evk@*/y@???@ ?@maximum_total work_rateLLmaximum_work_rate_on_original_work + maximum_work_rate_on_rework {tasks/mo} V     !" #$%L2cO@q??@juQx@q@ 333333???@ 333333 ?@ 333333potential work_ratePPpotential_work_rate_on_original_work + potential_work_rate_on_rework {tasks/mo}     !" #$% tasks/mo  tasks  mo2c&d ??̅\???̅\??ǥ,??̅\????????''effect_on_productivity from_precedenceeeIF project_finished_switch THEN 1 ELSE total_work_accomplishment/potential_work_rate {dimensionless}$          !" #$% Unitless2s @CNz?@CNz@@K7)@CNz@CNz????Total_Rework Generated 0 {tasks} !" #$%tasks  tasks2fK@[??@[@[?ډ<^????ډ<^ ?ډ<^generating_reworkLLrework_generation_on_original_work + rework_generation_on_rework {tasks/mo}     !" #$%L2s @Cܵhr?@Cܵhr@@GF.F@Cܵhr@Cܵhr????Cumulative Rework_Done 0 {tasks} !" #$%tasks  tasks2f >@??@Now:@???  reworking??rework_done_correctly + rework_generation_on_rework {tasks/mo}     !" #$%L2g??????Cumulative Metrics!" #$%2c  ??????????A????? ? agile_switch1 {dimensionless}?ART !BBSet to 1 to enable Agile tests (zero for conventional waterfall)." #$% Unitless2f H @y??@y@y???I adding_workIIIF start_new_phase THEN (new_work_to_do_this_phase)/DT ELSE 0 {tasks/mo}(          !" #$%L2fS @{??@zbu@{???Ishipping_productTTIF (start_new_phase OR project_finished_switch) THEN Work_Done/DT ELSE 0 {tasks/mo}0            !" #$%L2/c?????????start_new_phaseagile_switch AND (NOT project_finished_switch) AND fraction_of_total_perceived_complete < 0.95 AND Original_Work_to_Do < 0.04*work_to_do_this_phase AND Rework_to_Do < .01*work_to_do_this_phase {dimensionless}  h      < ?ff ffff    < ?z G{      < ?z G{    !We start a new phase if we haven't finished (and aren't close to finishing - within 5%) and we've finished a significant amount of the original work (at least 96% - numbers down to 90% have little additional effect) and have met a given standard of quality (less than 1% errors)." #$% Unitless2s @S(/I???h@S(/I?毚+:Z????Initial Undiscovered_Rework 0 {tasks} !" #$%tasks  tasks2b"` @FS(/I4 ??@#B@FS(/I4 ??? ##change_initial undiscovered_reworkaaIF start_new_phase THEN (Undiscovered_Rework - Initial_Undiscovered_Rework)/DT ELSE 0 {tasks/mo}0            !" #$%L2cA1@) 0 ??@) 0 @) 0 ??? ?Undiscovered_Rework This_PhaseBBMAX(0, Undiscovered_Rework - Initial_Undiscovered_Rework) {tasks}      !" #$%tasks  tasks2s1@9@??@;P@@9@@9@???@?w@initial_scheduled completion22initial_scheduled_completion_date/phases {months} mh9     !" #$%momonths  mo2&b~@\??@b @\??? wchange_scheduleIF start_new_phase THEN (TIME + initial_scheduled_completion_date/phases - initial_scheduled_completion)/DT ELSE 0 {months/mo} D                 !" #$% Unitless2g??????Phase Bookkeeping!" #$%2s @fzԲ???\L@fzԲ@ 9-????Latent_Work_in_System 0 {tasks} !" #$%tasks  tasks2!b@WfzԲEL8??@!6 '`@WfzԲEL8??? change_latent_workIF start_new_phase THEN (Original_Work_to_Do + Rework_to_Do + Undiscovered_Rework - Latent_Work_in_System)/DT ELSE 0 {tasks/mo} @                !" #$%L2s @X祪{??@X7@X祪{@X祪{????IPrevious_Work_Done 0 {tasks} !" #$%*2c< @Xk??@X)8]@Xk@X祫X??? ?Itotal_work_believed to_be_done==Previous_Work_Done + Work_Done + Undiscovered_Rework {tasks}.%      !" #$%tasks  tasks2c$At?tO=???G{X?tO=?5S????%%fraction_of_total perceived_completeBBtotal_work_believed_to_be_done/initial_work_to_do {dimensionless}     !" #$% Unitless2c-@@??@@@@@@???@?@phases..IF agile_switch THEN 4 ELSE 1 {dimensionless}        !" #$% Unitless2c!+@9@9??@9@9@9@9@9@9???@9?@9new_work_to_do this_phase""initial_work_to_do/phases {tasks}     !" #$%tasks  tasks2&c-?? t P????;Z?? t P?5S?t???? ??..adjusted_fraction_of total_perceived_completeIF (agile_switch AND fraction_of_total_perceived_complete + 1/phases < 1) THEN (1 - fraction_perceived_to_be_complete) {release excess staff at start of each phase} ELSE fraction_of_total_perceived_complete^D                 !uuDon't let fraction complete exceed 50% until in last phase during agile (otherwise, we let staff go between phases)." #$% Unitless2c*?????p????started_new_phase++DELAY(start_new_phase, DT) {dimensionless}:      !qqPulses in the first DT of the new phase (vs. start_new_phase which pulses in the last DT of the previous phase)." #$% Unitless2c9F@>ٵ,@9??@:e˫@9@>ٵ,@9@;ag%x@9???@9 ?@9work_to_do this_phase::new_work_to_do_this_phase + Latent_Work_in_System {tasks} \     !All work that must be done this phase (including things we don't know about, such as undiscovered rework). Note that most of this is known (Undiscovered Rework is marginal), so we use this even in policy decisions that should only be based on things we know. If we run cases where Undiscovered Rework becomes larger (unlikely), we will need to separate out another variable for these policies (estimated_work and start_new_phase)." #$%tasks  tasks2c!??????????.????? ?test_first_switch1 {dimensionless} !//Set to zero in Agile to turn off "test first"." #$% Unitless2c"??????????????? ?frequent_release_switch1 {dimensionless} !Set to zero to turn off the effects of frequent releases and customer interactions (Agile and uncertain customer requirements only)." #$% Unitless2c#??????????????? ?reviews_switch1 {dimensionless} !Set to zero to disable the effects of design and code reviews, as well as pair programming and commitment to technical and design excellence (Agile only)." #$% Unitless2c $??????????I????? ? kiss_switch1 {dimensionless} !JJSet to zero to disable the KISS (Keep It Simple Stupid) effects in agile." #$%2c 2*???????????????? test_first33agile_switch AND test_first_switch {dimensionless}1    !" #$% Unitless2c8+????????????????frequent_releases99agile_switch AND frequent_release_switch {dimensionless}b    !" #$% Unitless2c/,????????????????reviews00agile_switch AND reviews_switch {dimensionless}1    !" #$% Unitless2c,-????????????????kiss--agile_switch AND kiss_switch {dimensionless}c    !" #$% Unitless2c11 ?;?&A?߮zG???ﯢׂ??߮zG?&A?߮zG?߮{lI?߮zG????߮zG??߮zG22elimination_of uncertainty_based on_progress_freq22fraction_perceived_to_be_complete {dimensionless}bXX??ə?333334?ٙ??333333?ffffff?陙??XX?߮zG?? =p?p =q?\(?zG?噙?? =p?Q? =p !" #$%2cC??????????J????? ?automated_test_switch1 {dimensionless} !KKSet to zero to disabled nightly builds and automated testing (Agile only)." #$% Unitless2c6D????????????????automated_tests77agile_switch AND automated_test_switch {dimensionless}    !" #$% Unitless2g I?????? Rework Cycle!" #$%2cJ??G???? rework_priority0 {dimensionless} !HHSet to one to give rework priority (other two priorities must be zero)." #$% Unitless2c P???p???? ? no_priority1 {dimensionless} !qqSet to one to have no priority, i.e., do work as best we can as it comes in (other two priorities must be zero)." #$% Unitless2cQ?????????N????? original_work_priority0 {dimensionless} !OOSet to one to give original work priority (other two priorities must be zero)." #$% Unitless  8Model_Template@@AliasRecordAAPathnameBB  ,,L 3V!3!3"32r$3     3 3 $  ' JJ!  drmd  T PanelCC 3r!3 $ C. JJ!  drmd     3"3 $  5 JJ!  drmd 5 3"3"3 $Sector_SpecsDD2:T Sense_SetupEEbb0( "3"3#32,$3H$3:$3F L (select_struct_arrayFF<select_structGGP?"3&((????Gi?"3'((????allow_struct_arrayHH((allow_structII&I!IlIII I-INI5I]IXIfInI`ITIDII IIcI_ILIIII1II IRICIkIAI?IIGI:IeI*IPIiPicture_arrayJJPictureKK  ,Arial (# Setup #1(#\Sat, Oct 14, 2006 10:47 PM(=Input Variables(RRun #(R}relative eof new staff(Rrelative pof new staff(g1(g}0.00(g1.00(v2(v}0.25(v0.75(3(}0.5(0.5(4(}0.75(0.25(5(}1.00(0.000 ))ZEntity_Controller_MapLL/ " L/*" L/5" L/C" L/X" L/e" L/f" L/k" L/v" L/" L/" L/" L/" L/" L/" L/" L/" L/"  Section_ListMMFont_MapNNFont_Map_Record_ArrayOOFont_Map_RecordPPArialPArialPArialMWindow_ListQQ  Model_WindowRR 2R 2Pad_WindowSS 5C*yS u)a*S q*:TImportExportTT"xEmI