Planning and Estimating

21
Planning and Estimating CSCI 4320

description

Planning and Estimating. CSCI 4320. Planning. The earliest possible time that detailed planning can take place is after the specifications are complete Planning continues during development and then postdelivery maintenance. Planning the Software Process. - PowerPoint PPT Presentation

Transcript of Planning and Estimating

Page 1: Planning and Estimating

Planning and Estimating

CSCI 4320

Page 2: Planning and Estimating

Planning

The earliest possible time that detailed planning can take place is after the specifications are complete

Planning continues during development and then postdelivery maintenance

Page 3: Planning and Estimating

Planning the Software Process The accuracy of estimation increases as the process

proceeds

Page 4: Planning and Estimating

Estimating Cost What is the budget?

Underestimate: the developer can lose money Overestimate: the client chooses another developer

Internal Cost: The cost to developers Salaries of development team Cost of hardware and software for development Overhead – rent, utilities, salaries of supporting staff

External Cost: The price that the client pays Based on the internal cost plus a profit margin Economic and Psychological factors when bidding

Lower bid if developer desperately need the job A significantly lower bid may be interpreted as low quality

Page 5: Planning and Estimating

Estimating Duration

When will the finished product be delivered? If developer is unable to keep its schedule

The organization loses credibility Penalty clauses may be invoked

Page 6: Planning and Estimating

Human Factors that Affect Estimating Cost and Duration

Differences between programmers on time it takes to code and debug and product size We assume that experienced programmers outperform

beginners Sakerman study compares pairs of experienced

programmers and pairs of beginner programmer The worst performance on one product was by experienced

programmer Differences ranged from 5 to 1

Critical staff member may resign during project

Page 7: Planning and Estimating

Metrics for the Size of a Product

The most common metric for the size of a product is the number of lines of code Lines of Code (LOC) Thousand Delivered Source Instructions (KDSI)

File, Flow Process metric (FFP) Albrecht’s function points metric COnstructive COst MOdel (COCOMO)

Page 8: Planning and Estimating

Problems with using lines of code as a metric Creating source code is only a small part of the total

software development effort Programming languages produce the same result

with different lines of code How do you count the lines of code?

Only executable lines? or include data definitions? Include comments? What if you use inheritance? Recount inherited lines?

Not all code written is delivered to the client A code generator can produce thousands of lines of

code in a few minutes Only at when product is final do you know the actual

lines of code

Page 9: Planning and Estimating

File Flow Process (FFP) File – collection of logically related records

permanently resident in the product Flow – data interface between product and

environment (screen, report) Process – functionally defined manipulation of data

(sorting, updating)Size = #Files + #Flows + # ProcessesCost = size * d

Constant d is a measure of the efficiency of the software development process within that organization

Size can be determined after architectural design is complete

Page 10: Planning and Estimating

Using the FFP Metric

You are a software engineer at Bantry Software. A year ago, your manager announces that your next product would comprise 10 files, 50 flows and 80 processes

Use the FFP metric to determine its size For Bantry Software, the constant d has been

determined to be $900. What cost estimate did the FPP metric produce?

The product was recently completed at a cost of $123,500. What does this tell you about the productivity of your development team?

Page 11: Planning and Estimating

Albrecht’s Function Points (FP) metric

The number of function points is based on INP: input items, OUT: output items INQ: inquiries MF: master files INF: interfaces

FP = 4*INP + 5*OUT + 4*INQ + 10*MF + 7*INF This is an oversimplification of a 3-step

process

Page 12: Planning and Estimating

Maintenance

Maintenance can be inaccurately measured It is possible to make major changes without

changing The number of files, flows, and processes; or The number of inputs, outputs, inquiries, master

files, and interfaces In theory, it is possible to change every line of

code with changing the number of lines of code

Page 13: Planning and Estimating

Techniques of Cost Estimation

Expert judgment by analogy Guesses can lead to hopelessly incorrect cost estimates Experts may recollect completed products inaccurately Estimation by a broad group of experts may be accurate

Bottom-up approach Break the product into smaller components

Algorithmic cost estimation models A metric is used as an input to a model to compute cost,

duration Estimates are only as good as the underlying assumptions COnstructive COst MOdel (COCOMO)

Page 14: Planning and Estimating

COCOMO Estimate Development Effort

Estimate Length of product in KDSI Determine product development mode (difficulty of developing

product) Small, medium, large project familiarity with product, degree of team cooperation

Compute Nominal Effort using constants based on the development mode Nominal Effort = a * KDSI b

Compute Estimated Effort in man months by multiplying the nominal effort by 15 to 17 software development effort multipliers product, computer, personnel, project attributes

Variations of COnstructive COst MOdel Intermediate and COCOMO II

Page 15: Planning and Estimating

Components of a Software Project Management Plan

The work to be done The resources with which to do it The money to pay for it

Page 16: Planning and Estimating

Completion of Work Products

Milestone: The date on which the work product is to be completed

It must first pass reviews performed by Fellow team members Management The client

Once the work product has been reviewed and agreed upon, it becomes a baseline

Page 17: Planning and Estimating

9.5 IEEE Software Project Management Plan

Figure 9.8

Page 18: Planning and Estimating

9.6 Planning Testing

The SPMP must explicitly state what testing is to be done

Traceability is essential All black box test cases must be drawn up as

soon as possible after the specifications are complete

Page 19: Planning and Estimating

Training Requirements

The user needs training after the product is finished. The development team may need training for

Software planning and estimating Introduction of hardware or software tools The operating system and/or implementation language Documentation preparation

Training for developers can be obtained In house Courses in the evenings at colleges Web-based courses

Page 20: Planning and Estimating

Documentation Planning

Types of documentation Planning, Control, Financial, Technical, Source code

Reduce misunderstandings between team members Aid SQA Only new employees have to learn the standards Standards assist maintenance programmers Standardization is important for user manuals

Page 21: Planning and Estimating

Testing the Software Project Management Plan

We must check the SPMP as a whole Paying particular attention to the duration and

cost estimates