case modeling an accepted widespread technique to capture the business processes requirements a stware project. Since use cases provide the functional scope the project, analyzing their contents provides valuable insight into the efft size needed to design implement a project. In general, projects with large, complicated use cases take me efft to design implement small projects with complicated use cases. Meover, the time to complete the project affected by the following: number to complete the use case. number complexity the acts. technical requirements the use case such as concurrency, security, perfmance. Various environmental facts such as the development teams experience knowledge. An estimation method that took into account the above facts early in a project s life cycle, produced an estimate within 2 percent the actual completion time would be very helpful f project scheduling, cost, resource allocation. Points (UCP) method provides the ability to estimate the manhours a stware project requires from its Project Estimation With Points Stware developers frequently rely on use cases to describe the business processes object-iented projects. Since use cases const the strategic goals s that provide value to a business domain, they can also provide insight into a project s complexity required resources. Th article provides an introduction to the Points method that employs a project s use cases to produce a reasonable estimate a project s complexity required man-hours. 1: Categies use cases. Based on wk by Gustav Karner [1], the UCP method analyzes the use case acts, s, various technical environmental facts abstracts them into an equation. Readers familiar with Allan Albrecht s Function Point Analys [2] will recognize its influence on UCP; function point analys inspired UCP. UCP equation composed variables: 1. Unadjusted Points (UUCP). 2. ity Fact (TCF).. Environment ity Fact (ECF). Each variable defined computed separately using weighted values, subjective values, constraining constants. weighted values constraining constants were initially based on Albrecht, but subsequently modified by people at Objective Systems, LLC, based on their experience with Objecty a methodology created by Ivar Jacobson f developing object-iented s []. subjective values are determined by the development team based on their perception the project s technical complexity efficiency. Additionally, when productivity included as a coefficient that expresses time, the equation can be used to estimate Categy 1: Categies a. Me me Between four me Me me Roy K. Clemmons Diversified Services, Inc. the number man-hours needed to complete a project. Here the complete equation with a Productivity Fact (PF) included: UCP = UUCP * TCF * ECF * PF necessary to generate the estimate based on the UCP method are the following: 1. Determine compute the UUCPs. 2. Determine compute the TCFs.. Determine compute the ECFs. 4. Determine the PF. 5. Compute the estimated number hours. Sample Study In the sections that follow, the UCP method retroactively applied to a Web developed by the auth. Th after-the-fact approach provides a practical way to establh a baseline PF f projects already completed. As described later, the PF helps determine the number man-hours needed to complete the project. UUCPs UUCPs are computed based on computations: 1. Unadjusted () based on the total number activities ( ) contained in all the use case s. 2. Unadjusted Act () based on the combined complexity all the acts in all the use cases. derived from the number use cases in categies: simple, average, complex (see 1). Each use case categized by the number its contains, including alternative flows. Keep in mind the number in a affects the estimate. A large number in a use case will bias the toward complexity increase the UCPs. A small number will bias the toward simplicity decrease the UCPs. Sometimes, a 18 CROSSTALK Journal Defense Stware Engineering February 26 5
1: Categies Project Estimation With Points large number can be reduced without affecting the business process. calculated by tallying the number use cases in each categy, multiplying each total by its specified weighting fact, then adding the products. F example, 2 computes the f the sample case study. In a similar manner, the Act s are classified as simple, average, complex as shown in. calculated by totaling the number acts in each categy, multiplying each total by its specified weighting fact, then adding the products. 4 computes the f the sample case study. UUCP computed by adding the the. F the data used in s 2 4, the UUCP = 2 + = 222. UUCP unadjusted because it does not account f the TCFs ECFs. TCFs Thirteen stard technical facts ext to estimate the impact on productivity that various technical sues have on a project (see 5, page 2). Each fact weighted accding to its relative impact. F each project, the technical facts are evaluated by the development team assigned a perceived complexity value zero. perceived complexity fact subjectively determined by the development team s perception the project s complexity concurrent s, f example, require me skill time -threaded s. A perceived complexity means the technical fact irrelevant f th project, average, 5 strong influence. When in doubt, use. Each fact s weight multiplied by its perceived complexity fact to produce the calculated fact. calculated facts are summed to produce the Fact. 6 (see page 2) calculates the technical complexity f the case study. Two constants are computed with the Fact to produce the TCF. constants constrain the effect the TCF on the UCP equation from a range.6 (perceived complexities all zero) to a maximum 1. (perceived complexities all ). TCF values one reduce the UCP because any positive value multiplied by a positive fraction decreases in magnitude: *.6 = 6 (a reduction 4 percent). TCF values greater one increase the UCP because any positive value multi- Categy Categy s a 5 7 5 a 5... Me 1 1 me Me Me Between four me me Between Between four four 45 me Me me me me Me Me 2 me me 2: 2: Computing Computing 1: Categies plied Act by a positive mixed number increases F the rest us, a me digestible equa- in magnitude: act * 1. = 1 (an tion : with a defined 1 increase percent). Since the constants constrain act the TCF from a TCF =.6 + (.1 * a 2 Fact) s s range.6 to 1., the TCF Transmsion can impact the UCP equation from - 4 percent (.6) to a maximum + percent F a 5 6, the TCF 7 =.6 + (.1 5 5 * 19.5) (1.). act a person =.795, a graphical resulting in a reduction the UCP by F the mathematically.. astute, the 2.5 percent. complete : fmula Act Classifications to compute the TCF : ECFs Me Me 1 1 1 1 1 Act TCF me = C1 + C2 Wi * F1 me Between Between four fourecf (see 7, page 21) provides a i=1 concession f the development team s where, experience. Me experienced Acts teams will act have a greater 1 impact on the UCP 45 45 compu- experienced teams. Constant 1 (C1) with =.6 a defined me me tation Constant 2 (C2) =.1 Me Me development team determines W = act me me each fact s 2 perceived impact based on its F = Perceived ity Facta perception the fact on the project s Transmsion 2 2 : 2: 2: Act Computing Computing Classifications act a person an 4 Act Act act with defined act with a defined 1 4: Computing act act a 2 Transmsion Transmsion act act a person person a graphical graphical : : Act Act Classifications Classifications 4: Computing Act Act Acts Acts act act 1 with with a defined defined act act 2 a Transmsion Transmsion act act a person person an an 4 4: 4: Computing Computing February 26 www.stsc.hill.af.mil 19
A New Twt on Today s Technology Fact T1 Dtributed System 2 T2 Perfmance 1 T End r Efficiency 1 T4 Internal Processing 1 T5 Reusability 1 T6 Easy to Install.5 T7 Easy to.5 T8 Ptability 2 T9 Easy to Change 1 T Concurrency 1 T11 Special Security Features 1 T Provides Direct Access f Third Parties 1 T1 Special r Training Facilities Are Required 1 5: ity Facts ECF = 1.4 + (-. * Environmental Fact) F the sample case study, the auth s stware development experience resulted in a high ETF. most significant negative fact was the auth s lack experience in the domain. F 8, the ECF = 1.4 + (-. *26) =.62, resulting in a decrease the UCP by 8 percent. Calculating the UCP As a reminder, the UCP equation : UCP = UUCP * TCF * ECF From the above calculations, the UCP variables have the following values:. A 5: value 1 means ity the fact Facts stants, based on interviews with experienced UUCP = 222 a strong, negative impact f the project; average; 5 means it a strong, Objecty s at Objective Systems [1], constrain the impact the TCF =.795 ECF =.62 positive impact. A value zero no ECF on the UCP equation from.425 impact on the project s. F example, team members Factwith little no moti- Programming Language =, all other val- the following: ity Calculated Fact (Part-Time Wkers Difficult F the Perceived sample case study, the final UCP vation f the project will have a strong ues = 5) to 1.4 (perceived impact all ). (* negative impact (1) on the project s refe, the ECF can reduce the UCP UCP = 222 *.795 Perceived *.62 while team members with strong by 57.5 percent increase the UCP by ity) object-iented experience will have a 4 percent. UCP = 9.42 9 use case points strong, positive T1 impact (5) on Dtributed the project s System ECF a greater potential impact on 2 1 2. T2 Perfmance the UCP count the TCF. fmal 1 Note f the sample case study, the TCF Each fact s T weight multiplied End r by Efficiency its equation : 1 ECF reduced the UUCP by approximately 49 perceived impact to produce its calculated percent (9/222*). 8 T4 Internal Processing 1 fact. calculated facts are summed ECF = C1 + C2 Wi * F1 By itself, the UCP value not very i=1 to produce the T5Environmental Reusability Fact. 1 useful. F example, a project with a UCP Larger values T6 f the Environment Easy to Install where,.5 222may take longer one with a Fact will have T7a greater impact Easy on the to UCP.5UCP 52, but we do 2.5 not know by how equation. Constant 1 (C1) = 1.4 much. Another fact needed to estimate the T8 Ptable 2 8 calculates the environmental Constant 2 (C2) = -. number hours to complete facts f the T9case study project. Easy to Change W = 1 the project. To produce Tthe final ECF, Concurrency constants aret11computed Special with Security the Features 1 PF F = Perceived Impact 1 Environmental Fact. con- Infmally, the equation wks out to be: PF the ratio development man-hours T Provides Direct Access f Third Parties 1 needed per use case point. Stattics from past 6: Calculating T1 the Special Fact r Training Facilities Are Required 1 projects provide the data to estimate the initial PF. F Fact instance, 19.5 if a past project Fact T1 Dtributed System 2 T2 Perfmance 1 T End r Efficiency 1 T4 Internal Processing 1 T5 Reusability 1 T6 Easy to Install.5 T7 Easy to.5 T8 Ptability 2 T9 Easy to Change 1 T Concurrency 1 T11 Special Security Features 1 T Provides Direct Access f Third Parties 1 T1 Special r Training Facilities Are Required 1 5: ity Facts Fact 6: Calculating the Fact Perceived ity Calculated Fact (* Perceived ity) T1Environmental Dtributed System 2 1 2 T2Fact Perfmance 1 T End r Efficiency 1 T4E1 Internal Processing Familiarity With UML* 1 1.5 T5E2 Reusability Part-Time Wkers 1-1 T6 Easy to Install.5 T7 E Easy to Analyst Capability.5 5 2.5.5 T8E4 Ptable Application Experience 2.5 T9 E5 Easy to Change Object-Oriented Experience 1 1 T Concurrency 1 T11 E6 Special Security Features Motivation 1 1 T E7 Provides Direct Access Difficult f Programming Third Parties Language 1-1 T1 E8 Special r Training Stable Facilities Requirements Are Required 1 2 Fact 19.5 with a UCP took 2,2 hours to complete, divide 2,2 by to obtain a PF 18 man-hours per use case point. Estimated Hours total estimated number hours f the project determined by multiplying the UCP by the PF. Estimate = UCP * PF If no htical data been collected, consider possibilities: 1. Establh a baseline by computing the UCP f previously completed projects (as was done with the sample case study in th article). *Note: Karner's iginal fact, "Familiar with Objecty," was changed to reflect the popularity UML. 6: Calculating the Fact 2 CROSSTALK Journal Defense Stware Engineering February 26 Environmental
Tota 2. a value depending on the development team s overall experience past accomplhments (Do they nmally finh on time? Under budget? etc.). If it a br-new team, use a value 2 f the first project. After the project completes, divide the number actual hours it took to complete the project by the number UCPs. product becomes the new PF. Since the sample case study presented in th article actually took 99 hours to complete, the PF f the next project : 99/9 = 9.8 Industry Studies From the time Karner produced h initial rept in 199, many case studies have been accomplhed that validate the reasonableness the UCP method. In the first case study in 21, Suresh Nageswaran publhed the results a UCP estimation efft f a product suppt Web site belonging to large Nth American stware company [4]. Nageswaran, however, extended the UCP equation to include testing project management coefficients to derive a me accurate estimate. While testing project management might be considered non-functional requirements, neverthe they can significantly increase the length the project. Testing a Java 2 Enterpre Edition, f example, may take longer testing a Component Object Model component; it not unusual to spend significant time codinating, tracking, repting project status. Nageswaran s extensions to the UCP equation produced an estimate 67 man-days, a detion 6 percent the actual efft 9 man-days. In a recent e-mail exchange with th auth, Nageswaran said he had also applied the UCP method to perfmance testing, unit-level testing, white box testing. In the second case study, research scientt Dr. Bente Anda [5] evaluated the UCP method in case studies from several companies student projects from the 6: Calculating the Fact Environmental Fact 7: Environmental ity Facts that was within 17 percent the actual efft. In the third case study, Agil Solutions FPT Stware partnered to produce an estimation method, based on the UCP method that produces very accurate estimates. In an article that was presented at the 25 Object-Oriented, Programming, Systems, Languages, Applications conference, Edward R. Carroll Agil Solutions stated: After applying the process across hundreds sizable (6 manmonths average) stware projects, we have demonstrated metrics that prove an estimating accuracy 9 percent detion from actual to estimated cost on 95 percent Project Estimation With Points E1 Familiarity With UML* 1.5 E2 Part-Time Wkers -1 E Analyst Capability.5 E4 Application Experience.5 E5 Object-Oriented Experience 1 E6 Motivation 1 E7 Difficult Programming Language -1 E8 Stable Requirements 2 *Note: Karner's iginal fact, "Familiar with Objecty," was changed to reflect the popularity UML. 8: Calculating the Environmental Fact our projects. Our process th fact are documented over a period years, across me 2 projects. [7] To achieve greater accuracy, the Agil Solutions/FPT Stware estimation method includes a rk coefficient with the UCP equation. Conclusion An early project estimate helps managers, developers, testers plan f the resources a project requires. As the case studies indicate, the UCP method can produce an early estimate within 2 percent the actual efft, ten, closer to the actual efft experts other estimation methodologies [7]. Meover, in many traditional estima- Environmental Perceived Calculated Fact Environmental Fact Perceived ImpactCalculated (*Perceived Fact Fact Impact (*Perceived ity) E1 Familiarity With UML 1.5 5 ity) 7.5 E2 E1 Familiarity Part-Time With Wkers UML 1.5-1 5 7.5 E E2 Part-Time Analyst Capability Wkers -1.5 5 2.5 E Analyst Capability.5 5 2.5 E4 Application Experience.5 E4 Application Experience.5 E5 Object-Oriented Experience 1 5 5 E5 Object-Oriented Experience 1 5 5 E6 Motivation 1 5 5 E6 Motivation 1 5 5 E7 E7 Difficult Difficult Programming Programming Language Language -1-1 E8 Stable Stable Requirements Requirements 2 2 6 6 Environmental Environmental Fact Fact 26 26 8: Calculating the the Environmental Fact Fact 9: Studies Company Project Expert Expert Actual ActualDetion Detion Detion Detion Nwegian University Science Estimate Estimate Estimate Efft Efft Expert Expert Estimate Technology that varied across Estimate Estimate Estimate domains, development tools, team size. Mogel AA 2,55 2,55 2,7 2,7,67,67-1% -1% -26% -26% Mogel B 2,7 2,4 2,86-5% -18% results are shown in 9. Mogel B 2,7 2,4 2,86-5% -18% Mogel C 2,8 2, 2,74-24% -2% F the above studies, the average UCP estimate 19 percent; the average expert estimate Mogel C 2,8 2, 2,74-24% -2% CGE Y A,81 7,,4 +8% -% CGE Y A,81 7,,4 +8% -% 2 percent. CGE Y B 14,965,6, +25% +5% CGE Y B 14,965,6, +25% +5% Additionally, at the 25 International IBM A 4,86 2,772,6 +22% -18% IBM Conference on Stware Engineering, Student Project AA 666 4,86 2,772 742,6 -% +22% -18% Student Anda, et al. [6] presented a paper that Project BA 487666 96 742 +2% -% Student described the UCP estimate an incre- Project CB 488487 67 96-25% +2% mental, large-scale development project Student Project C 488 67-25% 9: Studies 9: Studies February 26 www.stsc.hill.af.mil 21
A New Twt on Today s Technology Get Your Free Subscription Fill out send us th fm. 9 SMXG/MXDB 622 Fir Ave Bldg 8 Hill AFB, UT 8456-582 Fax: (81) 777-869 DSN: 777-869 Phone: (81) 775-5555 DSN: 775-5555 Or request online at www.stsc.hill.af.mil NAME: RANK/GRADE: POSITION/TITLE: ORGANIZATION: ADDRESS: BASE/CITY: STATE: Z IP: PHONE:( ) tion methods, influential technical environmental facts are not given enough consideration. UCP method quantifies these subjective facts into equation variables that can be tweaked over time to produce me prece estimates. Finally, the UCP method versatile extensible to a variety development testing projects. It easy to learn quick to apply. auth encourages me projects to use the UCP method to help produce stware on time under budget. References 1. Karner, Gustav. Resource Estimation f Objecty Projects. Objective Systems SF AB, 199. 2. Albrecht, A.J. Measuring Application Development Productivity. Proc. IBM Applications Development Symposium, Monterey, CA, 14-17 Oct. 1979: 8.. Jacobson, I., G. Booch, J. Rumbaugh. Objecty Development Process. Addon-Wesley, 1998. 4. Nageswaran, Suresh. Test Efft Estimation Using Points. June 21 <www.cognizant.com/cog community/presentations/test_ Efft_Estimation.pdf>. 5. Anda, Bente. Improving Estimation Practices By Applying Models. June 2 <www.cognizant. com/cogcommunity/presentations/ Test_Efft_Estimation.pdf>. 6. Anda, Bente, et al. Efft Estimation s f Incremental Large- Scale Stware Development. 27th International Conference on Stware Engineering, St Lou, MO, -21 May 25: -11. 7. Carroll, Edward R. Estimating Stware Based on Points. 25 Object-Oriented, Programming, Systems, Languages, Applications (OOPSLA) Conference, San Diego, CA, 25. About the Auth Roy K. Clemmons an employee Diversified Services, Inc. He me 2 years experience in stware design development. Currently, he contracted to the Retrieval Applications Group at Rolph Air Fce Base, Texas, where he wks on the Virtual Military Personnel Flight the Retrieval Applications Web site. Diversified Services, Inc. 4 E Ramsey STE 22 San Antonio,TX 78216 Phone: (2) 565-1119 E-mail: roy.clemmons.ctr@ rolph.af.mil FAX: ( _ ) E-MAIL: CHECK BOX(ES) TO REQUEST BACK ISSUES: OCT24 PROJECT MANAGEMENT NOV24 SOFTWARE TOOLBOX DEC24 REUSE JAN25 OPEN SOURCE SW FEB25 RISK MANAGEMENT MAR25 TEAM SOFTWARE PROCESS APR25 COST ESTIMATION MAY25 CAPABILITIES JUNE25 REALITY COMPUTING JULY25 CONFIG. MGT. AND TEST AUG25 SYS: FIELDG. CAPABILITIES SEPT25 TOP 5 PROJECTS OCT25 SOFTWARE SECURITY NOV25 DESIGN DEC25 TOTAL CREATION OF SW JAN26 COMMUNICATION To Request Back Issues on Topics Not Lted Above, Please Contact <stsc. customerservice@hill.af.mil>. MORE ONLINE FROM CROSSTALK ThCrossTalk pleased to bring you th additional article with full text at <www.hill.af.mil/crosstalk/26/2/index.html>. Hard Skills Simulations: Tackling Defense Training Challenges Through Interactive -D Solutions Josie Simpson NGRAIN Cpation defense industry today faces a number challenges around skills training, primarily driven by an increased pace operations, the growing need to crosstrain technical personnel to meet msion objectives, ever-shrinking training budgets. Combined, these challenges can be daunting; but they can be overcome the insertion advanced technologies in instructional programs. Until recently, the use -dimensional (- D) in hard skills training was limited to high-end s such as flight simulats. Today, new technologies have been introduced that remove the traditional barriers to -D, allowing interactive -D to be used in lower-end s, including maintenance training. Hard skills simulations, most notably -D virtual equipment, provide an innovative new way to cost-effectively train students to stard in time on maintenance procedures repair tasks, while simultaneously helping to improve perfmance in the field on-the-job training aids. result reduced costs a higher level preparedness, ultimately saving lives. 22 CROSSTALK Journal Defense Stware Engineering February 26