Software Project Planning z Steps to Software Planning

  • Slides: 22
Download presentation
Software Project Planning z Steps to Software Planning y. Define Software Scope y. Determine

Software Project Planning z Steps to Software Planning y. Define Software Scope y. Determine Resources y. Create Project Estimates y. Make or buy decision Chapter 5 November 5, 1997 1

Scope z What scope means: y Functions x. Literally refers to all functions performed

Scope z What scope means: y Functions x. Literally refers to all functions performed by a system y Performance x. Refers to processing and response time requirements y Constraints x. Limits placed on the software by external hardware, available memory or existing systems y Interfaces y Reliability November 5, 1997 2

Scope z Obtaining the information y. Communication, communication!!! y. Meet with customer as often

Scope z Obtaining the information y. Communication, communication!!! y. Meet with customer as often as needed. x. Have free form discussion y. Try to understand his/her goals/constraints, not just what she/he thinks they want. y. Government procurement often provides detailed written specifications on what they want. x. The problem is that those writing them probably didn’t fully understand, and they will change. x. Government is trying for a more enlightened approach. November 5, 1997 3

Scope Information z Some typical questions y Overall Goals x. Who’s request; What benefit;

Scope Information z Some typical questions y Overall Goals x. Who’s request; What benefit; Who else has solution y Understanding The Problem x. What output; What Problem; What Issues; What Constraints y Effectiveness of Meeting x. Are answers official; Are my questions relevant; Other sources of Info. November 5, 1997 4

Scoping - Subsequent Meetings z Begin high level planning y Know the capabilities of

Scoping - Subsequent Meetings z Begin high level planning y Know the capabilities of existing software and staff y Joint teams of customer and developers/analysts y Checklist of items to cover z Organization of Information y Get everything down with diagrams y Create and save transcripts of Meetings y Possibly use Web. November 5, 1997 5

Human Resources z Scope and skills required z Organizational position and specialty must both

Human Resources z Scope and skills required z Organizational position and specialty must both be considered z As estimate of development effort is essential to determine the number of people required for the project. November 5, 1997 10

Reusable Software Resources z Off-the-shelf components y. The validity pedigree is critical to obtain

Reusable Software Resources z Off-the-shelf components y. The validity pedigree is critical to obtain z Full experience components y. The validity pedigree is critical to obtain z Partial experience components y. New validation will have to be performed November 5, 1997 11

Environmental Resources z Software Engineering Environment y. Compilers y. Editors y. Design tools y.

Environmental Resources z Software Engineering Environment y. Compilers y. Editors y. Design tools y. Configuration management tools y. Management tracking tools y. Problem Reporting And Corrective Action (PRACA) tools y. Documentation tools y. Hardware resources y. Network support November 5, 1997 12

Software Project Estimation z Estimation critical -- software costs usually dominate project. z Categories

Software Project Estimation z Estimation critical -- software costs usually dominate project. z Categories of estimation techniques y. Base estimates on similar projects y. Use simple decomposition (possibly in combination with other methods. y. Use one or more empirical models, I. e. , d = f(vi) y. For example, # of people = LOC ÷(Duration*(LOC/PM)) November 5, 1997 13

Software Project Estimation z Precise estimation is difficult. So, make three estimates: optimistic, most

Software Project Estimation z Precise estimation is difficult. So, make three estimates: optimistic, most likely, and pessimistic. Then combine as: EV=(Sopt + 4 Sm + Spess)/6 z An example yuser interface and control facilities y 2 -D geometric analysis 3 -D opt = 4600 y 3 -D geometirc analysis 3 -D m. likely = 6900 ydatabase management 3 -D pess. = 8600 ycomputer graphics display => (4600+4*6900+8600)/6 yperipheral control = 6800 ydesign analysis models November 5, 1997 14

Estimation Table • Suppose 620 LOC/PM, and $8, 000/PM, based upon historical data. Then,

Estimation Table • Suppose 620 LOC/PM, and $8, 000/PM, based upon historical data. Then, Est. Cost = 33, 200*$8, 000/620 = $421, 000 November 5, 1997 15

Function Point Based Estimation z Function Point Complexity Weighting Factors ybackup and recovery 4

Function Point Based Estimation z Function Point Complexity Weighting Factors ybackup and recovery 4 y. Data communications 2 y. Distributed processing 0 y. Performance critical 4 y. Existing operating environment 3 y. On-line data entry 4 y… y. Application designed for change 5 y. Total 52 November 5, 1997 16

Function Point Based Estimation z Complexity factor = = 0. 65+0. 01× 52 =

Function Point Based Estimation z Complexity factor = = 0. 65+0. 01× 52 = 1. 17 z FP estimate = count-total× = 318 × 1. 17 = 372 z Then, if 6. 5 FP/PM, cost = 372 × $8, 000 ÷ 6. 5 = $457, 000 November 5, 1997 17

Process Based Estimation z Decompose the process into a set of activities or tasks

Process Based Estimation z Decompose the process into a set of activities or tasks z Estimate effort or cost to perform each task z Estimate cost of each function z May be done using LOC and FP estimation or separately z If estimated separately, then there are two or three distinct cost estimates. y. Reconcile differences y. If radically different, perhaps problem is not well understood, or productivity data is obsolete, or the models have not been used correctly. November 5, 1997 18

Process Based Estimation -- Example Customer Activity Communication. Planning Risk Analysis Task Customer Construction

Process Based Estimation -- Example Customer Activity Communication. Planning Risk Analysis Task Customer Construction Release. Evaluation Engineering Analysis Design Code Test Function UICF 2 DGA 3 DGA DSM CGDF PCF DAM Total % effort 0. 50 0. 75 0. 50 0. 25 0. 50 2. 50 4. 00 3. 00 2. 00 0. 40 0. 60 1. 00 0. 75 0. 50 5. 00 2. 00 3. 00 1. 50 2. 00 0. 25 3. 50 20. 50 4. 75 16. 50 1% 1% 1% 8% 45% 10% 36% n/a n/a • If labor rate is $8, 000/PM, then Est. cost = $368, 000 November 5, 1997 19

Empirical Estimation Models z Based on limited number of sample projects y. Typical form

Empirical Estimation Models z Based on limited number of sample projects y. Typical form E = A + B×(ev)C z Some examples y. E = 5. 2×(KLOC)0. 91 Walston-Felix Model y. E = 5. 5 + 0. 73×(KLOC)1. 16 Bailey-Basili Model y. E = 3. 2×(KLOC)1. 05 Boehm simple model y. E = 5. 288×(KLOC)1. 047 Doty model for KLOC > 9 y. E = -13. 39 + 0. 0545×FP Albrecht & Gaffney y. E = 60. 62 + 7. 728× 10 -8 FP 3 Kemerer Model y. E = 585. 7 + 15. 12×FP Albrecht & Gaffney z Must calibrate for local conditions November 5, 1997 20

The COCOMO Model -- Basic Software Project ab bb cb db organic 2. 4

The COCOMO Model -- Basic Software Project ab bb cb db organic 2. 4 1. 05 2. 5 0. 38 semi-detached 3. 0 1. 12 2. 5 0. 35 embedded 3. 6 1. 20 2. 5 0. 32 – Where E is effort in person months. – Where D is development time in months November 5, 1997 21

COCOMO Example z Same parameters as before, 33, 200 LOC E = 2. 4(KLOC)1.

COCOMO Example z Same parameters as before, 33, 200 LOC E = 2. 4(KLOC)1. 05 = 2. 4(33. 2) 1. 05 = 95 person months D = 2. 5 E 0. 38 = 2. 5(95)0. 38 = 14. 1 months November 5, 1997 22

“The Software Equation” z The software equation -- E=[LOC * B 0. 333/P]3 *

“The Software Equation” z The software equation -- E=[LOC * B 0. 333/P]3 * (1/t 4), where y. E = effort in person months yt = project duration in months y. B = “special skills factor” For KLOC (5, 15) use 0. 16, for KLOC > 70, use B = 0. 39 y. P = “productivity parameter” reflecting xoverall process maturity and management practices xextent to which good software engineering used xstate of software environment xskill and experience of team xcomplexlity of application xe. g. , 2, 000 for real-time, 10, 000 for tele-comm, 28, 000 for business applications. November 5, 1997 23

Software Equation Example z Typical productivity values ye. g. , 2, 000 for real-time,

Software Equation Example z Typical productivity values ye. g. , 2, 000 for real-time, 10, 000 for tele-comm, 28, 000 for business applications. z Simplified model suggested for tmin, E: ytmin = 8. 14(LOC/PP)0. 43 in months for tmin > 6 months y. E = 180 Bt 3 for E >= 20 person months z For PP = 12, 000 (typical scientific computation) ytmin = 8. 14(33, 200/12, 000)0. 43 = 12. 6 months y. E = 180(0. 28)(1. 05)3 = 58 person months z Study implications of these equations. y. Trying to get done too fast requires much more effort. November 5, 1997 24

Resources - Make-Buy Decision z Develop specification for desired software z Estimate cost to

Resources - Make-Buy Decision z Develop specification for desired software z Estimate cost to develop internally and estimate delivery date z Select candidate applications that come closest to meeting specifications. z Select reusable components that could assist constructing the required application z Develop comparison matrix that compares key functions and costs. Possibly conduct benchmark tests November 5, 1997 25

Summary z Project planner must estimate three things: yhow long project will take yhow

Summary z Project planner must estimate three things: yhow long project will take yhow much effort will be required yhow many people will be required z Must use decomposition and empirical modeling y. Most empirical techniques need to be calibrated to individual situations. y. Use multiple techniques to gain confidence in result November 5, 1997 27