ithnithm@@Book@@#:.y:xC_StringPrint_SetupTPrintxxHH@ RHH@d'ns}sw c `dStartupSound_TabLISTBook_PrefsAct  ,,dvList    Scene    Drawing_Model   Draw_Specs  JJ   diagram_struct_arrayDependentsdrmd ScriptPad_List Manuscript "T"Play@@"dpTPlay_PrefsPP??%2     V"HModel$ "{xTmbmSubscript_Set_List Subscript_Set xVArray(1 Dim_Name_1 Simulation_Model"mRun_Specsjj?@@?Timeentity_struct_array0"jentity_struct2c  @I@I?@I@I@I@I@I@I@I@I???@I?@I NC_Initial_%50int16_arraydouble_arraytoken_type_arraytoken_type  2run_handle_array!!Draw_Index"" Poster_Info##queue$$Units%%2l  @. !?PvK@.@-?3@.@. !?PvK@2E @2E [@=Alx@-?@2E @2E  NC_In_Train15  ! run_handle&&@-@-.@-Qt]E@,.@-QF@-Q+}/@. !@-:j @-Q @-ITv@-@-PLk@-,@-[d@-OfMp@, {Y@-ц@-MB̢to@-E[>@-'@-J'5@,s@,.>z@-GY@,0Eo@,^@,A\@+AX@+s@+;r@*pGA[@**vD@*5䤢-@)ޞ.*@)Y@)00Eo@)9@)&&@)*[UP@(l@({ϲh@($@'DUj@'u> S@'l<@&r">%@&p,ɭ@&9@%&&@%j[UP@%l@$ϲh@%^]Cw@&a@%4\J@&M Hc@%ԀL@%~K`#5@&@sȖ@&>@&@&3=@%mM6@%'{ƒw@&&&M@%0c6@%w_@% T@$5K@%iM @%7E@$f$@$c{j@$ 5<.S@#<@$T; +@#:m6@#h@#Ni{@"#@"@#>28g@"f@"~U@#-)Qz@#3X%Ae@$h6> [@$wdɭD@#1UP-@$a@%Cf@%Cf@$52Q@$52Q@#KYq@"}V @"}V @"}V @! u@"l@"l@"l@"ua@"ua@"f-0@"f-0@"f-0@"f-0@"f-0@!cD@"V@"V@#IK=]l@#IK=]l@#IK=]l@#IK=]l@#IK=]l@$:em@$:em@$:em@$:em@$:em@#:WGJ@#:WGJ@#:WGJ@#:WGJ@$)9Fۿ@%Y=@&?&@$>&@$>&@$>&@$B@$B@$B@$B@$B@$I>D@%~ @%~ @%~ @%~ @%~ @$\@$\@%i3ͷ@%i3ͷ@&_Wv@ xI:Y@ xI:Y@ .@ .@ .@ .@ .@ T%3{@ k% @(H@"t@"t@ 2BA@ 2BA@ [)^@ F@ F@ F@-Ԥ@-Ԥ@-Ԥ@-Ԥ@-Ԥ@-Ԥ@-Ԥ@-Ԥ@-Ԥ@-Ԥ@o@o@o@o@Xv@Xv@3P-@3P-@3P-@=@=@=@=@=@X#@X#@X#@|ϥt@|ϥt@f49Ѐ@Jn& @Jn& @mF@mF@mF@mF@;` @T7?|?PCR?PCR?; fU_?; fU_?; fU_?PvK?PvK?PvK?PvK?PvK?v?v?v@4@4@4@4@W>@+N6d@(_@(_@(_@(_@ σ@ σ@':@':@':@':@':@':@':@':@uy÷@uy÷@uy÷@uy÷@uy÷@ q<@ q<@ q<@ q<@ q<@濩dr@+@+@+@+@+@+@cJp@cJp@e*L;(@qa @t(`@t(`@n(@ % @ % @ % @ % @ % @%@ 9O@ 9O@3bL@3bL@3bL@3bL@3bL@ R0?@ R0?@ -@ -@ Sl@ Sl@ СJ@ СJ@ СJ@ СJ@ UB!@ UB!@ UB!@ UB!@ 3@ 3@ 3@ X)@XM~@Kv%@ =8@w-T@w-T@w-T@w-T@w-T???eok?eok?h?h?h?a.=@@@@*jW@*jW@2E @2E @2E @2E @2E @2E \\At 10% initial turnover or 300 people and 50% of which are NCs, use an initial value of 15." #$%2s+ @`@Zmo?@`@Zk@_@`@Y@`@Zmo@Z;@Z;????sw@`?@Z;@Z;NC_Exp,,.9*Initial_Workforce_Total*NC_Initial_%/100 $  ?      d  ! &@`@`A>K@`ڃіD@`ǹ@` #a@`TB@`ϝY@`w@`4U@`ǁoR6@`d@` ?;@`s @`;@`6;@`s&P@`˫zđ@`%Œ@`s3@`v0 @`<.e8@`RB"@`)iz@`_F@`§}|;@`'M-@`6{@`t=@`]@J2@`ǘ}@`3{@`+@`I@`bs@`kC@`eE@`ۥm@`~S^@`{1@`yKw@`vSH@`tK(@`q^@`oVH @`l 1@`jj&9@`gҚ@`e81@`c xC$@``@`^Z.z@`[c\ @`YҪ@`WC~q@`T}: @`RT+@`P;h@`M@XS@`K@`I?7@`F(@`DP&ϩ@`BNU U4@`@y6@`=@`;hߏ@`9xo@`6Ղ>@`4q@`2G,@`0EI@`-'@`+{Y2F@`)9W@`&qV@`$Pd@`"| my@` @ @`@`@`nL @`\@E@`&Vo@`񰆜y@`M@`-8@` [NX@` e@`K@`mނ@_a@_Ũ6h@_id@_D9@_ِ:,8@`k~@_'Ǵ@_`@_sT.@_NӜ@_0p,@_R+@_ބ &@_pḿ@_Ce@_ѿ/@_¸~M@_`7@_Ů-@_'?`I@_7Xڐf@_Q@_w'wxq@_z)@_k@_])^-@_Nz,@_?Ə;@_1>~@_"nN<@_4(B@__A`@_]3*@_: @^zX@^FC@^@^s @^2|m@^4b@^R-@^@^(cq@^{@^naz@^`YSD3@^Rѣ}@^E 1{@^Vڕ-;@^h@^[y@^l·@^_Rm@^QZ @^chJ9@^u^@^gF@^Zh@^M?@^? s@^Q帩@^DsG0=@^740@^)@^ш@^.@^!pOu[@^MC@^2d52@]Y҄@]?@]@@]@]'@]֮53@]ȋ @]pm@]5\M@] '@]4ki@] R]@]ԦI@]Lw ?@]P@]Z@]ޅST@]8݃@^D@]B@]ʙ @]=@] @]ok@]iK~@]i+@]o2A@]z:r*@]@]_@]Q!@]vݳ@]Ńu9@]J@]@](@]_dA@]8rο@]Z2*@]0L2@]|6m@]ozp@]cu@]VTޑ1@]JAl@]\@]mfu{@]Lfe@]s(Vv@]{I@]xmU@]lK=@]`/X@]T@]H8@]YPX@]MPQ@]]TЏ@]Qg@]E/@]91m@]-z\+@]!@]8@] :-ea@]Zg @]_ ;@]i]@\xp@]B@\FaH@\q1@\,us@\H>H@\1 _@\!,r@\4@\M:lf@\jcr@\3nX@\l@\җ4@\6@\_ԣ@\?"q@\ ֣@\܁,B@\n^@\³@\hO 0@\J@:l@\~04@\s'@\h `@\y@\nk#@\c(U@\XtHDb@\Mm2@\BkxV@\Tr?@\eL_@\Zd^C\@\Oh@\Eu2aX@\;Eu2@\1Do@\&L@\ɚؓn@\Ƀ@\I@\!v[]@\7%@@\#;:@\qut@\QLǖ@\4O@[eBi@[C(@[18~@[s@[zd@[ҽ/@[(@[/p@[9:@[a[f@[\!@[WO@[8@[W׼@[a*@[Xyp\@[[@[1U@[椨S@[KK >@[Az@[:K@[<-kj@[i)t@[p@[@[r@[3|)@[_-;}@[fk @[k]B@[ɼ@[@[i^@[A^T@[rh ]@[Tc@[zZM@[a(h@[ϐ˛@[@[$+@[nz@[؜@[`mb@[MfЅa@[yp@[n@\~[,a@\"Ċ@\#GG@\HRK@\m+@\FP@\'@\ h@\ sF@\1W@\Zdov@["i@[P@\ ԥ@[6U@\x@[{M"@\ х @\Z@\ u @\d~@\%ޮV@\|@\1@\ v(@\&@[WBI@[!G}S@[ N|@[Ἂ@[ٍ(@[ak@[7u@[6@[̭<@[Ą@[^xO|@[:@[E @[M@[+[@[ p.@[[X@[ҿTu@[a@[~@[~@[@[i@[k$9μ@[n)@[h"]@[k^y@[d A@[^7Rz@[WV}+@[f*zH@[tO@[,xIC@[j@[ ,s]@[po5@[}Gm@[w=w@[O-@[#S^P@[xq}1w@[q$Ѡ@[k]lf@[cQgq"@[[Gy|h@[S@qb@[K;y\@[C8g@[;8q@[3:.@[+?9@[#Fi@[0i@[(nIjp@[ vQ*@[(fg@[%e@[,b@[@[ 0G@[3@Z^@ZI@Z ֺ@Z$H~@Z?\"J@ZJ @ZdyE@Zۀ[;@ZӞ@Z˿G'@Z@ZT @Z5*p@ZZA@ZM:T@Z2i@Zյq@ZeZ@Z;U@Zh*1@Zc@Zʄʹ@Z!5܄@ZRf@Z۹.@Z޴@Z@ZπX@ZNxR-@Zxm@ZPO@ZQ @Zz@Z3}k@Ze6@ZcE@ZP+90@Z@6]@Z<{X/@Z}sf-@Zu3W@Zmk@Zf(=]@Z^hd֡@ZV}Y@ZN}/@Z\IY@ZTH\@ZLҰDA@ZE€8+@Z=e֭@Z5F@ZC yLh@Z;Uj@Z3V@Z+'@Z$C0Fk@ZǶ&s@Zmo@Z"RW!A@ZD@Z=J@ZJa|7@ZW l @ZOW$@ZHB_@Z@{Q@Z8(*a@ZF6]@Z>=I@ZK :#@ZD'ft@Z4O@Z6E@Z.ϑ(B@Z' r\-@ZsC@Z;Remember, 10% of the workforce is in training since 10% is the initial turnover percent. So we multiply the total workforce by .9 (90%) and by the NC percent to get the Experienced NCs." #$%2c.o@(?@(@(@(@(@(????@(Pil_&_Dep_Counter//int(Deployed_Major_Cum)+int(Piloted_Major_Cum)vwt v   w    !" #$%2l @ ?@tvB_@ @ ?)4nk?)4nk@>n>@ ??)4nk?)4nk Con_In_Train6  ! &@ @.@t]E}@.7@.@.@]Ete@Et]@u!@! ~@PO<8@ ~@ĬĬ@~0%f@9 Ȗ @8Gk~@fg@g^PN@!T9@u!@! |@PO<6@ ~@ĬĪ@~0%d@9 Ȗ@8Gk~@fg@g^PL@!T9@u!@! z@PO<4@ ~@ĬĨ@~0%b@9 Ȗ@p@Zͦ @*b@CԨr@ C|@ ,B4@ yd@ 1@ YIL@ `KZ@ rw,4@ p@ Zͦ@*b@CԨr@Cx@,B4@y`@1@YIH@`KZ@rw,0@p@Zͦ@*b@CԨr@Ct@,B4@y\@1? ?lr?&"X[?D?L9-?UzA?P?o܆?Xh)?A>4̺?)co? ?lu?&"X^?;[?k6s<`?<2?R?ߓ ? S?|iz?SL?SL?SL?SL?SL?SL?_?_?_?_?_?_?_?_.k?_.k?_.k?_.k?_.k?_.k?_.k?_.k?_.k?_.k?44(?44(?44(?44(?44(?44(?44(?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!?ϸ!@I"=@I"=@I"=@I"=@I"=@I"=@I"=@I"=@I"=@I"=@I"=@s0i1@s0i1@s0i1@s0i1@s0i1@s0i1@s0i1@s0i1@s0i1@s0i1@s0i1@s0i1@I|@I|@I|@I|@I|@I|@I|@I|@I|@8pn@8pn@8pn@8pn@8pn@8pn@8pn@x@x@x@x@x@x@x@ $An@ $An@ $An@b@b@b@b@b@b@b?(?(?(@5"֨b@oO@oO@oO@oO@)ǎ@)ǎ@)ǎ@)ǎ@)ǎ@)ǎ@)ǎ@)ǎ@G}O@`@`@`@`@`@`@`@`@`@cIO@cIO@cIO@cIO@cIO@cIO@cIO@cIO@cIO@cIO@cIO@cIO@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67@cb67?SGͮ ?=qr?=qr?=qr?+?#R?#R?#R?ҌN?ҌN?ҌN?\W(?\W(?q3? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7? 7?Ï]ǩ?Ï]ǩ?Τ?Τ?Τ<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M?>\M<<<<<<<<<<<<<<<<<<<<<<<<<?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk?)4nk" #$%2#sM@SI$I$@GfG&?@P@D#@SI$I$@GtP@SI$I$@GfG&@GfG&@GfG&????H@SI$I$?@GfG&@GfG&Con_ExpNN(.9*Initial_Workforce_Total*(100-NC_Initial_%)/100)/(1+Initial_Pro_Con_Ratio) 7*< ( ?    d    d   7   ! &@SI$I$@SD"E@S?#1@S:&&`@S5,2@S04ࣥ@S+@1)KC@S&N+;:>@S!^i@Sq@S[@Swp_@S L@SFY@S@Rud@RD)Ԉ@Rl@Rk]@RP4X@R@R)@R^T@Rؕ:?|,@RPB@R --@RHɷ@RʼnWWY@R̆"@RW:f@RZƚW|@RӮ3@R}@RC8@Rչ@Rjk@RD*@R_@R3@RdRs@RGk@R5þz@Rj@R{HR@RvP#@RrI0R@Rm)>@Rh֏@RdQ v@R`f@R[V@RW@@RRAҌ@RNvP@RJ@RE^@RAZDI@R=s:@R8x@R4S1 @R0?4@R++P+#@R'`|@R#tL@Rɤ@Ry8@R;w@R\l@R j,@R v^@R9|+@Rۗ@QC]@QH@QZ'(@Q( @Q/:@Qʍ(a@Q$j@Qvs!@QO@Q*^iU}@Q@C-@Qrq@Qy24@QƭF}@Q“ݘ@QToG@QLx@Q@Q9"@Qe@Q~@Q'8&=@Q{ų@Q(6@QŽB@QlKi@Q+2A@Q~A@Qv]@Qn@8rE@Qf@Q]Ԛ@QUU@QM_@QE3+T@Q= 90@Q49 @Q,*Uh@Q$d)@QE0@Q]@Q H*;@Q@P@PV-L@P~u3@P+YE@Ph@Pyi(@PC6=@Pvz@Pq$'@P @P7@P,h@POh@P;1e7 @P@PdR@P5V@Py {*@PqOO@Pj$W{@Pb* @P[^c@PTlu)@PLZ:&@PEun@P>8ܔR/@P7T y@P/{@P(+*P@P!E@PhtN@PPĦ @P >ff @P2)e@OWCk@OQq@OUv@Ob=ysY@Ox@OX @OW@O}i@O'w2ǣ@Oh&@OqOC@Od=p'@OV[k}@OHx@O;&Jv5@O,[4bd@Oѝ@O Q@O#a@N)@N=@N"@NnfZ@NAN@NIÝ@NcԹ@N/U@NΏG@Nz\4@NmP|@N`Aa#@NR@NE@N8f.4@N+z;@N`[/@NLH@N=7@M5)|i@M2@M4dD@M<@MJ’@M^3%Q@L^@L`Ս@LDL@LN۾@Lզ-@Lǹ@L'@Lw @LI T@L~@t@L\@@L9I-/@LeL@L-e#@Lg@L'(@LE1@Lu:uj@LiUu@L^!C_9@LRtve@Lw@LsϏ@Lh^ @L\U:j\@LPΏ@LEu@L:] \@Lg{vz@L\o4@LQfdq@LFb즦e@L;c6@L0ghY@L%pi@L}9G@L/m@LN@Kop@Kܭp@K@K%[@KP]Xr@K\s_V@Kef@K!Ӛ/@KG&5@KpX@Kƞ@K}q@K@@KA +@KIi@KVk4@KaU@KF@Kl5DR@K̖g@KZŰ@KG@Kg1@K| )Y@Kr!A .@Kh<_@K^\%@KT~KW@K<@Kw-j@KmFe@Kcd_T@KYYh-@KO֋@KE$@K;<@K2,o@K(_~K@K@Kd @KL<@KQz K@K &u/@Jo!@JB{@J;:&@KEz@KAE@K94R@K1@(@K` @K6hy1@KqJ@K}@Ku$@Kn0?b#@Kft,C@K^F@KWx@K]C@K{я4@KtR @KlSy@KhvSi@KdψN@Ka@K]M8@r @KYմ@KU@KR \@KNN=@KJosP@KFҞE@KCP:@K?X'@K;?Kw@K7{.|@K4%:"@K0j{s@K,@{@K(SH@K%=R{@K!w`@KoL@Kux@K]v_@Kj@KyI@JZ@JDD\@J@Jf@J'@J&l@J%߁@JG|u@Jk;\@J@JV@J @J1ǧ@JBp@Jt'@JBU@J1@J>E1v@J|d@J@J'kU@JN@J@J;o9@Jajb@J$Z@J(s@JFI@Ju@JC'Ӎ@Jw$Mr3@JjR@Jy @Jr o@Jj]񐕺@JbXOp@JZ}`@JS"ovt@JKi0z6@JCU@J=dzd@J7Hi@J0Ν(e@J*[@J$>Ɇ@J"J*@JK@JrW.e@J 12A@J%@Ii@IvNY@I;/M@IL@Iͽw{@Iߓ"@I]O@I*E3o@I̞@Ie@I{ O@IG50@IV@I2<@Iꏋ@I% @Ib@I"33@IE@Iz'gϤ@IrM@Ik5e[ @Ic-8@I\L'tC\@ITЋS@IMkR+@IE>(@I>Ky@I7+Fu @GM',@G_/ԅ@GrD@GbFR@G 0@G{,Ģ@Gtf@Gmq@GgyE@G`4,@GYXd@GR~.#*@GKt-@GD z@G=1h@G7)jo @G0Y<$@G) '@G"ޙV@G-@G,{ծ@GfG&Get the total availabe by multiplying by .9 (10% are in training) and by the remainder after the NCs are taken care of. Then, due to algebra, divide by 1 plus the Pro/Con ratio to get the number of experienced Cons." #$%2c@Y@&?@&@&@&@@????@Total_CUT_OUT_SPIsPil_&_Dep_Counter,xx?@@@@@@@ @"@$@&@(@*@,xx@&@@@&@@@&@@@&@@ !THis is the CUT OUT Case. We just cycle through the 20% ROI for the three major SPIs of Reuse, Cleanroom, and Test Process over and over as each of the 5 projects implements them one at a time. The values are 11%, 6.4% and 7%." #$%2l @@ʫ=@<ݺ?@@vzQ@^‡9@@ʫ=@|N0S@@ʫ=@<ݺ@Zi3ѝ@Zi3ѝ@<Áo=@"?@Zi3ѝ@Zi3ѝ Pro_In_Train9|   ! &@"@!ˢ.@"@#o7j@#;(0@$ ]6@#@e2@$SW@$t@c@$@)2@%Q@%jmDe@% U@&|.pC@'L-̴@(0@'Ӌ]4@(q×@(Z}Ś@)QM ٧@*J} T@*@M2@+|%@+D@,V &o@-#0`@-gF>2@.h-i@/%)@0,"O@0 hL@0d[_z@1_X@1 J@2+X@2F@2w(]@2a2}@3B5s(@3fz@4 3IG@4rl!@4зmC@5<-Ic@5Y凴@6@6jJr@6ΈVS;@725@7$q@7 B@8\*@8BL6,p@8(WC@8i&C@8p݄ @8ӇD@96 2s@9ݧH@9@9c@B@9#4 @:(=)@:D'Em@:p\@:It8@;3Z˸@;}37;@;#]M@;Pd@<>u86@ 0@>ksg@>Og@?-d@?ʝc^@?sxz@?&={Q@@N1Ƅ@@ 6`R'@@@?z@@#@@TCv@@TCv@@鬠N@@Ag@@ dc@@Q@@Ay|4@@~Q l@@zƩ@@u׏3@@ʫ=@@q 5@@mp@@ia@@ia@@ez @@ez @@aн|@@]t_O@@ZԱ@@V'J@@#@@RZ2V@@N|@@:F))@@ *:_6@@I_"N@@ep@?@?|x+Y+@?tV]@?ls?@?dˉN_@?\ D4@?Թ @?̙ Ro@?tٕ@?N'@?'@>>X@>5p@= H@==w@=ZI=@=`@=L @={v@= V@<@<@=9y垧@.,@;_$@s@:@:!E@;M"Co@;b=ͺ@;< k@:R,@:41@:+!|s@:#e CW@:䵓@:(@: 4'jo@:@:db@:x)@9}y@9"@9>Mv@9Y@9p;B@9p;B@9i@95T!@9սg^!@9ep@9-7@9PY?eM@9 @9@ً{@93@9z@99Ԟ(@94Qh@8†r@8./Ǡ@8aQ@9 dضd@9C`@9C`@9J@9~T@9W H@9`y^@9GOi`@9j@9+r^r@9+r^r@9+r^r@:33"@:,ռ @:&C^@: DUj@9p@9{@:&)E@:)@:|2/@:wo@:B2 @9@1 u]@0j@0iA@/2u @.&;@-n@+j"@+Ɓ -^@*zzIT@)o@)4@)4@(Sx@(Mͯi@(tƴ* @(BF@(xٮ@(xٮ@''<Ѱ@'Ivk@&_n@'"ڙ`@%G,@%vh=N{3@%=ʒ@%OPO4@%OPO4@%j@%N (@%(:m@$Η@#/@#.=}_@"s@!> @! 6LR@! jZ@ ,[;@ $s@$h@$h@<ݺ@<ݺ@\ @|e!?@X @ ޞ@W@ @&@ R@!&n<"x@ vy@!=;W@!H|L@!][Gpy@":J@"x6@"v@"D~{@"kN@#X;t@#o)@#(V@#}LM @#+2 <@$2d@$NF@$璒@%ݣr@%2@&CV J@&.!Y@'Dr]@'Ry@'Ry@(&zb@(;M@(hO5W@)#w_Nhu@)]h@)@)=_4@)-v,@*,T@*`!@*E @)Z\#@)qzC@)C@)RB@)_A)@)?dL@)Mq͙@(Z>@':zf[@')D@'N5y@'>@'!@'⼍@'{XV@%nؘ@%7f@%7f@%B4@%k@$[{]C@%Bg@%k[=@$[ S}@$[)y@$[4Y @$[p@#Fh@#w;Fy@#N$Q@#>a+@$^@$~gg،@$"(x@#f@#@#@#̡]g`@#ve@$ O'^@$, x0@$KO4@#V>$i@#:@$9ԵW@$!&oH@$@鎟@$`(!8W@$`c@$apBz@$apBz@# X4@#:Zj@#3RL@#3RL@#3RL@#wi@#n @#?@#Z+TP@"k@#U@"k꒖@!JO@!ÿS:]@!3n@!w3Q@!ĺ@!>rc@ t8$@ t8$@ t'G@!q@!_uh@ u}@ v̭@ vƆ@ w&;@ wA(@ x2>l@ x%@ y9@bE@@-@ |eDL@!%y˒@ }&1@!&v3(@!Ȩ@!з@!w@!73@!o~@!ӷD@!+(/@!Ԩe]@!h-=@!,u .@!-gÚ@!.&f@!.&f@ g)7A@1Q@g N5e@h P@굮V@fG@} @`E@݈@Zi3ѝ" #$%2s@aS~@L|?@b&jd @PX@aRMi!@L|@aS~@L|@aS~@aS~????Vh-@Lm?@aS~@aS~Pro_ExpCon_Exp*Initial_Pro_Con_Ratio7*|   7  ! &@Lm@L쿢@L@Lҙ>@Lc@LH@L@L'gm@LF!@L!Tޜ@L1'h@LB-@LT$@Lg02Y@L{oo@Lߐ@Lަui2@Lݽ=DX@L86@L:,Ws@Lb@LJ@L8pO;@LR@LmUc@Lև]w @LգF'@LԿ% Dh@L3ր@L.-@Lbz@L8E@LXs?@Lz|n@LΜq?b@LͿ@@L `@L i@L6*4@Lce@Lɒ!7@LD@}@L56@L.@Lg[@LŢtA@L@L!&(@Lo>@Luof@L D@Ll3@Lı!@L"H;%>@L~x@LXH@L8@L%@L!@LUjA@L;ei@Lb@LxZ@LGpC@L@LEGb@Lc@L5@LfB$@LՎU@LEGu@Lu @L8=H@L|@L9@Mޯ^@M8xS3@MlJF@M^S$@MP4%E;@M{@MQJ@M~@M۩@N@NAGɑk @N2 Q@Ne[:@NW,cgG@N-c@N2@Ny^@O (Q@ox@O{mK@OCjL/@Ou;;P@Oh{@O؅l@PF@P!V@P6GT@PN&@PgSW@P~b@P#KT @PuD@P`ʟ@Pi@t@P(g'@PFZn@Q Tʎ@Q!RH!@Q9?!F@QQ^,4@Qh@QX:@Q`(@Q@Qǒ e@QNl@QSl͐@R jS@Rqi@Q@@R @R 5@R#e@R;-tW@R3yZ@R*@RB@RY%o"@Rp(@Rl@Rpx@R<@R$@RÖld@RX$i@R @R)I@R|$e.@S/@S,j~@SC"@S:b3@SQ3٦@Sg;@S})g'I@S;}@S\@S"49@SQB"n@S^2_@SzX@Si³@T >k?m@T@[N@TuY,@T<@T`@TW @T}@TV@T0@TEP@T/ ;@Tto@UQ+Q@U$!| @U9Y;@UNPy@UEDxh@UZa,@UQݙ@Uf$@U{@U@U޻@\@Ux@U=Q~*@U%@Uٍ} @U@V߼6@VC2~@V+DB@V@|@V6a`C@V-R͠@V$xL@V9,|@V/h0@VDOG@VXh&z[@Vlm]@V̲k@@V5@VvGR@V/ \@Vx4t @V|u@V% ECG@VЄ@VWh%>@V@ @V_>@V %B@Vڞ=@V{@W¬@Ww@W :9s*@W"@W/@WBy@W9;W:@W/&Q@W& g@W8'@WK@W^B.R@WqjN-@WhKL@W{hJ@WrE٫@W%@W0إ@Xg~@X4:L I@XeC:@Xxٔ`%@Xj@XO9UH@Xd@X"X@XD @X,O @X,c\@X~̝)@X|]8@Xt85|@Ye>|@Y@XB@Y&A@Y"ǝt@Y6fbS@YfRe@Y]>@Yqa@YC{@Yrx@Y@YLJq\@Y) @Y}#@YR~]@Y^0^@YE{@Y(\gJ@Y̜ @YE@Z-@Z#`sR@Z51ˈ@ZFh6F@ZXÀ7@Zj @Z`SL@ZW|؆@Zi@M@Z}xy@ZQL@Z)}@Zl]|8@Z~l@[uR@[\/9@[ozJ@[hG@[z&GO@[@c@[qѐ@[oZ@\t@\Buٚ@\oա@\/o@\eCl@\oEC@\ԡJ@\̀%b[@\ޅp@\+@]-ܞ@]HI@]wN@]|@]&咣_@];%f @]Od @]K_alT@]w5@]?ה@]2kR@]z#-@]k>@]\r'@]N^@]@@]*"@]1S@]z9W@]Հu @^ 3@^HͿa@^2)a@^Fƙ^@^VK2@^e̚}@^\!z@^l\f@^cnM@^m 2@^wʤaP@^nٔJ@^e%@^p3/Z@^zI[@^ތv9@^{ގ@^Y@^P@^KJ@^@^^J@^]g@^Ŭ|y@^4<ԝ@^]`@^UXB@^O~@^ p@^$ԆJ@^ռՃ:@^Vn@^I}f@^쩼P@^Α*@^8 )@^'E\@^ЋֻE@^;-D@^c~h@^ ^@^ɘrK@^R.@^I8|@^ F@^m8@^eӢ@^V@^m@^)OE@^i@^Ev@^i@^1T_@^ԧ=@^yl@^8sъJ@^@^ɭV!@^gz{@^2a@^ɳ5d@_wҷp@_""]@_ȧ&@_`I@`>?@`$\*N@`*!Ok@`%Y@`))@`,jV@`9MG@`=@`8P @`<*@`?ڼB@`CȦ@`Gd@`K(NK@`N:*]@`R߽M@`Vq9@`Z5z(@`]G@`a2@`gh$]@`mo@`hDWF_@`mCP@`s@`yHg@`trƠ@`oy( @`uM.uX@`z<}u@`t@`Od@`@a~ !@a q@a9@a\~@aQp1@aq-@a!JUq]@a d̤@a&-GR$@a+{@a&J=@a,*1 @a1$@a72KR\@a<0@a7@a=&U@aB+-@aH$bO@aMdiG@aS~ # PROs / # Cons = Ratio, # PROs = #Cons * Ratio The intent of this derivation and the Con Exp derivation is to allow the user to put in any ratio with the slider at run time. The program will derive the actual number of NCs, Pros and Con staff." #$%2s@r@r?@r@r@r@r@r@r@r@r???@r? @rInitial_Workforce_Total300 ,!SEL had an approximate staff size of 300. 10% of the 300 will be new hires since the initial turnover percent was 10%. They will be distributed in the In Train conveyors." #$%2s ?f>:@.?f>;@.?f>:?58?58????58? ?58 New_Hires0   ! &?f>:?cU?`wz?]?Zozp?W?SU?P,nx?Mǚ?Jc$?G?DhZ6?A7AbQ?>ʲ?:p>?7ں?4~b?1]6?.Ct?,%l!E?)!Ϩ?' ?$ ?!Bй}?n͚(??=IF?"r΄? K"g?RlA? O!? jft?y^?2?-?ξO??1?8eo? `w?=?:T?>?L?M2L ?ɖz?.7?r ?b~?n?Dcؐ?q?10?נ?¸+?޽?޸Y?޳Bg+?ޮ.:Y?ީ?ޤ ?ޟ)=?ޙ?ޔ? (h3?̥r?އz(0*?xn?X4I?Z&mv?j6?k+C?zR?zf?y"?yˀMt?xvȖ?w|,l'?wS"?u ?rlv?og ˻4?l9Ϣ?i >!?e,?bS?_wAH?Y*lp?Rgi?K0?Cr??܍О?܃!u?y0ag?o@>?iU(?d[yyK?_}|?[ ܣ?V_Bd?Qgnj#}?L*?H{5?D>~q?A#?>Š?:n ?7PLy?41R@?1 *6?޿~?޿  ?޿?޿~LA?0&?>C3??O?@Y~yP?Aaj= ?\}v?jʴ?y^=?܇=?ܕԘ,?ܣR?ܤc(?ܥ|M?ܦFQe%?ܧ0ȼ?ܧ׸Ӧ?ܨ$2?ܩay?ܪ$F?ܪaV?ܫbqz?ܬ`%?ܭLc?ܭ=qY?ܮ`?ܯ57`?ܯ)-@?ܰ1T?ܱ0I'?ܱa?ܲpvP?ܳ D?ܳM'>?ܴ,Q?ܴ?6rWX?7P(?8x?9+ \?:ٗ>d?;t(@?<ˤ?=$?>`]??}|?@U}?A$Ĥ=0?AzF?B?Ca<݃?D)|A?D?ESxJo?E+9J?F}͞?G [x%?Go?H?HMNs?IUj?Io?J I=o?JDW i?J_<8?Ka`?K&,?L:Ԕ?Lj?v?M 葔?MqHb,?͠;@?Γhzu?τ?t{?b p?JSN?%CZ\?xV?})?8?8z?:C?rk>?hUBF? c ۱?!]f?"X;?#R?$M"KF0?%Gx5?&AD?';?(5֝\?)/9?*)#?>pj?@5J?Lz>?NtF?OI?Q74E?Rʨ?T]"d0?UWH?W,O?Yԩ$^?Z,T?\9@@v?]@l?^GlH?_O ^r?`VX ?a]?bd q|?cl(ɏ~?ds^R?ezh?f&0?gC?h?f9Y?X?? L;2?*J?3ڋ9?=hf?N=IH?X+%?a?k59k?t7?~I;I?ӏ1(Ͽ?Ә?ӢEd?ӫ?ӵPr?Ӿe?Qi,?Τ?Ӗd?^ L?&ALR?L7}?Q'TA?U4_Q?Z3PZ?^R٣?b|?fP ?j]|,=?u`_?y`Um/?}`.!?Á_ ?Å_ʠ?É_??Í^f[?Ñ]]O8?Õ\.)p?Ù[z1?ÝZK3?áXD̐?åV6?éT"$?íR}D?95z??jո?lF?}P4?'?wN?Aml?~W[c?$?M8?"P?zǘX?_]n?U?GHP?f2?ˣ?'gB?P%l?k?? e~H? g=? g? g(̄? f} FZ? dJ~1?zu L?Fn?z?qr:?hn?>\M? q?p<:?x|?UK? j#? ? a? H? =? ūwIx? ? rZy&? J? $1?|خ?f+֔? Nj? a)/? ? };q? ʧl? ũ4[? D~? ?-?T{`?چ`/:?7{s?Ӽ?CZO?IB? ?s?vDr?e?釜U? 6?Ӂl?.Ib? 3Y?Z*T?+ߪ?R?ǫ?? ? U?$09?$*G6?$Յ_?#HM?#fR/?#0&?#槗(?#ߙK?*xD?)Z0?)?))8?)NK?)E=?):??f>;?f>:?f>:?5 \?58???@0 ?58 Pro_HiredNew_Hires*Pro_New_Hire?       !" #$%2c  @$@#p =@Gqs?@#p =@e/;@#p =@Gqs@#p =@Gqs@Q@Q|???@#p =?@Q Quit_RateTotal_Maturity*50rXX@$@4@>@D@I@N@Q@T@V@YXX@#fffff@ 33333@333333@@@@@@@@  r 2  !}}Multiply by 50 because maturity is on a scale of 0 to 2. The 'bath tub' or 'U' distribution is based on ROMs by SEL expert." #$%2m? 'qX??cA-?V<? 'qXI????t]ENC_Done_Training Schedule   !JJCycle time is on a scale of 1-100. I scale it by 20 because I don't want to wait 100 months before the next rookie finally ramps up to an Exp. So cycle time is really on a scale of 0-5 months. NOTE: 6/19 We are now using the SEL's Full cycle to ramp up on learning curve. So no division by 5 or anything. (It will be slower)" #$%2"c O.?????????????Pro_New_Hire?PPif Active_Hiring =1 then MONTECARLO(75,100) else MONTECARLO(Pro_New_Hire_%,100)6 D 6     K d 0      d 0  !The pro new hire % increases as maturity increases because high maturity attracts fast learners (Pros). The probability that a given batch of hirees is Pro is determined by a Montecarlo random stream of 1's & 0's based on the new hire %. AUG 27 UPDATE, An active hiring flag was put in to let the user determine at run time if they want to actively hire Pros at a fixed 75% of total new hires, or passive let the percent of Pro new hires be determined by Total Maturity" #$%2m?SU??`wz?-?SU????t]EtCon_Done_Training Schedule   !Cycle time is on a scale of 1-100. I scale it by 20 because I don't want to wait 100 months before the next rookie finally ramps up to an Exp. So cycle time is really on a scale of 0-5 months. 6/7 NOTE: WILL NOW USE WEEKS, WILL DIVIDE SCHEDULE BY 5 NOTE: 6/19 We are now using the SEL's Full cycle to ramp up on learning curve. So no division by 5 or anything. (It will be slower)" #$%2m?C??փe?axB?C? U?$軸????./?$軸Pro_Done_Training Schedule   !Cycle time is on a scale of 1-100. I scale it by 20 because I don't want to wait 100 months before the next rookie finally ramps up to an Exp. So cycle time is really on a scale of 0-5 months. NOTE: 6/7 WE ARE NOW USING WEEKs. Will Divide Schedule by 5 (20/4) NOTE: 6/19 We are now using the SEL's Full cycle to ramp up on learning curve. So no division by 5 or anything. (It will be slower)" #$%2c :/ ?????????Con_New_Hire?;;if Pro_New_Hire?<>1 then MONTECARLO(Con_New_Hire_%) else 0 0       0     !If the Pro new hire is 0, then we are eligible to assign the hirees to the Con or NC category. The Con New Hire % is also based on maturity. The % decreases as maturity increases. Another Montecarlo random stream is generated based on this different %." #$%2f?f>:?SΘ??f>;?&?f>:?)i?f>:?SΘ?sd?sw????f>:?sw NC_QuitsNC_Exp*Quit_Rate/5200    P  !Scale the Quit Rate PERCENT by 100 and by 12 months per year since quit rate is in yearly percents and we are doing a month DT. (12x100=1200). Will have to deal with the fact that if > 1 person quits in a month than that whole batch of replacing hirees will be assigned to NC, Pro or Con as a whole - NOT broken up; even though reality treats them as individuals. It all evens out though when I use a long 10 year period.UPDATE 6/17 - scale by 52 weeks not 12." #$%2f  ?½a?Zh??f>;?Ӑ?½a?K?½a?Zh?I?H????½a?H Con_QuitsCon_Exp*Quit_Rate/5200    P  !Scale the Quit Rate PERCENT by 100 and by 12 months per year since quit rate is in yearly percents and we are doing a month DT. (12x100=1200). Will have to deal with the fact that if > 1 person quits in a month than that whole batch of replacing hirees will be assigned to NC, Pro or Con as a whole - NOT broken up; even though reality treats them as individuals. It all evens out though when I use a long 10 year period. UPDATE - We are using weeks now, scale by 52 not 12." #$%2f "?Vh-? 2??:1MN?E0f?UuȇC#?.e?Vh-? 2?O%.?Vh-????@?Vh- Pro_QuitsPro_Exp*Quit_Rate/5200    P  !Scale the Quit Rate PERCENT by 100 and by 12 months per year since quit rate is in yearly percents and we are doing a month DT. (12x100=1200). Will have to deal with the fact that if > 1 person quits in a month than that whole batch of replacing hirees will be assigned to NC, Pro or Con as a whole - NOT broken up; even though reality treats them as individuals. It all evens out though when I use a long 10 year period. UPDATE:6/17. We are now using weeks. So divide by 5200 (52 weeks * 100)" #$%2f%?f>:?L7}??f>;?h14A?f>:?GZ^?f>:?L7}?58?5зH????f>:?5зHHiring_To_Replace_QuitsCon_Quits+NC_Quits+Pro_Quits       !Hirees replace quitters of all categories (NC, Pro & Con). But their (the new hires) category is determining in batches. So 1 of each type may have quit at a particular month. But the 3 hirees that will replace them will be assigned to only 1 category. Sorry, that's as far as my logic design will go. The good news is that it will statistically even out in the end by using a 500 week time period." #$%2sA@k?@p@k@@k@k@k????@kCum_Minor_Sugs0~ !" #$%2c @Y'@S33333@> ?@S33333@> @S33333@> @S33333@> @S33333@S33333*???@> ?@S33333Pro_New_Hire_%Total_Maturity*50rXX@$@4@>@D@I@N@Q@T@V@YXX@>@?@@@A@D@M@Q@S`@S@S@T  r 2  !++The % Pro New Hires is initially based on the 30% value from the SEL Reuse study of 30% Pros and 20% Cons. As maturity increases, then percent Pro new Hires also increases because increased maturity attracts this personality type. It increases in S curve fashion to a value less than 100 percent." #$%2c @Y(@333333@?@333333@@333333@@333333@@@???@333333?@Con_New_Hire_%Total_Maturity*50rXX@$@4@>@D@I@N@Q@T@V@YXX@4@3@2@0@*@"@@@@@  r 2  !Need a constant of 50 because total maturity now ranges from 0- 2. The graph is an S curve that starts at 20% (based on SEL data of initial 30% pro and 20% Con). As maturity increases, the % of Con New Hires hired will decrease to a low but non-zero value." #$%2s 2@r@r?@r@r@r@r@r@r@r@r???@r@r?@rCurrent_TotalInitial_Workforce_Total   ! &@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r@r" #$%2c ;0 ?????~???? NC_New_Hire?<<if( (Con_New_Hire?<>1) and(Pro_New_Hire?<>1)) then 1 else 0 4             !If the random Montecarlo function did not select a Pro or a Con based on maturity or active hiring, then it must be a No Care." #$%2f M??????????? Cum_Sug_RateLow_Hanging_Fruit_FrequencyZ Z!" #$%2f F? @r@r?@r@r@r@r@r@r@r@r???@r@r Current_InGGCon_Exp+Con_In_Train+NC_Exp+NC_In_Train+Pro_Exp+Pro_In_Train+New_Hires 4              !" #$%2f H@r@r?@r@r@r@r@r@r@r@r???@r@r Current_OutCurrent_Total !" #$%2s \@Ux@<Áo=?@Ux@5*5_@Ux@<߶*I@Ux@<Áo=@$(Qaijp$ >! &@Ux@Ux@Ux@Ux@Ux@Ux@U]L@Uv_@H2ߣ@H2ߣ@H%2==@H@H@H2k6K@H2k6K@H2k6K@H2k6K@H2k6K@G]B~@Gj7O4@Gj7O4@Gj7O4@Gj7O4@GFf@GFf@GFf@GFf@GFf@GY;|@GY;|@GY;|@G|Vw@GudW@Gbf)h@Gbf)h@GE]w@GEA6P@GO\@GO\@F?e@Fpi@FP#v@FP#v@Fm6Ù@F-uI@F@F@FnAS`@FnD@FDg@FDg@F(@F(%qu^@Ef <@Ef <@EE4-"@EgA8&@Eq')D@Eq')D@ELo@E>~h{@Eu99L2@Eu99L2@EZfmG@EZeh@E1G@E1G@EW@EGwW@D7W@D7W@DՍeu@Dj.Ǟ@D4@D4@D Bt@D90|E@DkSBE@DkSBE@DSv@DRCMQ@D+p8@D+p8@Dؽ@DI@CCE3@CCE3@CD)g @Cix @Cʝ^ @Cʝ^ @C[@Cub@Cm"tR@Cm"tR@CVY@CU @C/:@C/:@Cf_Tr@Cl]@B6|@B6|@B\@BXP@BHM@BHM@B@Bp@Bx\@Bx\@Bc$!@Bb :@B=-NVO@B=-NVO@B'Bjs;@B&ȁA@B7ʤ@B7ʤ@AI "@A#7T@Al}@Al}@AHb @An@A!@A!@Ay@AxU@AT9]@AT9]@AA %@A?ϑ_@Aa @Aa @AqH@AnI;@@dC@@dC@@%M@@܌ @@-@@-@@?@@FA@@v*x@@v*x@@d Ke'@@dw\g@@BH@ڎ@@BH@ڎ@@/T͛O@@0;@@hd(>@@hd(>@?kh@?5@? :`@? :`@?c@?6B@?P=h@?P=h@?-{ /@?.;>@>YPje@>YPje@>.&.@>i@@>g]n@>g]n@>e&/@>fY&i'@>$j<0њ@>$j<0њ@>n>@>9@=V}@=V}@=iK@=8f @=a*/@=a*/@=AO/?@=Alx@="}@="}@<ᘑ*P@<Q@<@<@<Áo=@C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R>C62@R&~@@R&~@@R&~@@R&~@@R&~@@R&~@@R&~@@R&~@@R&~@@R&~@@R&~@@R&~@@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@Rlґ@QFwp@QFwp@QFwp@QFwp@QFwp@QFwp@QFwp@QFwp@QFwp@QFwp@Q*@Q*@Q*@Q*@Q*@Q*@Q : @Q : @Q : @Q : @Q : @Q : @Q|@Q|@Q|@Q|@Q|@Q/m@Q/m@Q/m@Q/m@Q/m@Q/m@Q/m@Q/m@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Q~e@Ut@Qf;D@Qf;D@Qf;D@Qf;D@QO  4@QO  4@QO  4@QO  4@Q7^@Q7^@Q7^@Q7^@Q )gU@Q )gU@Q )gU@Q )gU@Qߴ:@Qߴ:@Qߴ:@Qߴ:@Pf@Pf@Pf@Pf@PڰgC@PڰgC@PڰgC@PڰgC@P̼@P̼@P̼@P̼@P@P@P@P@PD0~@PD0~@PD0~@PD0~@PIs@PIs@PIs@PIs@Pi8},@Pi8},@Pi8},@Pi8},@PRC1@PRC1@PRC1@PRC1@PJ%'/???$%' Schedule_Chgif (Cum_Sched_SPI_Rt=0 and Effort_Effect_On_Sched_Correct = 0) then 0 else if (Cum_Sched_SPI_Rt<>0 and Effort_Effect_On_Sched_Correct=0) then -Schedule*Cum_Sched_SPI_Rt else (1-Cum_Sched_SPI)*Effort_Effect_On_Sched_Correct-ScheduleX` T "" X   `       "  X   `        X  "   T  `    !00The key is to start with a schedule, effort, size, and qual that are correctly related via the conversions. Since all SPIs are assumed to reduce schedule, effort, etc, I have a minus sign in front of the Schedule * Effective SPI. Effective SPI will be reflected as a percent. If a SPI from Effort or something else changes Effort, the new Schedule RATE CHANGE at that DT is New Schedule which is given as Effort Effect on Schedule minus the old Schedule. This difference should be the rate change that is added to the initial Schedule stored in the stock." #$%2c @@/nO޿o9#?@/nO߿Z Su@/nO޿o9#@/nO޿o9#@!@!???@/nO?%@!!!Curr_Minus_New_Eff_Via__Size&ErrAACurrent_Effort_Via_Size_&_Err_Rt-Size_&_Err_Rt_to_Effort_CorrectD4'  D 4  !" #$%2sd@/nO@`P2?@/nO@ezޜ@/nO@9^,@/nO@`P2@`P2@`P2???@/nO?&@`P2@`P2Effort_Via_SPI&Size&Err_RtSize_&_Err_Rt_to_Effort"'>_' "! &@/nO@/nO@/nO@/nO@/nO@.OF@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.&@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.r*@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@.y@@(; >@)@0@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)|l'Q]@)l|-a@)t?@)t?@)t?@)t?@)t?@)t?@)t?@)t?@)t?@)t?@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)`X@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@)U%n@&"@%m[B@%m[B@%m[B@%m[B@%m[B@%ogF@%srw@%srw@%srw@%srw@%srw@%\HkV<@%\HkV<@%\HkV<@%\HkV<@%\HkV<@%\HkV<@%\HkV<@%\HkV<@%T/ms@%T/ms@%T/ms@%T/ms@%T/ms@%T/ms@%T/ms@%T/ms@%T/ms@%T/ms@%T/ms@%T/ms@%T/ms@%9eG@%AdQ7l@%AdQ7l@%AdQ7l@%' y @%' y @%' y @%' y @%' y @%' y @%I:0@%I:0@%I:0@%I:0@%I:0@%I:0@%I:0@%I:0@%I:0@%I:0@%I:0@%I:0@%;o@% z@$pȪ_@$pȪ_@$pȪ_@$pȪ_@$pȪ_@$pȪ_@$pȪ_@$pȪ_@$pȪ_@$$ A;@$$ A;@$$ A;@ܨ2@ܨ2@ܨ2@ܨ2@ܨ2@ܨ2@ܨ2@S@ @l@ @l@lzts@lzts@lzts@lzts@lzts@/̸@/̸@/̸@/̸@/̸@/̸@/̸@/̸@sHe @~%i@~%i@cq@cq@cq@WN|EB@WN|EB@WN|EB@WN|EB@WN|EB@WN|EB@0^T@;cđ@!s @!s @!s @!s @۩@۩@۩@۩@۩@۩@۩@۩@۩@۩@۩@۩@Q@N@N@ޞ-T@ޞ-T@U{@U{@U{@U{@U{@0\2@Fj.@Fj.@Fj.@;v@;v@!@IN@"@"@"@"@\^"@fV%\@fV%\@Z. @Z. @4ym@>\ @>\ @2s@2s@2s@2s@2s@ @3;9@3;9@3;9@3;9@ PL@ PL@ PL@ PL@ PL@ PL@ PL@ PL@J@)}c@Aw 7@Aw 7@f@ղ`IS@o}7'@o}7'@}@K@{ @{ @W~"D@W.;@LĨ_@LĨ_@(kN@(|v{@v@v@\5$@@@{/M@{/M@ X@vDh@Z Y@Z Y@ @`+@@@r>v@r&+J@gQ@gQ@FiCg@E!ay@;r ;@;r ;@_߷@~Q]@{!@{!@W@ҊS*@ @ @ËIv6@ŠJ@ўx@ўx@L7@@0j;@0j;@nO@m,@cR@cR@DA4}@C6@9b.$@9b.$@J@KpI@@@9b@@S@#@#@Bg"5@)@"@"@q@5 R@[]G@[]G@wfQ"Mt@ug>c@m**@m**@O@Mb@EVcz%@EVcz%@'J:v@&Z^ub@@@}U@Ѭ@f%@f%@1b@@tyD@3@3@Q@_@c"@c"@ang@}@;\@;\@g @eвil@]Ŗ@]Ŗ@B0@A L|@9A- F@9A- F@2[@YS@x+Ln@x+Ln@@\]@8@8@cS9@!dGl@ӡQ݇@ӡQ݇@ k@MN@RhlB$@RhlB$@!@z?@GtqO@GtqO@w<%c'@wZ@p6@p6@VV@W@PI<@PI<@6J@6oDb@/SF@/SF@ h@{F@i@i@_@"v@$@$@c6j@xJ4@з-(@з-(@6z`T@7@`P2" #$%22bf!?_30&3J??&@pNUh{?_30&3J?_30&3JzΜM???'Effort_Via_Size_Rateif (Effort_SPI_Rt=0 and Cur_Eff_Via_Sz_&_Err_Rate=0) then 0 else if (Effort_SPI_Rt<>0 and Cur_Eff_Via_Sz_&_Err_Rate=0) then -Effort_Via_SPI&Size&Err_Rt*Effort_SPI_Rt else -(1-Compound_Cum_Effort_SPI)*Curr_Minus_New_Eff_Via__Size&Err :G&3%&!! :   G       !  :   G      &  :  !   3   %  !Since this is a biflow, we need to set the flow to 0 when either SPI or Size&Err Rt rates are 0. If we only have an Effort SPI, then reduce current effort by the SPI %. If we have an Effort SPI with a Size&Err Rate change in Effort then reduce the CURRENT EFFORT by the Size & Err Rate change that is Pro-Rated with the Compound Cumulative SPI %. SEE HOW YOU HAVE TO TAKE CARE OF ALL CASES. The CASE of an EFFORT SPI or the case of a change in effort due to a SIze or Error SPI." #$%28ci$@??t]Et@89@1????(Correct_Avg_Periodif ((Intra_Sug_Rate>=1) and mod(int(Schedule), 2) = 1 ) then (Cum_Intra_Sug_Out_Rt/(int(Schedule-1)*.5)) else (Cum_Intra_Sug_Out_Rt/(int(Schedule)*.5))Y ai$$ Y       ,       a      * ?    $  a    * ?    ! &???`jc?`jc?6@?ə??zG{?UUUUUU???yy????@?22When we reach a sug rate of 1/week and the schedule is an odd number, there is a rounding/truncation problem in calculating the correct averaging period which shows maturity oscillate when it should be one. So we subtract one from the Schedule when calculating the average in that case (to make it even)." #$%2c% @?@@@???@?)Minors_Due_To_Majors&&if Piloted_Major_Cum<=3 then 2 else 0w|$ w        !" #$%2c @n?r!_?ܣ =p????iސ?ܣ =p?r!_?ܣ =p?r!_?r!_0????ܣ =p?*?r!_?r!_Personality_Mix_Damp_or_RampPro_Exp/Con_Exp/012HH???@@@@ @HH??GzH????Q?p =q?Q?     ! &?ܣ =p?ܫcIt?ܳGY?ܺ&:?¸?qOQ?*?p(?*?X?K&?̰ ?Lj?B?%j?`/y0?sG^?'/m0?.=X}?6=T?>cl<?F(?MS21P?U p?]UV?eh?l,]"X?tX.?|Kշ?݄X?݋ƍ(Z%?ݓ?ݛB ?ݣZ?ݪ3?ݲ}q?ݺ?)"?utɁ ?4)?CK~?òTh?sR=?2-8?e?&6O?.qV?61;?=Lh?EKE}?Mp?U0q'?\'-?d/?lo,?t/70,?{ނ?ރ?at?ދn{f?ޓ-#?ޚ36kd?ޢj?ުl%~?޲+/ ^?޹鴪?7?iv).?(v(?3>??e׉8?$/?A?EN?`\?{eju?8p?O@?&Z?. r?5)ܝ?=tZ?ERx?Mf? ?Mf? ?ߡss?FX?%+i!\?OLj?,OKny?,OKny?VlV+ˇ???1Z? 2D?xq2i?xq2i?)疝U?)疝U?Tn\Ma??;Ь?ᩣ*~?R7v?R7v??)fz?T(1?+?Q@?Š ?v@o?, " ?W:2?t?㭻#5? >q? >q?0f?2`x1?`{|?jfE?`?^u>?c†0?Fp6z?tP?增`7?п"c?aQd?, =?ZoP?i?i?i?6/?6/?wo1j?|H?|H?|J?B8ؿ?pX?CѺ0?>mrVo?me?}cj? Rc?2l?2l?.~?.~?^צ\?fV[M?cM?x,?!;5?!;5?R)nv?R)nv?*2p?›|?yL?Cּ?Cּ?FĜ?AZ?< ?? ?? ?FBIu:?L3>?SZ@?ZA?`ʗ+?d7',!?gH@ss?j0 ?m҅?q2?tfSN?tfSN?w^9F?qMn?u?xfF]?{PcD?{PcD?{PcD?yX`?T?Ԝ`?Of*?7BaH:?u?8A?*?~E\R?~E\R?yũ?yŪ?-9i?>Iй?߰#?/sj?_F? ?:b7?h#h??a?Af?/&?/&?/&?g<?𺟚dj ?MC?O%?OPw{?ʛ;?q?D]3?#?Ξf?跜s?WsR.?j?hM?y@?Ld?sQ`?٫S?* ?cv?ުD?%;=?QӦ?މ?[O?V?V?V?4X,I?V?ymz?ymz??=+?=+? ^$? ^$? ^$? ^$?. ?TP>D?zY??O?5?Vj?:(Ȇ?a0kZv?1E?i9T?i9T?(ɱ?(ɱ?r?&?&?&? +?T!]?n!=?n!=?\c?K`?;c?+?b?6?ӕ5?;O???i[+?\;?O- ?B}e?[?[?0S?Yo?k?U??F?ÕX?ÕX?x"?=!?=!?lM?lM?lM?h?h?ay0`?ܚ'?WĔ?????cSC?;? ɘ? ? ?  ??7?*\?6\N?N_X?[on?hB?u_ ?P?M ?3?q?e?e?TW?C? t? t?!͘1g?"* ?#:rU?$Jd?%[B?'}'?(%?)黾t?*V?*U?+@h&?,o0?.. ?/.|?/.|?/?0Ϣ?1余?2 lB?3s˔?4U2@?57oN?6e?6 ?7?8ʎ?9F?:?:?< ?=$t?>=?>=?>=??WV@?@rtW3?Ae ?B2?CĖ?CĖ?E?Gz?H7E?IUk*?Js_S?K*?L?Nh%?KѤr?Lhj?Lhj?N j?O,zȮ?PKg4!?QkC?RNT?SS?T`|q?UU(?W ~u?X.?YOlA?ZqJ ?ZqJ ?ZqJ ?[GM+?[GM+?[GM+?\Ei'?] J?_hށ?`'@?aL?br?br?czA?dG$_?e'o?g?g?h9>8 ?ic?j?kЂ?kЂ?lQD?n Zk?o8#?pcQ?r!_11Based on SEL surveys, they received their current SPI ROI with 30% of people PRO SPI, 20% CON SPI and 50% No Care. There is a battle for the hearts and minds of the No Cares by the Pros and Cons personalities. Assume that the 3 to 2 ratio of PROs to CONs caused ALL No Cares (the remaining 50%) to basically behave like PROs. So the remaining 50% of total for No Cares plus the 30% of the Pros creates a total ratio of 80 virtual Pros to 20 Cons to realize the documented SEL SPI ROI. Let's set this ROI to 1 for purposes of dampening and accelerating ROI based on personality mix. If there is an even ratio of PROs to CONs then assume that the No Cares are split giving a total ratios of 50 virtual Pros to 50 Virtual Cons. Therefore, if 80 to 20 gave us a 1, then 50 to 50 gives us 5/8 = .625. Using fairness if the reverse of the original 30% Pro to 20% Con ratio (i.e., 20% Pro and 30% Con), we can say that it takes 30% CON to sway all No Cares to be virtual Cons. So we have a 20/80 ratio which gives us a 2/8 or .25 dampener. Using a 2 to 1 ratio of Pros to Cons (33.3% to 16.66%) we get 84/16 total ratio; so 84/80 * 1 = 1.05. For a 3 to 1 ratio we get 87.5/80*1 = 1.09. THEREFORE, since there are diminishing returns after the initial 3/2 ratio, this ratio is disproportionately pivotal in SPI effectiveness." #$%2s ?????+ Use_CUT_OUT?0, !This is the CUT OUT flag so that the user can specify if they want the CUT OUT case or not. 0 means no CUT OUT - THAT IS, the normal case 1 means CUT OUT" #$%2cG @F?@F@F@F@(@(????,@(Total_Major_SPIHHif Use_CUT_OUT? =1 then Total_CUT_OUT_SPIs else Total_Major_SPIs_NO_CUT+t$ +        t!" #$%2g??????-KPA Activities!" #$%2g??????.Staff!" #$%2c4s?vRki^7*??v+8H5?vD==~?vRki^7*E????/Effective_SPI_Sched55Personality_Mix_Damp_or_Ramp*Schedule_Major_ROI_Rate*oLX  * o  !FFEach SPI's benefit can be amplified or dampened by the Pro/Con ratio." #$%2c2t?*׊%??҂S? ?*׊%????0Effectives_SPI_Eff33Effort_Major_ROI_Rate*Personality_Mix_Damp_or_Rampm*:  m *  !" #$%2c0u?ˋ-;??҅~/?ˋ-;?ˋ-;?vTF?vTF????1?vTF?vTFEffective_SPI_Sz11Size_Major_ROI_Rate*Personality_Mix_Damp_or_Rampl*?M  l *  ! &?HfL" ?ˋ-;?fe!{?q=p?tC,^?to>[?t̢4?uQm?u7M6?ue(~?uC#?u5>?u+LZr?uzId?u*a?uS3?uO^S?u,[.?u?un?u7V?u.`޿?u4n-?uėR?ufN?u8hU?u1 ?uL(q?u̠A?uer?uO7n?u$?u ?u٤-l?uJN#?uPV?u36?u"Xl?v)lw?vט?v 9U1UU?vk`F/?v:LV?v"~?v?v#Js)?v% {h?v)VyS?v/͛?v4@?v7 <?v:c?v@ ?vE<[<?vItF8?vMs)M?vTF" #$%2c1v?Ғ??%4`?Zç[?Ғ????2Effective_SPI_Er22Error_Major_ROI_Rate*Personality_Mix_Damp_or_Rampn*[  n *  !" #$%2sk?ߛIՄ??%?yQ?ߛIՄ?ߛIՄ?ߛIՄ????3?ߛIՄCompound_Cum_Effort_SPI0':: !" #$%2cF @.&?@.W~@.&@.&t????4 Size_&_Err_Rt_to_Effort_CorrectGGif (Err_Slope<>0 or Size_Slope<>0) then Size_&_Err_Rt_to_Effort else 0C#"%G4 C   #      "   !uuOnly change effort when there is a detected change in EITHER size or errors. SEE HOW WE HAVE TO CONSIDER ALL CASEs" #$%2s ???????????_?????5? Minor_ROI_%.5   ? !``This is the percent of ROI each minor SPI achieves. It was tested at values of 1, .5, and .25." #$%2s |????????????????6?Active_Hiring1 !This is a flag to indicate if the user wants Active Hiring (where 75% of all New Hires are Pros all of the time), or Passive Hiring (where the percent of New Hires that are Pros varies with Total Maturity). 1 is Active Hiring 0 is Passive Hiring" #$%2s???????????k?????7?Initial_Pro_Con_Ratio.75   ? !llThis is the Pro Con ratio. One key to remember is that we initially set the No Care total to 50% of total. Then we vary the percent Pros and percent Cons by this Pro/Con ratio. A 1.5 ratio means that the 50% remaining staff (not No Cares) are split so that the ratio is 1.5. In this case 30% Pros and 20% Cons gives a 30/20 = 1.5 ratio and 30 plus 20 = 50%." #$%2g ??????8 Lifecycle!" #$%2b /?ǿY9??@q:?л1 ?ǿY9???:Effort_SPI_Rt00Effectives_SPI_Eff*(1-Compound_Cum_Effort_SPI) 03'3 0  3   !Only change when the derivative (slope) of the SPI effort changes (due to using stocks for cum SPI effort, it may report constantly, which we do not want). Same for size, errors and schedule" #$%2c @i@Ux@C[F?@Ux@@$kL@Ux@CR2f@Ux@C[F@C[F@C[F???@Ux?>@C[FEffort_Effect_On_ScheduleEffort_Via_SPI&Size&Err_Rt& `XX@$@4@>@D@I@N@Q@T@V@YXX@Q@Y@^@@`@b@d@d@e@@e@@e@ &!This relation models the schedule = effort^.3 equation used by the SEL. The graph is hand drawn based on the SELs data. Schedule is in weeks, effort is in thousands of hours." #$%2b 4t/?:QYtqA4t/4t/ӕ˩I_????ӕ˩I_ Size_Rate -Size*Effective_SPI_Sz !1! !  1  !Adjust the size by a rate of size times effective SPI. It is negative because each SPI REDUCES size. The smaller, the better." #$%2s?Pb?? ? iV-?Pb?Pb?Pb????@?PbCompound_Cum_SPI_Sz0MM !" #$%2s?١YL?[W>??=Ə?e?١YL?J+M?١YL?[W>?[W>?[W>?????A?[W>?[W>ErrorsSize_Effect_On_Err_RateI"BCB I! &??????e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?e!03?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?[75J?١YL?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?AZ\~?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?Mx?%ԯ?)+8?)+8?)+8?+E6?svqX?svqX?svqX?:I?,?,?,?Jrz?`@?`@?`@?58?ۺҩ?ۺҩ?ۺҩ?0?$K?$K?$K?? ;?8PAF?8PAF?8PAF?:?[W>?[W>" #$%23b "?V"ȿl[Q??/ rw@pl?V"ȿ镛tw?V"ȿl[Q???B Error_Rateif (Size_Effect_On_Err_Rate_Correct=0 and Cum_Error_SPI_Rt=0) then 0 else if (Cum_Error_SPI_Rt<>0 and Size_Effect_On_Err_Rate_Correct=0) then -Cum_Error_SPI_Rt*Errors else (1-Compound_Cum_Error_SPI)*Size_Effect_On_Err_Rate_Correct-ErrorsJ[AWA"" J   [       "  [   J      [  A  "   W  J  A  !This rate change has to model a couple of different cases: 1. If no change due to a size SPI or a error SPI then 0 change. 2. If a change due to an error SPI but no change due to size SPI AT THIS PARTICULAR TIME INTERVAL, then adjust error by cum error spi rate * error (rate * size). 3. Else we have a simultaneous change in error due to both a size change and an error change. This can be due to a major SPI in error and a minor SPI in size occuring at the same time." #$%2c ?V"ȿl[Q??/ pw@pl?V"ȿ镛tx?V"ȿl[Q????C Err_SlopeDERIVN(Errors,1)A4 A    !" #$%2s @/nO@!?@/nO@E @/nO@ TE@/nO@!@!@!???@/nO?D@!!!Current_Effort_Via_Size_&_Err_RtSize_&_Err_Rt_to_Effort"%GHG "!" #$%2s!@/nO@Jʄ?@/nO@Pk"@/nO@ oD@/nO@Jʄ@K)\@K)\???@/nO?E@K)\""Previous_Effort_Via_Size_&_Err_RtSize_&_Err_Rt_to_Effort"HH "!" #$%2s@?@@@@U'\????FPiloted_Major_SPIs1S{ !" #$%2bw ?o9# f>??Z Su}=(?o9# f>?o9# f>S|kl'???GCur_Eff_Via_Sz_&_Err_Ratexxif ( Size_&_Err_Rt_to_Effort_Correct = 0 ) then 0 else Size_&_Err_Rt_to_Effort_Correct-Current_Effort_Via_Size_&_Err_Rt4D'HD, 4        4 D  !((Adjust effort due to size or error rate changes by a rate based on size or errors minus the current effort. THis is tricky. The rate change is equal to the size or error change SUBTRACTED BY THE WHOLE PREVIOUS EFFORT. NOTE, CHANGES IN EFFORT DUE TO EFFORT SPIs ARE DEALT WITH SEPARATELY. " #$%2bm ?o9# f>??Z Su}=(?o9# f>?o9# f>>@???HPrev_Eff_Via_Sz_&_Err_Ratennif Cur_Eff_Via_Sz_&_Err_Rate=0 then 0 else Current_Effort_Via_Size_&_Err_Rt-Previous_Effort_Via_Size_&_Err_RtGDEE, G        D E  !" #$%2c$@$?kNz???ffffff??i"q??kNz??kNz?kNz?????I?kNzSize_Effect_On_Err_RateSize!AJ  @$@4@>@D@I@N@Q@T@V@Y@[@^@`@@a@b@d@e@@f@g@i@j@@k@l@n@o@@p@@p@q@r @r@s`@t@t@u@@u  @??333333??ffffff?ffffff???񙙙????ffffff@@@@ @ @ffffff@@@@ffffff@@ffffff@333333@@333333@@@@333333@ffffff@@@ !!The curve is a U shaped curve that starts with 2E/KDLOC for the smallest projects and actually bottoms out at 100KDKLOC, then it rapidly rises to 7 E/KDLOC for 300 KDLOC. The reason the error rate rises is when the size is smaller than 100KDLOC is that there is a fixed minimum number of errors to be found even is the size is small. THerefore, the rate increases. Also, there is a strong U shape curve in the Effort Vs. Error Rate graph. THis is because it takes more effort to make a 'perfect' defect free product than it does to make a 1 E/KDLOC product. However, once the E/KDLOC rises above 1, the cost of fixing errors increases the total cost. We are not currently using the Effort to Error Rate graph because I am using a single equation that relates effort to BOTH size and error rate (it was too hard to keep the size vs effort and error vs effort separate). Hopefully, having this U shape curve for size vs error rate will influence the ultimate effort curve." #$%2c3 ?kNz??ffffff?i"q?kNzg????J Size_Effect_On_Err_Rate_Correct44if Size_Slope=0 then 0 else Size_Effect_On_Err_Rate#IB$ #        I!hhThis filter prevents constantly reporting a change in Size and Error Rate - we only want to do it once." #$%2s?{???ҚJ?όc?{??{??{?????K?{?Compound_Cum_SPI_Sched0LL !" #$%2b/?tB7:??tck'?t#yV?tB7:?pe???LCum_SPI_Sched_Rate00 Effective_SPI_Sched*(1-Compound_Cum_SPI_Sched)/KK /  K   !" #$%2b(?/J?km ??>b6 ?/J?km ?/J?km ?ia???M?iaCum_SPI_Sz_Rate))Effective_SPI_Sz*(1-Compound_Cum_SPI_Sz)1@@ 1  @   !Remember, we are modeling the 'Compound Interest' effects of how each SPI affects the current levels of size, effort, etc - NOT some fixed percent of an initial baseline. In this case, we add or take away to the cumulative SPI percent a value of the effective SPI for a particular SPI but adjust by the complement of the previous total cumulative size. As the cumulative total approaches 1 (100 percent), the effective discrete SPI is reduced by a factor of 1-total." #$%2s@?@@@@Tգ'\???NDeployed_Major_SPIs0{V !" #$%2s@}c?@zB(@} @}c@}c@}c????O@}cCum_Sched_At_Completion0pqp ! &@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@U o}@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@d@sٰE@m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @m : @q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@q4փ@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@t{|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@w6]:|@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@y@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@{oU@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c@}c" #$%2s" @*@Y@(@Y@*@*@*@c??P@*##Suggested_Intra_Routine_Minor_SPIs0YZ !" #$%2c?tЊ?W#@n_??5F?W#@n^?nE?W#@n_?tЊ?W#@n_?M|e?M|e????W#@n_?Q?M|ePercent_CompleteTime_Less_Cum_Sched/Scheduleq R  q   ! &?W#@n_?W#@n_?W#@n_?ZpR?W#@n_?-?s]?ɾn?b #f5?ծL???f#gVD?ɈZ?ao ?ɾn?\q/?b #f5?X+՜?ծL?STm: _???Nv%?f#gVD?$xqv?ɈZ?Ң?ao ? Be=?ɾn?՝?\q/?K?b #f5?ؙ5|f?X+՜?<.?ծL?۝D(#?\SuU?cY†?s?ޙ\?X`? ?kXl??H?*hep?` ?x7_K$6?/?h?GUMx$?B 燹?쁗N?fg?w?%OO ? ա?6?DE?}_?kIR?b#?3?"# B?ꁶwRH?ICTa?@qq?nڈ?"?_q0?'=V?0pw?퐜,?jw?P8J? ?X?o> ?q`W"? ? ?l? ?jw?*ꦣ?tD?>6aF?-(/?fJ? Ÿ?î&t?R?p]?ȚSpz?>6aF?LG?ͅ-(/?)(8?fJ?8? Ÿ?ܷoս:?ӴR?ԃC$C&?U2?'1g>? 6I?>U?؞/a?pB*Km?BTAx?gwXӄ?ze?dQ06?ݕDѳ?h(81?:,C?vQ?o ?B?BS?9\2?j4?} #?O?O޾?.ؖ?"_o ?䋐G|K??]l?#?0T]G?晅Ն?ZM?k2? >B?>I㶁?z.??y܂m>? |E}?L>v?oo?i:?데O?W?`?3 ?ɇ,栈?2Ηv?LMY?]l#?M zS?f?`x?ax:?l^O?l^O?Ft?l^O?2?V|?aњ!?xo8&?O?En?Ò?dl?3k?۩K`?kYT?̎P I?W6 I=?f??b?oL?ӫO3?Ԑ0M=?uBg3a?YՅ?Bw?'g{? ^ '?Գ?Ż|?g?R?ݪ&N.?P.?E?@]?8At?1t<D?,?찁x?%J?홪?>V?V"0?gL?kwE+?as?%J?*cf? y?*cf?+|7? ]K5)?!?^x?fg?68xiV?ʢ F?3et!?ϖy%?W|I?I0?ӁD~w?ԹYv_?mhnF?)f.?kysz?٤ S^?*2ݐ?:Z?t 7?ޮ? |?B;?Dq?܅X?z1i^?(R ?Ʒ U?dðe\? K< y?O?f?S?D?ѨH?D?Mw?&b=?Q.q?TN?n%?3.?e%t?9? a?qe?0|`x?0D?0D?I$Nqg,?0D??ת!?q_?ڤ>O? 8؆?ݗ{Zs? 9?SN(? AT'?e!?.;3?f $?Q?ٙ?s7V?F$0?G͝?# ?#l_? e^?ꃔ(&?aJu?V?u?j-i;?_A?x6V?(Om=?(Om=?4n)u?Fa?m?Xt?ŀG?ȓ!?x[?UiH??ҩ^,?_,/#&?W9?םs?1?/z?܏_?IP?HgM?rrB??Px?_[.|?U#M?%a´?Z>?miw?8A?qT?|?}?{m?@Z?[a7?S9?+(???D`?&k0?^BO ^w?^e?-a?ğ=~?y#*?˷:?.!Ϧ?gFRZ5?%_X? wS.o?)cM"?ۊg?tЊ?B9?OWx'?횀]?rm?ʺ? O?݌.?l'?Yȝ?oܤŃ?arYC?mqc?`Tg.{?ۍmHP?݅+e?ߡ%[C ??0?b7?x ? ?3M?5a?S?U7?T?뗌zb ?ge?%? lcC?)=??D?_C2?SM?C&≖?yP6?r"&?  ?RiH?tw?Τm?2KvU?<ǂ?2C?mUbb?*&?Y3ߎ?:?__N?+l=E?`-0Cd?{?X?~{?.*?M|e" #$%2@c 8/@3rG?@3rG@3rG@3rG@@???3rG?R@Pil_&_Dep_&_%99if (Piloted_Major_Cum<= 1) then (Deployed_Major_Cum+Piloted_Major_Cum+Percent_Complete-1) else if (Piloted_Major_Cum>1 and Deployed_Major_Cum<1) then (Piloted_Major_Cum+Deployed_Major_Cum+Percent_Complete-1) else if (Piloted_Major_Cum>1 and Deployed_Major_Cum=1) then (Deployed_Major_Cum+Percent_Complete) else 2wvQU// w     v w  Q    /  w   v      w v  Q    /  w   v    .  v Q  /  !This function attempts to show the incremental adoption of the number of piloted and deployed major SPIs throughout time rather than discrete jumping from 1 to 2 to 3 at the end of each cycle time. Need -1 because we start off with 1 pilot and only want to jump to 1 when we complete a pilot (not at beginning). Also, what am I to do about the case where a 2nd pilot and the 1st deploy occur right after each other?" #$%2f?????????SApproved_SPI_RateKPA_&_Mgr_Approval_Time\dF \!" #$%2s ?t??'e ?v[?t?t?t????T?tCum_Sched_SPI0$X !" #$%2c ?? =p?? =p? =p? =p? =p? =p2????U? =pMajor_SPI_MaturityPil_&_Dep_&_%Rr??ə?333333?ٙ??333333?ffffff?陙???񙙙?333333??fffffg???333335??fffffi@?zG{???zG{??Q?ffffff? =p ?QR?ə?ə?˅Q?QR?p =q?zG{?333333?p =q??\(? =p R!33The graph is a double S curve. For the pilot (x axis is 0 to 1), we have a small S curve going from 0 to .2 since .2 represents 1 project of the 5 in the organization successfully completing the pilot. Then we have an S curve for the remainder of the .8 for the other 4 projects completing the deployment" #$%2f5????????VDeployed_Major_SPI_Rate66if (Time_Less_Cum_Sched = 4 and time>5) then 1 else 0qyN8 q             !A deployment will occur 2 time units after a pilot but not for the first cycle (when time <=5). This is tricky, Time_Less_Cum_Sched has a value of 4 at time 5 even though looking at a table shows a value of 5 at time 5. This is because for calculation, it looks at the previous value (at time-1) to do calculations at 'time'. 2 time units had to be implemented because 1 time unit wasn't enough due to truncation of time less cum sched (the int function). A small SPI reduced schedule by a small amount such that the truncation gave a cum sched that was 1 less than a previous good run so counter started at 2 vice 1. The deployed ROI was overriden. Pretty weird." #$%2s?K&\??g?|?K&\?K&\?K&\????W?K&\Compound_Cum_Error_SPI0B[[ !" #$%2b?vRki^7*??v+8H5?vD==~?vRki^7*?vRki^7*???XCum_Sched_SPI_Rt Effective_SPI_Sched /$T /!" #$%2f7 ??????????Y?Intra_Sug_Rate88if (Sug_Frequency<= 1) then Discrete_Sug_Control else 1(cP$         ! &??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????We want to control the number of suggestions per cycle 'accepted' to 1 per week (which is when suggestions per cycle / schedule = 1). Otherwise we will flood the KPA processing system. We could have modified the Suggestions per cycle convertor, but it was too complicated already. Eventually we may create a stock of suggested minor SPIs compared to a stock of accepted minor SPIs to see the backlog of suggestions when we achieve high maturity." #$%2f< ?@?@??????Z?Low_Hanging_Fruit_Frequency==if round(Sug_Frequency) <= 1 then Low_Fruit_Regulator else 1P,           !  In regulating the minor SPI flow, we check to see if the cycle counter modulo the regulator is 0. If so, then we let one out. The key is that the regulator will have different values from 1 to 4 for a normal distribution of time. 4 for a while, 3 and 2 real quick, then 1 for a while." #$%2b+?hi??Ή}?]63?hi???[Cum_Error_SPI_Rt,,Effective_SPI_Er*(1-Compound_Cum_Error_SPI)2WBW 2  W   !Same as the Cum Size SPI. Adjust the effective SPI ROI by a diminishing rate based on the prior cumulative total to model the compound effect." #$%2s????????????????\?KPA_&_Mgr_Approval_Time1S !" #$%2s?=p @@p? =p@p?=p @?=p @?=p @????]?=p @Size_Major_ROI_Cum0l ! &?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?(\)?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?ᙙ?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?=p >?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Gz?Gz?Gz?Gz?Gz?Gz?Gz?Gz?Gz?Gz? =p ? =p ? =p ? =p ? =p ? =p ?333334?333334?333334?333334?333334?333334?\(]?\(]?\(]?\(]?\(]?Q?Q?Q?Q?Q?Q?Q?Q?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG? =p? =p? =p? =p?????(\*?(\*?(\*?(\*?QS?QS?QS?QS?zG|?zG|?zG|?zG|? =p? =p? =p? =p?????\(?\(?\(?\(?Q ?Q ?Q ?Q ?GzI?GzI?GzI?GzI?p =r?p =r?p =r?p =r?噙?噙?噙?噙?\(?\(?\(?\(?Q?Q?Q?Q?zG?zG?zG?zG?=p ??=p ??=p ??=p ??fffffh?fffffh?fffffh?fffffh?\(‘?\(‘?\(‘?\(‘?Q?Q?Q?Q?Gz?Gz?Gz?Gz? =p ? =p ? =p ? =p ?333335?333335?333335?333335?\(^?\(^?\(^?\(^?Q?Q?Q?Q?zG?zG?zG?zG? =p? =p? =p? =p?????(\+?(\+?(\+?(\+?QT?QT?QT?QT?zG}?zG}?zG}?zG}? =p? =p? =p? =p?????\(?\(?\(?\(?Q!?Q!?Q!?Q!?GzJ?GzJ?GzJ?GzJ?p =s?p =s?p =s?p =s?陙?陙?陙?陙?\(?\(?\(?\(?Q?Q?Q?Q?zG?zG?zG?zG?=p @?=p @?=p @?=p @" #$%2s&?ə?ə??ə?ə?ə?ə?ə?ə?ə?ə????ə?^?əSuggestions_Per_Pro_Per_Cycle.2|   ?ə !THis is the number of suggestions each Pro makes per cycle. We would like to test 1 or 2 suggestions per Pro per cycle for all Pros. Since there are 5 projects running in parallel, we have to divide 1 and 2 by 5 to get .2 or .4." #$%2c $?_30 &3H??&@pNUh|?_30 &3H?_30 &3HzΜMzΜM????_zΜM Effort_Slope%%DERIVN(Effort_Via_SPI&Size&Err_Rt,1)&` &    !" #$%2c7 @Uv$$ _        >!" #$%2$fW(@>?@5@C@>???aCum_Intra_Sug_Out_RtXXif mod(Time_Less_Cum_Sched, int(Schedule/2)) =4 then Cum_Intra_Minor_Suggestions else 0q b(b@ q      ,      b   ! &?@@@@@@@ @&@7@6@4@3@2@1@1@>@,After we accumulate the number of suggestions for the prior half project cycle, flush out the old cumulative number of suggestions for use in calculating the correct average period. Calculate the average 4 dt's twice a schedule cycle. Schedule/2 is the modulo divisor." #$%2s@>?@5@C@>@"@"????b@"@"Cum_Intra_Minor_Suggestions0aca ! &???????????????????????????????????@@@@@@@@@@@@@@?????????????@@@@@@@@@@?????????@@@@@@@@@??????@@@@@@@@@@@@@@@@@@@@@@@@@?????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@????@@@@@@@@@@@@@@@@@???@@@@@@@@@@@@@@@@@@@@@ ??@@@@@@@@@@@@@ @ @"@"@$@$@&@&?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3?@@@@@@@ @"@$@&@(@*@,@.@0@1@2?@@@@@@@ @"@$@&@(@*@,@.@0@1?@@@@@@@ @"@$@&@(@*@,@.@0@1?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>?@@@@@@@ @"@$@&@(@*@,?@@@@@@@ @"" #$%2f???????$???c?Cum_Intra_Sug_RateIntra_Sug_RateYb Y!%%Collect all of the suggestions here." #$%2s???dApproved_Major_SPIs0zS !Put in 5 major SPIs ( Cleanroom, Test Imp, and 3 others). They will be released 1 at a time spaced out with a transit time of Schedule. The first SPI (Reuse) will start off in the Approved SPI stock." #$%2s?@e?p =s@e???????e?Effort_Major_ROI_Cum0m ! &?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ?QS?QS?QS?QS?QS?QS?QS?QS?QS?QS?QS?QS???????????QS?QS?QS?QS?QS?QS?QS?QS?QS?QS?QS?QS?QS?QS?QS?QS?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?GzI?GzI?GzI?GzI?GzI?GzI?GzI?GzI?ٙ?ٙ?ٙ?ٙ?ٙ?Q?Q?Q?Q?Q?Q?Q?=p ??=p ??=p ??=p ??ڏ\(‘?ڏ\(‘?ڏ\(‘?ڏ\(‘?ڏ\(‘?ڏ\(‘?ڏ\(‘?ڏ\(‘?Gz?Gz?Gz?Gz?Gz?Gz?Gz?Gz?Gz?Gz?Gz?Gz?Gz?333335?333335?333335?333335?ۅQ?ۅQ?ۅQ?ۅQ? =p? =p? =p? =p?(\+?(\+?(\+?(\+?zG}?zG}?zG}?zG}?????Q!?Q!?Q!?Q!?p =s?p =s?p =s?p =s?\(?\(?\(?\(?zG?zG?zG?zG?fffffi?fffffi?fffffi?fffffi?޸Q?޸Q?޸Q?޸Q? =p ? =p ? =p ? =p ?\(_?\(_?\(_?\(_?߮zG?߮zG?߮zG?߮zG?????(\*?(\*?(\*?(\*?QS?QS?QS?QS?zG|?zG|?zG|?zG|? =p? =p? =p? =p?????\(?\(?\(?\(?Q ?Q ?Q ?Q ?GzI?GzI?GzI?GzI?p =r?p =r?p =r?p =r?ᙙ?ᙙ?ᙙ?ᙙ?\(?\(?\(?\(?Q?Q?Q?Q?zG?zG?zG?zG?=p ??=p ??=p ??=p ??fffffh?fffffh?fffffh?fffffh?\(‘?\(‘?\(‘?\(‘?Q?Q?Q?Q?Gz?Gz?Gz?Gz? =p ? =p ? =p ? =p ?333335?333335?333335?333335?\(^?\(^?\(^?\(^?Q?Q?Q?Q?zG?zG?zG?zG? =p? =p? =p? =p???" #$%2s? =p ??zG}?Gz? =p ? =p ? =p ????f? =p Error_Major_ROI_Cum0n ! &?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?tzG{?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?lD?l?l?l?l?l?l?l?l?l?l?l?l?l?l?l?l?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?Q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?p =q?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?zG?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?fffffg?ָQ?ָQ?ָQ?ָQ?ָQ?ָQ?ָQ?ָQ?ָQ?ָQ?ָQ?ָQ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ? =p ?\(]?\(]?\(]?\(]?\(]?\(]?\(]?\(]?\(]?׮zG?׮zG?׮zG?׮zG????????QS?QS?QS?QS?QS?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?أ =p?\(?\(?\(?\(?\(?\(?\(?\(?\(?\(?GzI?GzI?GzI?GzI?ٙ?ٙ?ٙ?ٙ?Q?Q?Q?Q?=p ??=p ??=p ??=p ??ڏ\(‘?ڏ\(‘?ڏ\(‘?ڏ\(‘?Gz?Gz?Gz?Gz?333335?333335?333335?333335?ۅQ?ۅQ?ۅQ?ۅQ? =p? =p? =p? =p?(\+?(\+?(\+?(\+?zG}?zG}?zG}?zG}?????Q!?Q!?Q!?Q!?p =s?p =s?p =s?p =s?\(?\(?\(?\(?zG?zG?zG?zG?fffffi?fffffi?fffffi?fffffi?޸Q?޸Q?޸Q?޸Q? =p ? =p ? =p ? =p ?\(_?\(_?\(_?\(_?߮zG?߮zG?߮zG?߮zG?????(\*?(\*?(\*?(\*?QS?QS?QS?QS?zG|?zG|?zG|?zG|? =p? =p? =p? =p?????\(?\(?\(?\(?Q ?Q ?Q ?Q ?GzI?GzI?GzI?GzI?p =r?p =r?p =r?p =r?ᙙ?ᙙ?ᙙ?ᙙ?\(?\(?\(?\(?Q?Q?Q?Q?zG?zG?zG?zG?=p ??=p ??=p ??=p ??fffffh?fffffh?fffffh?fffffh?\(‘?\(‘?\(‘?\(‘?Q?Q?Q?Q?Gz?Gz?Gz?Gz? =p ? =p " #$%2s?љ??zG~?GzJ?љ?љ?љ????g?љSchedule_Major_ROI_Cum0o !" #$%2s +@??t]Et@89@??h????h?? Sug_Avg_Freq0jkij ! &??????????????????????????????????????????????????????????????????????????????????`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?`jc?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?6@?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə??????????????????????????zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU???????????????????????????????????????????yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy??????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@?????????iiTHis whole construct is to designed to find the average suggestion rate only based on the suggestions made in the prior half of a project cycle (CT/2). The iThink functions for cycle time and averaging only do a cumulative average for the whole life of the simulation run - which we don't want. We want a floating average whose frequency itself also changes." #$%2!f N-@??t]Et@89@???i Sug_Avg_RateOOif mod(Time_Less_Cum_Sched,int(Schedule/2)) = 4 then Correct_Avg_Period else 0q (h@ q      ,      (   !when we hit the time to calculate the average (twice a cycle) get the cum sum of suggestions and divide by the averaging period - which is .5* schedule" #$%2!fH0@??t]Et@89@[???jOld_Sug_Avg_FlushIIif mod(Time_Less_Cum_Sched,int(Schedule/2)) = 4 then Sug_Avg_Freq else 0q hh@ q      ,      h   !\\THis flushes out the old suggestion frequency at the right time so the new one can come in." #$%2c  @:????????????????k?Minor_SPI_Maturity Sug_Avg_FreqhrXX?ə?ٙ?333333?陙??333333?ffffff???XX??ə?ٙ?333333?陙?????? h! &?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?E?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?gם@?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə?ə??????????????????????????zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?zG{?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU?UUUUUU???????????????????????????????????????????yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?yy?????????????????????????????????????????????????????????????????????????????????????????????????????????When the suggestion average frequency approaches 1, that means 1 suggestion is made each week during a cycle. This is the threshold needed to fully mature (Minor SPI = 1 on graph). Per SEL, the mature group reached a state of continuous improvement of 1 suggestion per week on a major tech upgrade. If they had no minor SPIs there would have been a %100 cost (effort ) overrun. Everyone participated, which is what real maturity is all about." #$%2b?(\)??(\)?(\)?(\)?tzG{???l?tzG{Size_Major_ROI_RateSize_Major_ROI+Size_Minor_ROI1]     !  Note, the rate of change of Size Major ROI Cum are discrete impulses depending on the time we implemented a major or minor SPI. Most of the time the rate of change will be zero until week achieve high maturity and perform 1 minor SPI per week. Effort, Error, and Schedule are the same." #$%2b!?Q??Q?Q?Q???mEffort_Major_ROI_Rate""Effort_Major_ROI+Effort_Minor_ROI0e     !" #$%2b?bM??bM?bM?bM???nError_Major_ROI_Rate Error_Major_ROI+Error_Minor_ROI2f     !" #$%2b?tzG{??tzG{?tzG{?tzG{?tzG{???oSchedule_Major_ROI_RateSchedule_Minor_ROI/g !" #$%2>f-@U o}?@TN'@U o}@U o}???pCum_Sched_At_Comp_Rateif( (Time_Less_Cum_Sched>Schedule-1)and (time - (Cum_Sched_At_Completion+Schedule)) > .5) then Schedule else if ( (Time_Less_Cum_Sched>Schedule-1)and (time - (Cum_Sched_At_Completion+Schedule)) < .5) then Schedule-1 else 0q OO-- q       O    > ?       -  q       O    < ?    ,     -  !Using our current sawtooth counter, "Time_Less_Cum_Sched", we compare if > than the current CT (Schedule). UPDATE 6/18 due to minor SPIs changing Schedule from X.5 to X.4 right at time X (which causes time to keep on increasing), we put in a flag for if time is ever > sched (which it shouldn't) then we recycle. Due to truncation/rounding errors, if the counter is > schedule -1 and the difference between real time and cum schedules > .5 then we add schedule to the cum schedule. if the difference is <.5 we add schedule-1. " #$%2%c= !@U@??@U?@U@?@U@?@;@;^?????q@;@;Time_Less_Cum_Sched>>if time>1 then round(time-Cum_Sched_At_Completion-1) else 1 OQVaijp{D         O        ! &??@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@@@A@A@B@B@C@C@D@D@E@E@F@F@G@G@H@H@I@I@J@J@K@K@L@L@M@M@N@N@O@O@P@P@@P@P@Q@Q@@Q@Q@R@R@@R@R@S@S@@S@S@T@T@@T@T@U@U@?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@@@A@A@B@B@C@C@D@D@E@E@F@F@G@G@H@H@I@I@J@J@K@K@L@L@M@M@N@N@O@O@P@P@@P@P@Q@Q@@Q@Q@R@R@@R@R@S@S@?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@@@A@A@B@B@C@C@D@D@E@E@F@F@G@G@H@H@I@I@J@J@K@K@L@L@M@M@N@N@O@O@P@P@@P@P@Q@Q@@Q?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@@@A@A@B@B@C@C@D@D@E@E@F@F@G@G@H@H@I?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@@@A@A@B@B@C@C@D@D@E@E@F@F@G@G?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@@@A@A@B@B@C@C@D@D@E?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@@@A@A@B@B?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@@@A?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>?@@@@@@@ @"@$@&@(@*@,@.@0@1@2@3@4@5@6@7@8@9@:@;__In order to have a sawtooth counter of cycle time with a VARIABLE cycle time, we need to remember all of the previous cycle time values (Schedules) at the time of each cycle completion. Note, there are intermediate values of CT throughout the cycle due to delays in lifecycle process calculations. Anyway, we subtract the previous accumulations of CT from the current time to get a counter that can be tracked against the most current cycle time. The extra logic sets the counter to match the current time when the sim is started (it seems to be 1 greater than time at the beginning - so we subtract 1)" #$%2c<<?Q?zG|??Q?zG|?Q?zG|?Q?zG|?Q?Q????zG|?r?Q?QTotal_Maturity==(Major_SPI_Maturity*Minor_SPI_Maturity+Minor_SPI_Maturity^2)Uk| U k  k    ! &?zG|?zG|?zG|?.(@?ih.?o׳?&?&S[?cd? '?I1?dJ~j?8B?{ ?wS?Ҭf?.D!d?3?????????? c3b?fMT?”vs?-$?yŧ{?^*5 ?0?/?6B&? AM?E?yI?W!(?kOV?"+f?&?uV?Z)z? ݟ,r?õN2?+V:A??g"?TԌx?ji:!?H}n?3Ѯ?!+?X?,?$`?5S\?FE?WY8g?hx:?qm?y-^?S?:?Ǚ'?'/Uj?⋭?>lp?sČ?ʊ?ۢ4ͩ?q?Я?(?)9s?1fTf4?B-oX?Vt{?ge?x>???)8.?KŸ6?m~SBT?ٗ=u?Xs?a2?a2?vX:?vX:?vX:?|q"?[?ޖ?aO?? f?7,|?VKl5??ܽ ?/qu?4?յ,B?(?{J?έDv?W;>!?6?J?G'D_?@ ]X@ eݭi8@ n <*@|=\@@^U@ .@ $|@Z%@iC&@xD Z@l@Zp@'ˆ|@wӏG@!@Gkq@YNpn@l @@$@_tZ@8/e;@^h;@KO@6&@l!t@K*@|]@sS@4|@" @"7/OŲ@# FQ.@#X@# l@#+ܐ@#6Ä@#Ak~h@#L M@#WFK@#bR`y@#mq@#x@#@#~&@#,@# q@#͠%@#~@#ԓ@#~@#f j*@#`E\E@#Uє;@#M@#ALU@#/7"@#1@#2 @# @#.B@#t3@#3D@##P@#{@*vf@*-.@*1 v@*ޠ@*/@*p@*b v@*pS@*@*ty>@+?@+ T@+{@+LTwPk@+7@+朸R@++/!L{@+9rD@+2q{@+@=>r@+No2W@+\̸@+jT|@+y=5@+q@+j\F@+x#wa@+p@+~#@+j@+9@+=U@+h}j@'e,@'R^@,C@,@f@,jč@,@,Ɉ$4~=@,@,HQ@,@,w@,礳!p:@,ޑ'\@,m@,Cm@-v@--c0@--N L@-=\LY@-Mi@-C?S@-:F@-JZ7fr@-Z @-iT@-ymw7U2@-p"}$@1N1@15G@1 ƙ@1鹧wP@1n7@11_@1 d:@1@1S/~@2`@1)l@1Wi@1.^@1[,@2aA]ۻ@2 VT@2ۧ@2sx1 '@2& @2.c@27o0-@2@0xK@2H }@2QN٫@2Kͷ@:EJ@:٫@:x @:dj3@:п@:@:Xj@:t@`1BWl@`7Qai@`=b \M@`CpzԢ@`I}!+@`O@`U6;@`[h+ @`aЛ98@`g@`mMť@`sD_*@`yZR@`@@`?A@`F+<@`IJ@`K{@`MO+@`OD@`͋@`4Y@_{@_ߞ@_P*@_b)1@_,@_ @_@a @a_!c!@aA؀@a$w'@av&@an[3@a!LTcq@a'(X[K@a"x@a:Y@aFfy@ab@a$VwE@a*˔:h@a0&1@a6pB@a1+y@a7c@a=gtSA@aC5E"@aICT@aNɉ @aTȗ@aZY[Ê@a`lF`@aeeOC@ak;̤@afba@alq&~@agf@amp@aspu.@ay.>@a~,ڜ@a%@a+@aŔ@aS/m@a 5@aޢ@aqJ@a#l=@aSC@a7,@a6J@agX@aF@aBW@aqt l@a @aѶ׽r@a֦Z@a.Kh\@aW`h=@aXB@a@a0@azgW@a *Z@a@aiõ@ax>@a%f8#@a;e#\@a^@ay-@aD@a.F@az@ae fB@a%@a8@a*} @ado@aWY{@a_@a @a V@au0@bˤZ @ah2,@b;@b Ov#x@bfmOĚ@bu?@bz@b!n@b&bD@b!P@b'=@b,Ί@b'̔@b-Z'Q@b2&@b-I.u@b(1V@b#@bqxv@b$Tmp@b)Ș@b/f\@b4ι@b:ub@b?Va@bE}EttThe total number of suggestions equals the number of PROs on (PROJECT ? OR WHOLE ORG? may have to divide by 5 for DPP percent to be correct). Number of Pros times Pro suggestion rate per cycle times maturity times the inflation factor of receiving suggestions from the outside projects and implementing them in your project. This inflation factor is the 1/(1-%repeat). I.E., if % repeat = 60, then 1/(1-.6) = 2.5. if the local project made 10 suggestions, the total implemented would be 25 because 60% (or 15) would have been received from outside. Correspondingly, 60% of your suggestions would be implemented by others." #$%2c#D?333333?333333??333333?333333?333333?333333?333333?333333?333333?333333+????333333? }?333333$$Percent_of_Suggestions_From_Outside.6|   ?33 3333!,,Put in the percent of total suggestions that would be repeated by other projects if you did not communicate the lessons to the other projects. That is, this is the value of cross project DPP. SEL said that 60% of suggestions made or errors found would be repeated if they were not communicated."  JJ  <diagram_struct'''''a P _g~$)Point_array((movie_attach))KPA ActivitiesPicture_Tab**Pad++Model_Index_array,, ''a PMM0x$;)()Staff*+, ''a P.  . yx~;() Lifecycle*+, ''''''aJ5@ )K.()*+slider_type--hh @??*?Model_Index..Log_Condn//Log_Page00Play_Where11" " , '''aRd@F ()*+-hh ?./01" " , '''''''''''''''''''''''''a C)f&>@( ^^)*+, ''''''''''''''''''a CK;3!`:<=(;;)*+, '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''a Cn -x!yz()*+, ''''''a CpD~!  ( )*+, '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''a CT8if 689w( DD^ ^)*+, '''''''''''''''''''''''''''''''''a Cn$VfBC( ^^^^)*+, ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''aJ5@~ K ()*+-hh ???e?./01" " , 'aJu@Joxp`()*+-hh ???1?./01" " , 'aJ@Rܨm()*+-hh ?ٙ?ə?ə2?./01" " , 'aJJoxp()*+-hh ?333333?333333?333333e}?.}/01" " , ''aRe!@'()*+-hh !?.!/01" " , 'aRDeA@mHmA<M()*+-hh A?.A/01" " , 'aRd&@Joxp(()*+-hh &?.&/01" " , 'aRlf @NXOdu()*+-hh  ?. /01" " , 'aRd@Joxp()*+-hh ?./01" " , 'aRe@Jgp()*+-hh ?./01" " , 'aD])Ko()*Graph 9+66Z${{$ơTm graph_type22bb?@@ü?@@+NUntitled Graphcurve_type_array33(curve_type44J&@$@4.&BBBBBJHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIiacccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccpwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyzyzzzzzzzzzzzz4JA@a ?.A]]]]]YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYDIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkjjkkkjjkkkkkkjjjjkkkkkkkkkkkkkkllllllllmmmmmmmmnnnnnnnnooooooooooopppppppppqqqqqqqqrrrrrrrrssssssssttttttttuuuuuuuuuuuvvvvvvvvvwwwwwwwwxxxxxxxxxxxxyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{{{{{{||||||4J @p =q@Y. 1111116555555555555555555555555555555555555555555555555555555555555555555555556666666666666IDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFNRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSTSSSTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUxyyyyyyyyyzzzzzzzzzzzzz{{{{{{{|||||||}}}}}}}}}}}}}}}}~~~~~~4J!@p =q@Y.!"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""LLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQRRRRRRRRRRSSSSSSSSSSSSTTTTTUUUUUUUUVVVVVVVVVVVVVVVVVWWWWXXXXYYYYYYYYZZZZ[[[[\\\\\\\\]]]]^^^^________````aaaaaaaabbbbccccddddddddeeeeffffffffgggghhhhhhhhiiiijjjjjjjjkkkkllllllllmmmmnnnnnnnnooooppppppppqqqqrrrrrrrrVWXXYZ[\\]^__`abccdefgghijkklmnnopqrrstuvvwxyzz{|}}~       !"##$%&&'()**+,-../0122345567899:;<==>?@AABCDDEFGHHIJKLLMNOPPQRSSTUVWWXYZ[[\]^__`abbcdeffghijjklmnnopqqrstuuvwxyyz{|}}~"  +66x+xnx+Tm 2bb~mmm n?@@ü?@@+cUntitled Graph3(4Jm?Q@r.4Jm?Q@r.4J m?Q@r.4Jm?Q@r.WXYYZ[\]]^_``abcddefghhijkllmnoopqrsstuvwwxyz{{|}~~         !"#$$%&''()*++,-.//012334566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTTUVWXXYZ[\\]^_``abccdefgghijkklmnoopqrrstuvvwxyzz{|}~~"|+ { JJ w  @v'a sFHABAЁ qeU()*+, v'a sNNXOe()*+, v'a g-@&()KPA Activities*+, v''a go.o9R A()Staff*+, v''a g8% () Lifecycle*+, v''a s+D ()*+, v'a soP#Hm?< B()*+, v'a c W()*+, v'a l;Joxp !UQ()*+, v'a sJoxp 4K()*+, v''a lc;BtWR()*+, v'a sk}xJ|5Ll()*+, v''a l;Joxp"T()*+, v'a sJoxp6Mm()*+, v'a s Joxp,()*+, v'a se /- ?<<DvVXYZ()*+, v'a f  3^/`BY( V  ')*(``+, v'a fV  N/tCCX(V V')*(dd+, v'a f iP/]DZ(X X==')*(qq+, v'a cbs''iU]789@()*+, v'a m~G:( O)*(+, v'a a%$ l()*+, v'a m\~ TGm<(\O\)*(]]+, v'a m~G=(O)*(+, v'a aZ %Y 9n  ()*+, v'a f?LDg49(<)*(.+, v'a dD;M()*+, v'a f\ TRjZ!58(\\J)*(Z/Z+, v'a d`R !WIi[()*+, v'a fp?:/-" RX#*67(J)*()+, v'a dR":#I[()*+, v'a d`%$Wi()*+, v'a f["%Swy$*([[)*(g[g+, v'a aK)(1,&11()*+, v'a c ' ->()*+, v'a cP`Pp(,&()*+, v''a a4"%B ;;*OO=n =()*+, v'a DT+()*Graph 1+c, v'a a(//,()*+, v'a a'.-()*+, v'a c z. * -DEF}()*+, v'a cHm?</r,CEG()*+, v'a c1P`Pp0$sOBFG()*+, v'a,D<''t1)#O()*Graph 2+66"Fx1ĚFxn4x1Tm 2bb&n^nm|?@@ü?@@+Untitled Graph3(4J8m@ffffff@>.4JFm@+ffffff@..4J m@ffffff@>.}zxuromjghec`]ZXURPMJHEB@@A>?<:;;96311/,*'(%"      ## ##&&'''''++..+./+(,/3334441414555888566696666::===:77855566666333477441147478852225552306<?CGJJJJKKHHHKLLIFIMMPNQQRRRSSVYYYWWWXXXYYVVWZZ[^djpqoruvz}4J m@+ffffff@.. WXYYZ[\]]^_``abcddefghhijkllmnoopqrsstuvwwxyz{{|}~~         !"#$$%&''()*++,-.//012334566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTTUVWXXYZ[\\]^_``abccdefgghijkklmnoopqrrstuvvwxyzz{|}~~"1 va, v'a s2 J()*+, v'a d?''t3()*+, v'a a NF4()*+, v'a ak `P`Ppll5kfqk()*+, v'a a"6()*+, v'a akk"7lmgrlm()*+, v'a a> "N52""8@@EKimE()*+, v'a aO]]]9yyP[yP()*+, v'a a$QJ;:)OJ.)O()*+, v''a a:gJ;%*<,,AiEhAi()*+, v'a aCJ; wQ ww=ZZ?0I?()*+, v'a aK)'.>()*+, v'a f?#3NOPTUWS()*(+, v'a a+K)gdggdd@+_&l+()*+, v'a so;,AdJP()*+, v'a a%0  B%*%()*+, v'a az/!Me } C,,m()*+, v'a a.R4RD ()*+, v'a a./vMVSavvMMEVV} ()*+, v'a a.0ocR4RooccF6_()*+, v'a ac/02QNQG22c2c()*+, v'a f&H3nRIJ(    @)*(7n+, v'a dHHI?!Q()*+, v'a a 2H\R4RJ/()*+, v'a s t5#KN()*+, v'a sk''tLV.O()*+, v'a s''tM~.P()*+, v'a aK?$$..N22()*+, v'a aL?1-  Oz!()*+, v'a aM?)P11"()*+, v'a lZ  QAsT()*+, v'a l9''tRTU()*+, v'a a?$'P))SklAk()*+, v'a apQ?B Tlgl()*+, v'a aOR?Q2Q2UMHM()*+, v'a s> V'#UW()*+, v'a a|V?2;;W{{mM m()*+, v'a a4DvYWx$vvXbb+Gh+G()*+, v'a a!?@Vffffg''Y[()*+, v'a a@wZ7o7()*+, v'a.D([:()*Table 1+66$ފ^y2[^yƞx[Tm table_type55ddnBž??<düVā +!Untitled Table.table_var_type_array66Ltable_var_type77"P.!E7"P.!/7"P.!7"(Q.!7"P.!{7" Q.!`SET88P "[ va, v'a sL \+] w5GJ()*+, v'a sY!osing.W].oc()*+, v'a c"gJ mV P^c()*+, v'a c #_ #()*+, v'a dIa?`@R()*+, v'a bC$a;r `w(CC)*(i+, v'a a5b!8()*+, v'a a]^TcTTZ()*+, v'a sr& ZdQpg()*+, v'a dr2f 'ei){;()*+, v'a bjh'0,fb0 eg(j:j)*(]+, v'a azdfkMkkg{i()*+, v'a a]eq ffh[Zmt[()*+, v'a cQO( m P iD"o|j()*+, v'a a(iXY{4XXYYjTS()*+, v'a s h3&k1()*+, v'a s}tMl\_y()*+, v'a sbWmMxz()*+, v'a cb*nDYo yz|}()*+, v'a c :(0o 6pqr()*+, v'a a%op% %()*+, v'a a;oDq;@;()*+, v'a aor()*+, v'a cb/H PJPf sU,| ()*+, v'a c'0f&Hm?<tP} ()*+, v'a c1/Hn?<u()*+, v'a c2?NrHmv}()*+, v'a aD\a322ttw1M()*+, v''a azlxnh yc()*+, v'a armxnj zem()*+, v'a c=={/()*+, v'a aansa|\f()*+, v'a agnt !!}b!()*+, v''a cq==uA ()*+, v'a amnu11h()*+, v'a alnv@@))g()*+, v'a c==l()*+, v'a csJ()*+, v'a ctJb()*+, v'a ca uJT2()*+, v'a cvd<()*+, v'a sD/ZC()*+, v'a aG^NrNNrrl()*+, v'a a]_kc kkccWa ()*+, v'a c4Sv`4 Tr ()*+, v'a a_!d+!!dd()*+, v'a a^+mm()*+, v'a a|5iZVZZVV|QU|()*+, v'a a?i)))W4O()*+, v'a aJYi-&{{55KY0TPKY()*+, v'a.D 0()*Table 5+66$jF{N {jơxTm 5ddƟ??<düjŁ +Untitled Table.6L7"hN.h!7"aO.a!a7"(P.(!7"qO.q!a7" Q. !7"b,P.b!n8P " va, v'a cG),:()*+, v'a d  )!()*+, v'a a CCC H ()*+, v'a aI#NCNNIDSI()*+, v'a s5mm4oz{()*+, v'a cz>0\,()*+, v'a b:: G\2b( T)*("" +, v'a,DW Ju2()*Graph 4+66"Ə xĐҐ xƟxxTm 2bbޞ$j?@@ü?@@+Untitled Graph3(4J&2@$@4.&CCCCCKIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJjbdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddqxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzz{z{{{{{{{{{{{{4JA@@a ?.A^^^^^ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZEJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllkklllkkllllllkkkkllllllllllllllmmmmmmmmnnnnnnnnoooooooopppppppppppqqqqqqqqqrrrrrrrrssssssssttttttttuuuuuuuuvvvvvvvvvvvwwwwwwwwwxxxxxxxxyyyyyyyyyyyyzzzzzzzzzzzz{{{{{{{{{{{{||||||||||||}}}}}}4J N@p =q@Y. 2222227666666666666666666666666666666666666666666666666666666666666666666666667777777777777JEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGOSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTUTTTUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVyzzzzzzzzz{{{{{{{{{{{{{|||||||}}}}}}}~~~~~~~~~~~~~~~~4J!\@p =q@Y.!#####################################################################################MMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRSSSSSSSSSSTTTTTTTTTTTTUUUUUVVVVVVVVWWWWWWWWWWWWWWWWWXXXXYYYYZZZZZZZZ[[[[\\\\]]]]]]]]^^^^____````````aaaabbbbbbbbccccddddeeeeeeeeffffgggggggghhhhiiiiiiiijjjjkkkkkkkkllllmmmmmmmmnnnnooooooooppppqqqqqqqqrrrrssssssssWXYYZ[\]]^_``abcddefghhijkllmnoopqrsstuvwwxyz{{|}~~         !"#$$%&''()*++,-.//012334566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTTUVWXXYZ[\\]^_``abccdefgghijkklmnoopqrrstuvvwxyzz{|}~~" va, v'a afcjudc()*+, v'a dhw _nq()*+, v'a s~.T Sector(]W()*+, v'a adU+ddUUj()*+, v'a d}()*+, v'a c_1Y 4()*+, v'a b? el>(m)*(\\b+, v'a ad8()*+, v'a a+W6j()*+, v'a at]Z--h()*+, v'a saA@r()*+, v'a dad`X[jm()*+, v'a bYB/ -]Qdm/ (YlY)*(]]I+, v'a aof'+hHH??,(?rn,()*+, v'a cdCHmHlPx()*+, v'a aGukf"** n{()*+, v'a ae X/HxSS gu()*+, v'a aVwsH=ssHH==jk()*+, v'a s$Dd u5()*+, v'a s\E p P hLy}()*+, v'a d$,#-5()*+, v'a s/@Y@()*+, v'a.D =-()*Table 2+66$&zTbzƟxTm 5ddƟ̟??<düā +Untitled Table.6L7"&`Q.&!K7"A|Q.A!7" Q. !7"!Q.!!7"10O.1!7"*LO.*!8P " va, v'a af.##  wn()*+, v'a blG?U()*+, v'a fS ~p (x)*(+, v'a loSB()*+, v'a fHVUt ~t()*($+, v'a s2IWC()*+, v'a d~u()*+, v'a bvXn*-(vv)*(k+, v'a d HmN()*+, v'a f7Y  cm?py([)*(]] +, v'a fZ{UpOvn()*(`4`+, v'a fb{~e (&)*(A+, v'a d/Joxp&8()*+, v'a b'[V=(''5)*( +, v'a a}  ()*+, v'a aJ{AzzNNKFSK()*+, v'a sPd]/6a()*+, v'a aoaGDnHDn(DD??%Q%()*+, v'a aa?RDnHDn(??EEDt+()*+, v'a s{eܴ/.HjI()*+, v'a c'Q E!e()*+, v'a ar!7Kbxb77KKr"Kr()*+, v'a a:(((:#?:()*+, v'a sbT+*()*+, v'a du(()*+, v'a a0/.s>()*+, v'a fYcge SetupJ@( ')*(::+, v'a sddpM()*+, v'a ao6(Ȥ66()*+, v'a s{fXO`( LJ()*+, v'a sE{gHnHh8$CV()*+, v'a cFw (RS ()*+, v'a cFRp //-( 9d  ()*+, v'a a]dCB ]]ddCCO()*+, v'a a0___0J0()*+, v'a cz` mX()*+, v'a bPlHX{a(8P8PP)*(5p5po+, v'a a{{  v()*+, v'a a"n s()*+, v'a a aF FFyyt()*+, v'a bm}oVb(g)*(o+, v'a bnB^tB^T.o#Wc(EEg)*(BBp+, v'a bFoLdod(TTHFHFg)*(HrHrq+, v'a c, the use4 Ufg()*+, v'a a{iQS]e()*+, v'a s;\ L()*+, v'a,DU",Hs5()*Graph 5+66"jzFzƠxTm 2bb .t?@@ü?@@+ Untitled Graph3(4J]<@i?.]uuuuuuuuuuuuuuuuuutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsssssssssssssssssssssssssssrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqqqqqqqqqqqqqqppppppppppppppppoooooooooooonnnnnnnnnnnnnnnnnnmmmmmmmmmmllllllkkkkkkjjjjjiiiiiiiihhhhhhhhhhhhhggggffffeeeeddddccccbbbbaaaa````____^^^^]]]]\\\\[[[[ZZZZYYYYXXXXWWWWVVVVUUUUTTTTSSSSRRRRPPPPOOOONNNNMMMMLLLLKKKKJJJJIIIIHHHHGGGGFFFFEEEEDDDDCCCCBBBBAAAA@@@@????>>>>4Je J@i?.e~~~~}}}}||||{{{{zzzzyyyyxxxxwwwwuuuuttttssssrrrrqqqqppppoooonnnnmmmmllllkkkkjjjjiiiihhhhggggfff4Jf X@i?.f~~~~}}}}||||{{{{zzzzyyyyxxxxwwwwuuuuttttssssrrrrqqqqppppoooonnnnmmmmll4J f@p =q@Y. 2222227666666666666666666666666666666666666666666666666666666666666666666666667777777777777JEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGOSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTUTTTUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVyzzzzzzzzz{{{{{{{{{{{{{|||||||}}}}}}}~~~~~~~~~~~~~~~~WXYYZ[\]]^_``abcddefghhijkllmnoopqrsstuvwwxyz{{|}~~         !"#$$%&''()*++,-.//012334566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTTUVWXXYZ[\\]^_``abccdefgghijkklmnoopqrrstuvvwxyzz{|}~~" va, v'a ctHm?< 6 rf()*+, v'a a T  ()*+, v'a s7up()*+, v'a dy()*+, v'a aGh!mD>mm33ZZ>NVg>N()*+, v''a s?\P ()*+, v'a fWzDTO _C&( Kdd)*(B +, v'a aU!?==UPBU()*+, v'a c@F==3^| ()*+, v'a d,xDy()*+, v'a aB:~sZ   =_?()*+, v'a aP}/ N NIN()*+, v'a a8yyy 8H{\8()*+, v'a af~t355%% .k()*+, v'a a{ }`}()*+, v'a:D&"(naD4()*Table 3+660{{{{ƠxTm, 5dd+ƠȠ ֠??<düŁ + Untitled Table.6r$ 7"whO.w!7"vO.v!7" Q. !7"qO.q!a7"hN.h!7"rN.r!s7"|O.|!7"QO.Q!]7"OO.O!H8P " va, v'a dDxDy()*+, v'a sJv@:kq()*+, v'a sw? <p()*+, v'a d()*+, v'a fx *04 ()*($$+, v'a dJ[8KARSd()*+, v'a fJ}yeH0BBy?r(JcJ)*(/_/+, v'a d@Yy()*+, v'a dLY+CU()*+, v'a a{~uFF()*+, v'a a~v0D00DD()*+, v'a sPO;@q "h()*+, v'a dPG YG>YP()*+, v'a fPipY5n`dh(POP)*(PLP|+, v'a aS-9--{{;;VgYV()*+, v'a aQ!`Q]]__QLdbQ()*+, v'a cU t >()*+, v'a aP{{{ PKP()*+, v'a cPqu!C4]".k()*+, v'a a!888"Pv()*+, v'a cO|# \%'BCEx()*+, v''a a<#,,,%K()*+, v'a s,^0t:&B'()*+, v'a a@&#CCC'@;H@()*+, v'a faonly onc(  )*78j()*(+, v'a d(4) ()*+, v'a a(yyy*()*+, v'a sh+02;()*+, v'a dO- ,F(X()*+, v'a fi+ Y-ON,63(W)*(R+, v'a c!Nu f./37()*+, v'a a.0''/,()*+, v'a fjDepl0N+12/9(#)*(  &+, v'a d+0?1"(4()*+, v'a a$+0vfb2!(>!()*+, v'a a.-%%3*()*+, v'a a[]nd]]nn4Xs()*+, v'a s\5b689()*+, v'a aB5-Uj=fzSUU]]699G7~G()*+, v'a aS.(f47mm[)[()*+, v'a a5(}8()*+, v'a aS50Xa6/XXnn9//Y4Y()*+, v'a cck?: oE;=()*+, v'a aM+:Y];M([M()*+, v'a cr < =>%K()*+, v'a a:<5o =55b()*+, v'a ao<p@Mpp@@>MMoo()*+, v'a c?? %g@()*+, v'a aS?@YDxY()*+, v'a D6}A)jT()*Graph 6+662A {2 {2ơpxATm 2bb*8b?@@ü?@@+ Untitled Graph3 4JrF@Y@.r(((((((((((((((((((4JkT?@l.k$$$$$$$$$$$$$$$$$$$WXYYZ[\]]^_``abcddefghhijkllmnoopqrsstuvwwxyz{{|}~~         !"#$$%&''()*++,-.//012334566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTTUVWXXYZ[\\]^_``abccdefgghijkklmnoopqrrstuvvwxyzz{|}~~"A va, v'a a$#C CCB~H()*+, v'a aX$#CCCCXSHX()*+, v'a c}DJE()*+, v'a aD#H4oHHEM()*+, v'a a tq c  F  ()*+, v'a s\G}w()*+, v'a ctH  n()*+, v'a2D-Pforce_ToI =Kc()*Graph 7+66( Ij {x { ƞxITm$ 2bb#~ġ?@@ü?@@+ 1Untitled Graph3r4Jhҡ@D@.h4JY@D@.Y4J| ?Q@b.|6666666665655554443333222212111111000////.;;;;;;:;::::::99999+,+++++++++++******))))(((((((''''''&&&&%%%%%&%&&&%%%%%%%$$$$$$$$######""""""!!!!!!!   4Jr@Y@.r(((((((((((((((((((4J @I@p =q@I@b.~|}|{{z{zzzyxxxxwvvuuttuttsrrpolllkjihfeccaa`a`__^^^^]\\[ZZZZZZZYXXWVVUTTSTSSSSSSSSRSRRRQQQPQPQQPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQPPOONNNLLLKKKJIIIIHGHGGFFFEDDDDDCCBCBBBBAAAA@@@@?@??>???>>>=><<<;;;:9:9:998887776665666666555444443333322221110WXYYZ[\]]^_``abcddefghhijkllmnoopqrsstuvwwxyz{{|}~~         !"#$$%&''()*++,-.//012334566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTTUVWXXYZ[\\]^_``abccdefgghijkklmnoopqrrstuvvwxyzz{|}~~"I va, v'a s1;\>>J&BQ:<=()*+, v'a c<>>K wF&>@()*+, v'a d0ML|'9()*+, v'a fI M }(jFLO(8[)*(._+, v'a cz~Nm"P\]^()*+, v'a aMOPPOK()*+, v'a aAN{+ Y{{Pv~()*+, v'a c_Qu<g()*+, v'a csRLV()*+, v'a c$qSKBW()*+, v'a cP T#}()*+, v'a a B72BBU77   ()*+, v'a a{RR""VGGv()*+, v'a a{S((Wwwv$()*+, v'a c' saving XuI`a{()*+, v'a cforts (RY 9_bz()*+, v'a c%\<0ZJ]co()*+, v'a cwUJoxp[j)\d4()*+, v'a awN[IuIIuu\wp|Nw()*+, v'a aoNZ!!!]ot&o()*+, v'a ccNp^2_`()*+, v'a aW^Y_W\W()*+, v'a aY^X///`Y*^Y()*+, v'a a~XUincca}^!}()*+, v'a aYb ()*+, v'a aZvn)vvUUc11$()*+, v'a a['@"''dMtP()*+, v'a c)enh()*+, v'a af ()*+, v'a aQX2XXg]()*+, v'a aeih()*+, v'a c::i hl()*+, v'a aTkup8@(ppj88TT()*+, v'a c!3hzkbsj()*+, v'a aiu/ l//()*+, v'a cng stream x"pr()*+, v'a aHdn()*+, v'a aZ1c211o,()*+, v'a am0 ..p3()*+, v'a chq3rsF()*+, v'a aqm%r%% ()*+, v'a aV7kq6{l66s{{V7V7()*+, v'a ct  wxyFH()*+, v'a c.Q^u/jlv()*+, v'a a&1uD==v""()*+, v'a aGtӖg6nw ()*+, v'a a-q#tD3ADDx33-qU -q()*+, v'a a t.p+@++y0()*+, v'a aJYYzJYJY()*+, v'a ajX[xS[[xx{SSj]+j()*+, v'a sV6|:*r}()*+, v'a aB|.F2}B GB()*+, v'''''a s7$override(()*+, v'''''''''a aRiiin()*+, v'a aSiii n()*+, v'''a li3"HzOS()*+, vdrmda++!+++ + + + 1++N+66"^{{Tm 2bbJX?@@ü?@@+ Untitled Graph3(4Jf?Q@b.~~}}}}||{{{zyzzyxvvuuutttttssrrrqrqqppppoonnmmmmmmmmlllkkkkkkkjjiiiiihhhhgggghggfffffedcba```__^_^^^^]]^]]\[[[[ZZZZZYYYXXXXWWWVVVVVUUTTSRQPPPOONMLKJIIIIHHHGGGGFFFEEEDDDDDDCCBBAAA@@@@@@@@@@???????>?>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>??>>>====<<;;;;:::9999988887776665655555544444433333232222222211110000////./.....----,,,,,,,,,,,,++++++*+******))))4Jt?Q@b.}}}}}}}~~~~~~~~~4J ?Q@b..........////////00000000011111111122222222223333333334444444444455555555556666666666777777878777878888888899999:::;;;<<<<<<===>>>????@@@A@@@@@@@@@@@A@AAAAAABBBCBBCCCDCDDCCCCCCBBBCBCBBCCCDCCCCDDDDDDEEEEFFFEEEEEEFFFFFFFFFGGGGGGHHGHHHHHHHHIIIIIIIIIIJJJJKKJKKKKLKKKKLLLLLMMLMLMMMMMNNNNNOOONNOOONOOOOONNOOOOOOOONNOOOONNNNNNNNNNMMLLLMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNOOOOOOOOOPPPPPPPPPPPPQQPPPOPPPPPPPPPPQQQQQQRRRRRRRRRRRSSSSSSSSSTSTTTTTTTTUUUUUUUUUUTTTUUUUUUUUVVVVVVVVVWWWWWWWWWXWWWVVVVWWWWVWWWWWWWWWWWWWWX4Jr@Y@.r(((((((((((((((((((WXYYZ[\]]^_``abcddefghhijkllmnoopqrsstuvwwxyz{{|}~~         !"#$$%&''()*++,-.//012334566789::;<=>>?@ABBCDEEFGHIIJKLMMNOPQQRSTTUVWXXYZ[\\]^_``abccdefgghijkklmnoopqrrstuvvwxyzz{|}~~" a, 'a D ()* Graph 10+ , '''aJu@?`*/()*+-hh ??./01" " , 'a tY F a()*GFSimulate the impacts process improvements and personality mixes have on the software lifecycle and on each other. For personality mix settings, select values for whether you actively hire Pro-SPI people or let the system attract them, and your initial ratio of Pro-SPI personality types to Con SPI personality types. For setting your process improvement process, select values for the ROI benefit for each minor suggestion, the number of suggestions made per Pro-SPI person, and the percent of suggestions a project implements that were learned from outside projects. Finally, set the CUT OUT flag if you want to model the impact of having a separate staff that pilots, deploys and communicates lessons across projects or if you want that extra staff to be CUT OUT and just model individual projects piloting their major SPIs one at a time. You can see the final quanties of the lifecycle process (effort, error rate, etc) and the staff personality mixes of number of Pros, Cons, and No Cares. You can also see graphs of how those values changed over time by clicking the graphs.+, drmd#$%2cN@??@?@?@????????~?Minor_Sug_ROI_Cyclermod(int(Cum_Minor_Sugs),4)+1      ,    !This convertor will cycle through values of 1, 2, 3, 4 for all values of suggestions so that the ROI will be rotated in Size, Effort, Error, and Schedule order (TCM then PCM). This is what the SEL reported." #$%2(cpQ?(\)??(\)?(\)?(\)l????Size_Major_ROIqqif (Total_Major_SPI=11 or Total_Major_SPI=44) and derivn(Total_Major_SPI,1) <> 0 then Total_Major_SPI/100 else 0,l\ ,   , ,   ,          , d    !mmAt this early prototype, I hardcoded the 11 and 44 percent values as the values to look for when improving size. Also, we need to use the derivative function to ensure each ROI is accumulated only once - not every DT. Also, scale the ROI by 100 so the percent is now a decimal to be used in the lifecycle sector. See how the real work is in researching what the Major SPIs ROI was and what lifecycle metric (size, error rate, etc) it really affected (drove). Then you just put in those percent ROI numbers here as flags. Effort Major ROI and Error Major ROI are the same. There were no Schedule Major ROIs modeled." #$%2(cnR?Q??Q?Q?Q????Effort_Major_ROIooif(Total_Major_SPI=7 or Total_Major_SPI=28) and derivn(Total_Major_SPI,1) <> 0 then Total_Major_SPI/100 else 0,m\ ,   ,    ,          , d    !" #$%2,ctS?bM??bM?bM?bM????Error_Major_ROIuuif (Total_Major_SPI=6.4 or Total_Major_SPI=25.6) and derivn(Total_Major_SPI,1) <> 0 then Total_Major_SPI/100 else 0,nl , = @   , = @9    ,          , d    !" #$%2cT?????Schedule_Major_ROI0 !" #$%2$c]X?tzG{??tzG{?tzG{?tzG{?tzG{?tzG{o?????tzG{Size_Minor_ROI^^if Minor_Sug_ROI_Cycler=1 and derivn(Minor_Sug_ROI_Cycler,1) <> 0 then Minor_ROI_%/100 else 0~5lL ~   ~          5 d    !ppWe will cycle minor SPI ROI across the 4 dimensions of size, effort, errors and schedule in that order. This is the sequence the SEL reported when a major SPI occurred. The Cycler variable goes from 1 to 4. When it is 1 and only when there is a change (to avoid repetitively adding in the same value) we add a constant Minor ROI% improvement for each minor SPI. " #$%2$c]Y?tzG{??tzG{?tzG{?tzG{????Effort_Minor_ROI^^if Minor_Sug_ROI_Cycler=2 and derivn(Minor_Sug_ROI_Cycler,1) <> 0 then Minor_ROI_%/100 else 0~5mL ~   ~          5 d    !" #$%2$c]Z?tzG{??tzG{?tzG{?tzG{????Error_Minor_ROI^^if Minor_Sug_ROI_Cycler=3 and derivn(Minor_Sug_ROI_Cycler,1) <> 0 then Minor_ROI_%/100 else 0~5nL ~   ~          5 d    !" #$%2$c^[?tzG{??tzG{?tzG{?tzG{????Schedule_Minor_ROI__if Minor_Sug_ROI_Cycler=4 and derivn(Minor_Sug_ROI_Cycler,1) <> 0 then Minor_ROI_%/100 else 0~5oL ~   ~          5 d    !" #$%2c @i@׮3?vQ?@?@ R9?)Zr@׮3?vQ@]6nU@]6nU???@KZ?@]6nULow_Fruit_DelayPercent_Complete*100QXX@$@4@>@D@I@N@Q@T@V@YXX@@@ Gz?zG{?333333??333333?zG{@ Gz@@  Q d  !We want to regulate the flow of Minor SPIs by a normal distribution of waiting time. This will model the low hanging fruit phenomena where cumulative SPIs resemble an S curve. Start slow, fast ramp up, then since you did all of the easy ones, the remaining take a while to think up." #$%2c"m ????????????Discrete_Sug_Control##if Discrete_Sugs = 0 then 1 else 0Y$         !Only send out a suggestion when the Discrete Sug modulo counter is zero - when the time counter matches the suggestion frequency." #$%2#c [q@@?@@@@@@?????Discrete_Sugs\\if (Sug_Frequency<= 1) then round(mod(Time_Less_Cum_Sched ,round(1/Sug_Frequency))) else 0qH      q      ,      !IF the frequency is <= 1 per week, then send a 1 when the remainder of the time counter divided by the frequency is 0. E.g., if the project cycle is 100, and the suggestion frequency is .2 per DT (20 total suggestions / 100 CT), then 100 mod 1/.2 is 100 mod 5. So send out a suggestion every 5th DT (when 100 mod 5 is zero - the rounding sets the other 4 (1/5, 2/5, 3/5) to one). " #$%2cFu?????????Low_Fruit_RegulatorGG if mod(Time_Less_Cum_Sched,round(Low_Fruit_Delay)) = 0 then 1 else 0 qZ8 q    ,         !" #$%2c t@Z?=%{sq?@Vtj?@GH?=%{sq@Z?=%{sq@Z@Z????>},?@ZSug_FrequencySuggestions_Per_Cycle/Schedule| YZ  |   !This is the amount of suggestions made every DT. This will be used by Discrete Sugs to release a discrete suggestion (value = 1) at the proper DT rather than constantly release a partial sug (<1) every DT." #$%  vaModel_Template99AliasRecord::Pathname;; ;: ,,9HP4:yy     ~   JJ   drmd  T Panel<< ~l  < JJ   drmd     ~   JJ   drmd ~B Sector_Specs==8T Sense_Setup>>bbdtyyyF L(select_struct_array??allow_struct_array@@Picture_arrayAAEntity_Controller_MapBB.}"  Section_ListCCFont_MapDDFont_Map_Record_ArrayEEFont_Map_RecordFFArialFArialFArialCWindow_ListGG  Model_WindowHH nPad_WindowII #+H I  +cI  +I  +!I  +I  + I  + I  + I  + 1I  +I  + I +NTImportExportJJ"xEmI