Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315M14.

Similar presentations


Presentation on theme: "CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315M14."— Presentation transcript:

1 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315M14 Slide 1 January 11, 2004 SMU CSE 7315 / NTU SE 584-N Planning and Managing a Software Project Module 14 Size Estimating Notes and Reuse

2 CSE7315M14 Slide # 2 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Objectives of This Module To discuss some general points about size estimating To discuss how to deal with reuse when estimating

3 CSE7315M14 Slide # 3 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Detailed Planning - Processes Estimate Schedule Evaluate Source Information Statement of Work Requirements Constraints Standards Processes History etc. WBSSize Effort & Cost ScheduleOK Complete Detailed Planning Revise & Negotiate Not OK Estimate Size Estimate Effort and Cost

4 CSE7315M14 Slide # 4 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved What Method if No Data? What if you have absolutely no data on the code to be written? – no prior experience – no expertise available You may be able to try something like function points if you know the functional requirements Or wideband Delphi Or just count requirements

5 CSE7315M14 Slide # 5 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Risk Management The less you know when estimating, the more you need to plan on several updated estimates as you learn more

6 CSE7315M14 Slide # 6 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved What About Non-Software WBS Tasks that do Not Influence Size? Some of these may depend on size – Number and size of documents required – Management costs – Number of reports – Magnitude of support functions – Cost of inspections Such tasks will be estimated (for effort or cost) AFTER size is estimated (see later)

7 CSE7315M14 Slide # 7 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved What about Non-software WBS Tasks that do Not Influence Size? (continued) Other tasks may be independent of size but dependent on effort or headcount – Number of workstations – Number of copies needed for compilers, tools – etc.

8 CSE7315M14 Slide # 8 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Other Non-Software WBS Tasks Some tasks may be independent of size or effort – Travel to attend reviews and meetings with customer – Legal fees for setting up contracts – etc. All of these non-software tasks will be addressed during effort and cost estimating

9 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Final Notes 1) Use more than one method and resolve discrepancies – No method is reliable enough in most cases – When two methods disagree, it tells you you are missing some facts Method 1 Wideband Delphi Resolution? Method 3 Method 2 Statistical Analysis OK (Revise Estimates) Not OK

10 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Final Notes (continued) 2) Include data declarations in size estimates 3) Include all functions - many are easy to overlook or underestimate – Control – Power up – Power failure – Diagnostics – Operating Systems

11 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Final Notes (continued) 4) Select products (software items) carefully – Simplify interfaces – Minimize impact on support & maintenance – Fit the hardware in a reasonable fashion – Size should be manageable – One geographic area (preferably one organization) for development – Allow incremental builds Continued...

12 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Final Notes (continued) 4) Select products (software items) carefully – Consider design and documentation requirements – Too many SIs results in management overhead and potentially higher cost – Too few SIs increases risk (less visibility; harder to test; harder to maintain)

13 CSE7315M14 Slide # 13 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved 5) Don’t under-scope what you don’t understand – built-in test requirements – control panels – displays –..... Final Notes (continued) The biggest estimating errors are errors of ignorance “I didn’t realize that this part of the software was so complex.”

14 CSE7315M14 Slide # 14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Final Notes (continued) 6) Consider the design methodology carefully – newer methods can be more productive – but older ones often have less risk due to experience, availability of tools, etc.

15 CSE7315M14 Slide # 15 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Final Notes (continued) 7) Account properly for reuse – do it - reuse can save lots of money – don’t consider it to be free

16 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Spreadsheet CoCoMo Based Effort Estimate Other Effort Estimates... Size / Reuse EffortEffort & Cost Schedules Final Effort Estimate Productivity Based Effort Estimate Generic Schedule Effort Schedule Labor Schedule Cost Schedule Analogy based Size Estimate Software Reuse Analysis Other Size Estimates... Final Size Estimate Expert Based Size Estimate

17 CSE7315M14 Slide # 17 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Dealing with Reuse Many software programs are derived from previous programs This MAY result in savings of cost and/or time It MAY also result in increased quality BUT Reuse can also cost more and take longer and yield lower quality

18 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Quality = x Reused: Quality = x New: Quality = y Old SoftwareNew Software Quality of new software depends on x and y. If old software has poor quality it brings down the quality of the new software. But if it has high quality, it brings quality up. Reuse Quality Diagram

19 CSE7315M14 Slide # 19 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved What Can be Reused?......Just About Anything Code Test Code Test Cases and Procedures Documentation Design Specifications Designs

20 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Reuse is Almost Never “Free” Because you seldom have everything you need – You typically need to create tests or documents or other things And you need to design the software to incorporate the “reused” components And you need to integrate the “reused” components with everything else

21 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Reuse Terminology Legacy Code Code developed for a previous application & BELIEVED TO BE OF USE for new application Modified Code Code developed for a previous application that is suitable for a new application after a MODEST AMOUNT OF MODIFICATION Reused Code Code developed for previous application suitable WITHOUT CHANGE OF ANY KIND

22 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Legacy Code vs. Reusable Code Legacy Code Designed for a Specific Application Lax Standards for – Documentation – Test Procedures – Test Cases Like looking in a junkyard to find something of use Reusable Code Designed for Several Applications Good Standards for – Documentation – Test Procedures – Test Cases Like looking in a library to find something of use

23 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Documenting Reuse Estimates The total LOC column is total delivered lines of code This could be applied equally to function points or other measures

24 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved How Do You Count How Much of a Component is Modified or Reused? Consider Component #4 and Component #5 on the previous slide A Rule of Thumb: – Go to the smallest level known Unit or module (typically about 100 LOC) – If the unit is not changed, it is “reused” – If the unit is changed, it is “modified” – If more than 50% of the unit is changed, it is “new”

25 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Incorporating Several Distinct Kinds of Modified Code

26 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Total Delivered Size Conversion Process Equivalent Size Reuse Information Calculating the Benefit of Reuse After estimating size, and before estimating effort, you must convert reused code to “equivalent” new code

27 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved How Do You Convert? The conversion factor is based on how much less effort you will expend for reused or modified code than for new code Assuming you have historical justification of the conversion factors, you can do a simple calculation

28 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Conversion Factor Example Equivalent size can be estimated directly via “reuse factors,” e.g.: – Reused code takes about 30% as much effort as new code – Modified code takes 60% as much effort as new code

29 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Example Concluded This says that the total effort to develop these 5121 lines of code will be comparable to that of producing 3567 lines of new code. The same approach can be used for function points or other measures of software size.

30 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Where Did Those “Reuse Factors” Come From? Experience! – Over many hundreds of projects – But these are averages, and they vary a lot Your experience may vary from mine – You must keep track in order to know Different kinds of modified code may have different factors

31 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Typical Reuse Factors (*) See later slides for information on concurrent reuse

32 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved We Can Get More Accurate If we are willing to look more closely at the – Process & – Reuse Characteristics, Then we can gain a deeper understanding of the reuse impact We can also use this information to calculate the reuse factors used in the previous example

33 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved First Examine the Process List the steps of the process Then determine the % of the total effort expended in each step, when developing new code Note that this is effort, not time Example:

34 CSE7315M14 Slide # 34 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Next Develop a Factor to Represent the Reuse Benefit in Each Process Step Require- ments DesignCode and Unit Test Integrat ion Relative Effort 18%25% 32% Reuse Factor 10%15%5%75% Modified Factor 40%35%55%80%

35 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved For Example … Let RM be the % of the requirements effort for this reused software – We must analyze requirements to see if reused code can be used Let DM be the % of the design effort for this reused software – We may have to plan to test the software and maybe design the rest of the software in a special way Continued...

36 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved For Example (continued) Let CM be the % of the coding and unit testing effort required for this reused software – Normally 0 for “pure reused” code, but not for modified code Let IM be the % of the integration effort required for this code – often 50-100% even for pure reused

37 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Applying the More Accurate Method For each phase of the process – Determine % Effort for – Determine the Effect of Reuse

38 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Once again, the method can be used for any measure of size, such as function points, feature points, etc. For truly reused code – CM is probably 0, but maybe you must do some test code, so perhaps it is not – RM and DM are probably > 0 It takes effort to analyze and determine whether reused code will work – IM is generally not 0 You have to run the integration tests... Notes

39 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Why is it “Modified” if You Change it Only a Little Bit Totally reused code has: – Identical documentation – Identical test procedures, code, etc. – One master copy to maintain in the configuration management library – One part number for record keeping, inventory, etc. Continued...

40 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Why is it “Modified” if you Change it Only a Little Bit (continued) Even if you change 1 comment line – You need to maintain two copies in the CM library (of code, test code, etc.) And if you change 1 line of executable code – You need to change tests and documentation

41 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved What About Concurrent Reuse? “Concurrent” reuse is reusing something multiple times within the same software product – For example, if the same subroutine is used in each of several system components It has very low cost, but it is not “free” – You have to integrate and test each component – And if you find a problem, you must fix it multiple times

42 CSE7315M14 Slide # 42 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Reuse Factor To Use for Concurrent Reuse Typically, a concurrent reuse situation calls for a factor no larger than 5% – If the initial code is new or heavily modified, the second and subsequent uses (concurrent reuse) tend to need factors of about 2-4% – If the initial code is reused or lightly modified, the proper factor tends to run from 0.5% to 2%

43 CSE7315M14 Slide # 43 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Concurrent Reuse Example ItemNewModifiedReusedConcurrent Reuse Total 2,1381,7821,2012,0007,121 Factor100%60%30%1% Net2,1381,069360203,588

44 CSE7315M14 Slide # 44 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Maintenance vs Reuse? If you have a large amount of code and are modifying only a part of it, as in a maintenance situation, is this a form of reuse? If so, what reuse factor is appropriate? – Typically the factor would be very small – Often, people estimate maintenance with a bottom-up technique rather than as a form of “reuse”

45 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved More Notes on Reuse The earlier in the process you reuse, the more leverage you get – Reusing an architecture or a design will support multiple target machines, languages, etc. Requirements Design Code Test

46 CSE7315M14 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved A Final Note on Reuse The most important factor in planning reuse is application domain – A series of products in the same domain will get more reuse than a series of unrelated products – And it will be easier to find what you need when you need it – And the staff are more likely to be familiar with the old code and how it can be used again

47 CSE7315M14 Slide # 47 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Summary of Size Estimating History is your best ally Use multiple methods – to learn – to reduce risk Target memory size is handled differently from source code size, although the two are generally related Account for reuse

48 CSE7315M14 Slide # 48 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved Module Summary There are many special cases and issues to consider when estimating size Reuse is accounted for by computing an equivalent size, based on the gains from reuse – These are estimated by conversion factors based on past experience

49 CSE7315M14 Slide # 49 January 11, 2004 CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved END OF MODULE 14


Download ppt "CSE 7315 - SW Project Management / Module 14 - Size Estimating Notes and Reuse Copyright © 1995-2004, Dennis J. Frailey, All Rights Reserved CSE7315M14."

Similar presentations


Ads by Google