Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving...

21
Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Transcript of Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving...

Page 1: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Second Hour Lecture9:30 – 10:20 am, September 8,

2001

Evolution of Software Economics

Improving Software Economics(from Chapters 2 and 3 of Royce’ book)

Page 2: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Three Generations of Software Economics

Page 3: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

The Predominant Cost Estimation Process

Page 4: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Five Software Cost Model Parameters

• Size of the end product– Usually the number of Source Lines of Code.

• Process used to produce the end product.

• Capabilities of the personnel.

• The environment – tools and techniques.

• Required quality of the end product.

Page 5: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Cost Estimation Formula

• Effort = (personnel)(Environment)(Quality)(Size)(exp(Process))

Page 6: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Formula Use Example

Page 7: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Function Points Estimation

• An alternative to Source Lines of Code basis for estimation.

• Use “Function Points” to estimate effort– External user inputs– External outputs– Internal logical data groups– External data interfaces– External inquiries

Page 8: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Accuracy

Overall accuracy of current software cost estimation models has been described as “…within 20% of actuals, 70% of the time….”

Page 9: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Attributes of a Good Estimate

• Estimate is conceived and supported by all.– Project manager, architecture team, development team,

and test team accountable for the work.

• Estimate is accepted by all stakeholders as ambitious but realizable.

• Estimate is based on well-defined cost model with a credible basis.

• Estimate is based on relevant project experience.• Estimate is detailed and key risks areas are

understood.

Page 10: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Improving Software Economics

(Royce’ Chapter 3)

Page 11: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Software Economic Improvement Trends

Page 12: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Five Economy Improvement Dimensions

• Reducing the size of the software.• Improving the development process.• Using more-skilled personnel and better

teams.• Using better environments (tools) for

software development.• Trading off, or backing off, on quality

thresholds.

Page 13: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Reducing Software Size

• Languages.

• Object-oriented methods and Visual Modeling.

• Reuse.

• Commercial Components.

Page 14: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Language Comparison

Page 15: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Example Function Point Comparison

• 1,000,000 lines of assembly language code.

• 400,000 lines of C

• 220,000 lines of Ada 83.

• 175,000 lines of Ada 95 or C++

Page 16: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Object-Oriented Methods and Visual Modeling

• Better capture of software abstractions leads to better communications and better teamwork.

• Continuous integration leads to earlier risk recognition and less costly corrections.

• Object-oriented architectures provide better separation of disparate elements of a system and help create firewalls for less costly development.

• Object-oriented and visual modeling create a strong architectural vision for cleaner, less-costly products.

Page 17: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Reuse of Software

• Common architectures.

• Development environments.

• Operating systems.

• Database management systems.

• Networking products.

• Office applications.

Page 18: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Reuse Cost and Schedule

Page 19: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Commercial Components

Page 20: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Summary

• Software estimation must be based on careful analysis and must be supported by all.

• Software economics improvements must come from reducing size, improving process and environments, using more-skilled personnel, and trading off software feature thresholds.

Page 21: Second Hour Lecture 9:30 – 10:20 am, September 8, 2001 Evolution of Software Economics Improving Software Economics (from Chapters 2 and 3 of Royce’ book)

Assignment for Next Class

• Read Chapters 2 and 3 of Royce’ book, on Software Economics.– Learn the five major parameters in the software effort

formula.– Learn the software development effort formula.– Learn the five attributes of a good software estimate.– Learn the five software improvement dimensions.

• Read Chapter 2, “The Mythical Man-month” of Brook’s book.

• If assigned to you, prepare the “Brooks’ Chapter 2” 20 minute report (for presentation to the class next meeting).