CIS 4251 CIS 5930 SOFTWARE DEVELOPMENT Fall 1999

  • Slides: 35
Download presentation
CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger

CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger 9/8/99 Lecture 5 1

Teams 4 Team Name 4 Team Members – Name, Year in School, Myers/Briggs Indicator,

Teams 4 Team Name 4 Team Members – Name, Year in School, Myers/Briggs Indicator, Strengths, Weaknesses 4 Team Roles & Responsibilities – Project Manager, Analyst, Design, Development, Testing, User Ed, Logistics 9/8/99 Lecture 5 2

Lecture Overview 4 Review of Previous Discussion 4 Project Metrics 4 Project Estimates 9/8/99

Lecture Overview 4 Review of Previous Discussion 4 Project Metrics 4 Project Estimates 9/8/99 Lecture 5 3

What Are Project Metrics? Measurement Based Techniques Applied To Processes, Products & Services 9/8/99

What Are Project Metrics? Measurement Based Techniques Applied To Processes, Products & Services 9/8/99 To Supply To Improve Lecture 5 Engineering & Management Information 4

Definitions 4 Measure - provides a quantitative indication of the extent, amount, dimensions, capacity,

Definitions 4 Measure - provides a quantitative indication of the extent, amount, dimensions, capacity, or size of some attribute of a product or process. 4 Measurement - act of determining a measure. 4 Metric - “A quantitative measure of the degree to which a system, component, or process possesses a given attribute. ” 4 Indicator - metric or combination of metrics that provide insight into the software process, a software project, or the product itself. 9/8/99 Lecture 5 5

Software Metrics Dos and Don’t 4 Don’t measure individuals 4 Never use metrics as

Software Metrics Dos and Don’t 4 Don’t measure individuals 4 Never use metrics as a ‘stick’ 4 Don’t ignore the data 4 Never use only one metric 4 Select metrics based on objectives 4 Provide feedback 4 Obtain “buy-in” 9/8/99 Lecture 5 6

Fishbone Diagram 9/8/99 Lecture 5 7

Fishbone Diagram 9/8/99 Lecture 5 7

Why Collect Metrics? 4 Used to minimize the development schedule 4 Used to assess

Why Collect Metrics? 4 Used to minimize the development schedule 4 Used to assess product quality on an ongoing basis 9/8/99 Lecture 5 8

Size-Oriented Metrics 4 Often based on LOC – Errors per KLOC – Defects per

Size-Oriented Metrics 4 Often based on LOC – Errors per KLOC – Defects per KLOC – $ per LOC – Pages of documentation per KLOC 4 Not universally accepted because of LOC determination 9/8/99 Lecture 5 9

Function-Oriented Metrics FP=count total x [. 65 +. 01 x F(i)] where i=1 -14

Function-Oriented Metrics FP=count total x [. 65 +. 01 x F(i)] where i=1 -14 9/8/99 Lecture 5 10

Software Productivity Influences 4 People factors 4 Problem factors 4 Process factors 4 Product

Software Productivity Influences 4 People factors 4 Problem factors 4 Process factors 4 Product factors 4 Resource factors 9/8/99 Lecture 5 11

Measuring Quality 4 Correctness 4 Maintainability 4 Integrity 4 Usability 9/8/99 Lecture 5 12

Measuring Quality 4 Correctness 4 Maintainability 4 Integrity 4 Usability 9/8/99 Lecture 5 12

Defect Removal Efficiency 4 DRE = E/(E+D) where – E=number of errors found before

Defect Removal Efficiency 4 DRE = E/(E+D) where – E=number of errors found before delivery of the software to the end user – D=number of defects found after delivery 4 Ideal value is 1 9/8/99 Lecture 5 13

7 Steps to Designing a Software Metric 4 Objective Statement 4 Clear Definitions 4

7 Steps to Designing a Software Metric 4 Objective Statement 4 Clear Definitions 4 Define the Model 4 Establishing Counting Criteria 4 Decide What’s Good 4 Metrics Reporting 4 Additional Qualifiers 9/8/99 Lecture 5 14

Software Project Planning 4 Estimating 4 Features and Priorities 4 Risk Assessment 4 Resources

Software Project Planning 4 Estimating 4 Features and Priorities 4 Risk Assessment 4 Resources 4 Milestones and Deliverables 9/8/99 Lecture 5 15

Software Project Estimation 4 Not an exact science 4 More accurate if delay estimation

Software Project Estimation 4 Not an exact science 4 More accurate if delay estimation until late in the project 4 Base estimates on similar projects 4 Decomposition techniques to estimate effort & cost 4 Empirical models to estimate effort & cost 9/8/99 Lecture 5 16

? That Contribute to Uncertainty 4 Will customer want Feature X? 4 Will customer

? That Contribute to Uncertainty 4 Will customer want Feature X? 4 Will customer want the cheap or expensive version of Feature X? 4 If you implement the cheap version of Feature X, will the customer later want the expensive version? 4 How will feature X be designed? 9/8/99 Lecture 5 17

Software Sizing 4 “Fuzzy-logic” sizing 4 Function point sizing 4 Standard component sizing 4

Software Sizing 4 “Fuzzy-logic” sizing 4 Function point sizing 4 Standard component sizing 4 Change sizing 9/8/99 Lecture 5 18

Estimate Multipliers by Project Phase 9/8/99 Lecture 5 19

Estimate Multipliers by Project Phase 9/8/99 Lecture 5 19

Guidelines for Making Size Estimates 4 Avoid off-the-cuff estimates 4 Allow time for the

Guidelines for Making Size Estimates 4 Avoid off-the-cuff estimates 4 Allow time for the estimate, and plan it 4 Use data from previous projects 4 Use developer-based estimates 4 Estimate by walkthrough 4 Estimate by categories 4 Estimate at low level of detail 9/8/99 Lecture 5 20

Guidelines. . . 4 Don’t omit common tasks 4 Use software estimation tools 4

Guidelines. . . 4 Don’t omit common tasks 4 Use software estimation tools 4 Use several different estimation techniques, & compare results 4 Change estimation practices as the project progresses 9/8/99 Lecture 5 21

Estimate Presentation Styles 4 Plus-or-minus qualifiers 4 Risk quantification 4 Case-based estimation 4 Confidence-factor

Estimate Presentation Styles 4 Plus-or-minus qualifiers 4 Risk quantification 4 Case-based estimation 4 Confidence-factor estimate 9/8/99 Lecture 5 22

LOC Based Estimation 4 Major functions are identified 4 Range of values for LOC

LOC Based Estimation 4 Major functions are identified 4 Range of values for LOC for each function are estimated 4 Must have historical data to determine productivity 9/8/99 Lecture 5 23

FP-Based Estimation 4 Based on information domain values – Number of inputs – Number

FP-Based Estimation 4 Based on information domain values – Number of inputs – Number of outputs – Number of inquiries – Number of files – Number of external interfaces 4 Complexity factors are then determined 9/8/99 Lecture 5 24

Process-Based Estimation 4 Estimate effort required for each software process / phase of the

Process-Based Estimation 4 Estimate effort required for each software process / phase of the project – Vision/Scope – Project plan – Analysis – Design – Development 9/8/99 Lecture 5 25

Effort and Schedule Estimate 4 Effort estimate helps determine resources 4 Schedule estimate is

Effort and Schedule Estimate 4 Effort estimate helps determine resources 4 Schedule estimate is computed using the following equation: – Schedule in months=3*man-months^1/3 – Can substitute 4 or 2. 5 for the factor 3 9/8/99 Lecture 5 26

Estimation Facts of Life 4 There is a shortest possible schedule, and you cannot

Estimation Facts of Life 4 There is a shortest possible schedule, and you cannot beat it. 4 Costs increase rapidly when you shorten the schedule below nominal – Schedule compression factor – Compressed schedule effort 9/8/99 Lecture 5 27

Recalibrating an Estimate 4 What if you missed the first milestone by 1 week?

Recalibrating an Estimate 4 What if you missed the first milestone by 1 week? Should you – Assume you can make up the lost week later in the schedule – Add the week to the total schedule – Multiply the whole schedule by the magnitude of the slip, ie 25% if 1 week late for 4 week milestone 9/8/99 Lecture 5 28

What Causes Poor Estimates 4 Scope of project not understood 4 Productivity data is

What Causes Poor Estimates 4 Scope of project not understood 4 Productivity data is incorrect 9/8/99 Lecture 5 29

Empirical Estimation Models 4 Based on historical data on LOC and FP 4 Derived

Empirical Estimation Models 4 Based on historical data on LOC and FP 4 Derived using regression analysis on data collected from past software projects – E=A+B*(ev)c A, B, & C are derived constants, E is the effort in person months, and ev is the estimation variable 9/8/99 Lecture 5 30

Risks 4 Definition – Possibility of suffering lose or harm – Factor, element, or

Risks 4 Definition – Possibility of suffering lose or harm – Factor, element, or course involving uncertain danger 4 Characteristics – Associated with lose – Includes uncertainty of occurrence, impact, and outcome – Has aspects of gain and loss 9/8/99 Lecture 5 31

Risk Management Principles 4 Assess risks continuously 4 Includes all key people 4 Are

Risk Management Principles 4 Assess risks continuously 4 Includes all key people 4 Are generally known but communicated 4 Must be clearly stated 4 Important risks are dealt with first 9/8/99 Lecture 5 32

Risk Identification 4 Product size 4 Business impact 4 Customer characteristics 4 Process definition

Risk Identification 4 Product size 4 Business impact 4 Customer characteristics 4 Process definition 4 Development environment 4 Technology 4 Staff size and experience 9/8/99 Lecture 5 33

Risks Consequences 4 Cost overruns 4 Customer 4 Schedule slips dissatisfaction 4 Loss of

Risks Consequences 4 Cost overruns 4 Customer 4 Schedule slips dissatisfaction 4 Loss of company image 4 Demoralized staff 4 Poor product performance 4 Legal proceedings 4 Inadequate functionality 4 Canceled projects 4 Sudden personal changes 9/8/99 Lecture 5 34

Approaches to Risk Management 4 Reactive – Mitigation of symptoms; Fix on failure –

Approaches to Risk Management 4 Reactive – Mitigation of symptoms; Fix on failure – Crisis management 4 Transitional – Preventive 4 Proactive – Elimination of root causes; Anticipation of risk – Change management 9/8/99 Lecture 5 35