1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

36
06/18/22 CS-499G 1 Costs without Maintenance 10% 10% 15% 20% 20% 25% Requirements Specifications Design Coding UnitTest Integration Test

Transcript of 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

Page 1: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 1

Costs without Maintenance

10%

10%

15%

20%

20%

25%

Requirements Specifications Design

Coding Unit Test Integration Test

Page 2: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 2

Costs with Maintenance3% 3%

5%

7%

7%

9%

66%

Requirements Specifications Design

Coding Unit Test Integration Test

Maintenance

Page 3: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 3

Waterfall model

Requirements Definition

System & Software Design

Implementation & Unit Testing

Integration & System Testing

Operation & Maintenance

The drawback of the waterfall model is the difficulty of accommodating change after the process is underway

Page 4: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 4

Waterfall Model with Feedback

Requirements Definition

System & Software Design

Implementation & Unit Testing

Integration & System Testing

Operation & Maintenance

Page 5: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 5

Iterative Models

listento

customerbuild/revise

mock-up

customertest-drivesmock-up

Prototyping

businessmodeling

datamodeling

processmodeling

applicationgeneration

testing&

turnover

businessmodeling

datamodeling

processmodeling

applicationgeneration

testing&

turnover

businessmodeling

datamodeling

processmodeling

applicationgeneration

testing&

turnover

team #1

team #2team #3

60 - 90 days

RAD

Page 6: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 6

An Evolutionary (Spiral) Model

CustomerCommunication

Planning

Construction & ReleaseCustomerEvaluation

Engineering

Risk Analysis

Page 7: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 7

Why Projects Fail?

an unrealistic deadline is established changing customer requirements an honest underestimate of effort predictable and/or unpredictable risks technical difficulties miscommunication among project staff failure in project management

Page 8: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 8

Software Teams

the difficulty of the problem to be solved the size of the resultant program(s) in lines of code or

function points the time that the team will stay together (team

lifetime) the degree to which the problem can be modularized the required quality and reliability of the system to be

built the rigidity of the delivery date the degree of sociability (communication) required for

the project

The following factors must be considered when selecting asoftware project team structure ...

Page 9: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 9

Defining the Problem

establish scope—a narrative that bounds the problem

decomposition—establishes functional partitioning

Page 10: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 10

To Get to the Essence of a Project

Why is the system being developed? What will be done? By when? Who is responsible for a function? How will the job be done technically and

managerially? How much of each resource (e.g.,

people, software, tools, database) will be needed?

Barry Boehm

Page 11: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 11

Task duration and dependencies

Task Duration(days)

Dependencies

T1 8T2 15T3 15 T1T4 10T5 10 T2, T4T6 5 T1, T2T7 20 T1T8 25 T4T9 15 T3, T6T10 15 T5, T7T11 7 T9T12 10 T11

Page 12: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 12

Activity network

start

T2

M3T6

Finish

T10

M7T5

T7

M2T4

M5

T8

4/7/94

8 days

14/7/94 15 days

4/8/94

15 days

25/8/94

7 days

5/9/94

10 days

19/9/94

15 days

11/8/94

25 days

10 days

20 days

5 days25/7/94

15 days

25/7/94

18/7/94

10 days

T1

M1 T3T9

M6

T11

M8

T12

M4

Page 13: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 13

Activity timeline4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9

T4T1T2

M1

T7T3

M5T8

M3M2

T6T5

M4T9

M7T10

M6T11

M8T12

Start

Finish

Page 14: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 14

Staff allocation

4/7 11/7 18/7 25/ 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9

T4

T8 T11

T12

T1

T3

T9

T2

T6 T10

T7

T5

Fred

Jane

Anne

Mary

Jim

Page 15: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 15

Measurement & Metrics

... collecting metrics is too hard

... it's too time-consuming

... it's too political

... it won't prove anything ...

Anything that you need toquantify can be measured insome way that is superior tonot measuring it at all ..

Tom Gilb

Page 16: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 16

Metrics Project Metrics

Effort/time per SE task Errors uncovered per review hour Error rate as a function of project time Scheduled vs. actual milestone dates Changes (number) and their characteristics Distribution of effort on SE tasks Estimated vs. actual effort required

Product Metrics focus on the quality of deliverables measures of analysis model complexity of the design

internal algorithmic complexity (e.g., McCabe) architectural complexity data flow complexity

code measures measures of process effectiveness

e.g., defect removal efficiency

Page 17: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 17

Typical Metrics Size Oriented

errors per KLOC (thousand lines of code) defects per KLOC $ per LOC page of documentation per KLOC errors / person-month LOC per person-month $ / page of documentation

Function Oriented errors per FP (thousand lines of code) defects per FP $ per FP pages of documentation per FP FP per person-month

Page 18: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 18

Measuring Quality Correctness — the degree to which a program

operates according to specification Maintainability—the degree to which a program is

amenable to change Integrity—the degree to which a program is

impervious to outside attack Usability—the degree to which a program is easy

to use

Page 19: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 19

Defect Removal Efficiency

where

errors = problems found before release

defects = problems found after release

DRE = (errors) / (errors + defects)

Page 20: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 20

Write it Down!

SoftwareProject

Plan

Project ScopeEstimatesRisksScheduleControl strategy

Page 21: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 21

To Understand Scope ...

Understand the customers needs understand the business context understand the project boundaries understand the customer’s motivation understand the likely paths for change understand that ...

Even when you understand, nothing is guaranteed!

Page 22: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 22

Cost Estimation

Project scope must be explicitly defined

Task and functional decomposition is necessary

Historical measures (metrics) are extremely helpful

Always use more than one metric Always use more than one technique Remember – the only certainty is

uncertainty.

Page 23: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 23

Estimation Techniques past (similar) project experience conventional estimation techniques

task breakdown and effort estimates size (e.g., FP) estimates

tools (e.g., Checkpoint)

Page 24: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 24

Functional Decomposition

Statementof Scope

Performsometask

functional decomposition

Page 25: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 25

Estimation Guidelines

Estimate using at least two techniques Get estimates from independent sources Avoid over-optimism – assume difficulties

Be a pessimist not an optimist Once you obtain an estimate – sleep on it! Adjust for the people doing the job – they have

the biggest impact

Page 26: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

Paul P’s Project Plan Guidelines

Remember that you are not doing the work, someone with less experience will be

Estimate the time needed to do each taskAdd 25% for overhead (meetings, vacation,

etc.)Add 25% for contingencyAdd 25% because everyone is always an

optimist (Murphy’s Law: If anything can go wrong, it will)

04/21/23 CS-499G 26

Page 27: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

Example

Initial project estimate: 80 person months to complete

25% overhead: 100 PM25% contingency: 125 PM25% to cover for Murphy’s Law: 156 PMActual size of project is almost double initial

estimateWith lots of overtime (and no changes to

the project) you may get it done on schedule

04/21/23 CS-499G 27

Page 28: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 28

Project Risks

What can go wrong?What is the likelihood?What will the damage be?What can we do about it?

Page 29: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 29

Attributes that affect risk estimated size of the product in LOC or FP estimated size of the product in number or modules, files,

transactions percentage deviation of the size of the product from that of the

average of previous products size of the database created or used by the product number of users of the product number of projected changes to the requirements for the

product: total before delivery after delivery

amount or reused software

Risk Due to Product Size

Page 30: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 30

Why Project Planning Pays Off

cost to find and fix a defect

100

10

logscale

1

req.design

codetest sys

testfielduse

0.751.00

1.503.00

10.00

60.00-100.00

Page 31: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 31

Reviews & Inspections

... there is no particular reason why your friend and colleague cannot also be your sternest critic.

Jerry Weinberg

Page 32: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 32

Reviews

A review is: a meeting conducted by technical people for

technical people a technical assessment of a work product

created during the software engineering process

a software quality assurance mechanism a training ground

A review is not: a project budget summary a scheduling assessment an overall progress report a mechanism for reprisal or political intrigue

Page 33: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 33

Conducting the Reviewbe prepared—evaluate product before the review1.

review the product, not the producer

2.

keep your tone mild, ask questions instead of making accusations

3.

stick to the review agenda4.

raise issues, don't resolve them5.

avoid discussions of style—stick to technical correctness

6.

schedule reviews as project tasks7.

record and report all review results8.

Page 34: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 34

Metrics Derived from Reviews

inspection time per page of documentation inspection time per KLOC or FP inspection effort per KLOC or FP errors uncovered per reviewer hour errors uncovered per preparation hour errors uncovered per SE task (e.g., design) number of minor errors (e.g., typos) number of major errors (e.g., nonconformance to

req.) number of errors found during preparation

Page 35: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 35

Code Reviews Purpose:

Formalized approach to document reviews Intended explicitly for defect DETECTION (not

correction) Defects may be logical errors, anomalies in the code that might

indicate an erroneous condition (e.g. an uninitialized variable) or non-compliance with standards

Preconditions: A precise specification must be available Team members must be familiar with the organization

standards Syntactically correct code must be available An error checklist should be prepared Management must accept that inspection will increase costs

early in the software process Management must not use inspections for staff appraisal

Page 36: 1/11/2016CS-499G1 Costs without Maintenance. 1/11/2016CS-499G2 Costs with Maintenance.

04/21/23 CS-499G 36

Inspection Procedure:

System overview presented to inspection team Code and associated documents are distributed to inspection

team in advance Inspection takes place and discovered errors are noted Modifications are made to repair discovered errors Re-inspection may or may not be required

Teams Made up of at least 4 members

Author of the code being inspected Reader who reads the code to the team Inspector who finds errors, omissions and inconsistencies Moderator who chairs the meeting and notes

discovered errors Other roles are Scribe and Chief moderator