Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering Lecture 5 Software Project Planning 1.

Similar presentations


Presentation on theme: "Software Engineering Lecture 5 Software Project Planning 1."— Presentation transcript:

1 Software Engineering Lecture 5 Software Project Planning 1

2 2 The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a complex technical project.Why? So the end result gets done on time, with quality!

3 The Steps Scoping—understand the problem and the work that must be done Estimation—how much effort? how much time? Risk—what can go wrong? how can we avoid it? what can we do about it? Schedule—how do we allocate resources along the timeline? what are the milestones? Control strategy—how do we control quality? how do we control change? 3

4 Write it Down! 4 SoftwareProjectPlan Project Scope EstimatesRisksSchedule Control strategy

5 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... 5 Even when you understand, nothing is guaranteed!

6 Cost Estimation 6 project scope must be explicitly defined task and/or functional decomposition is necessary historical measures (metrics) are very helpful at least two different techniques should be used remember that uncertainty is inherent

7 Estimation Techniques past (similar) project experience conventional estimation techniques ◦ task breakdown and effort estimates ◦ size (e.g., FP) estimates tools (e.g., Checkpoint) 7

8 Functional Decomposition 8 Statement of Scope perform a "grammatical parse" functionaldecomposition

9 Creating a Task Matrix 9 Obtained from “process framework” applicationfunctions framework activities Effort required to accomplish each framework activity for each application function

10 Conventional Methods: LOC/FP Approach compute LOC/FP using estimates of information domain values use historical effort for the project 10

11 Example: LOC Approach 11

12 Example: FP Approach 12

13 Tool-Based Estimation 13 project characteristics calibration factors LOC/FP data

14 Empirical Estimation Models 14 General form: effort = tuning coefficient * size exponent usually derived as person-months of effort required either a constant or a number derived based on complexity of project usually LOC but may also be function point empirically derived

15 Estimation Guidelines 15 estimate using at least two techniques get estimates from independent sources avoid over-optimism, assume difficulties you've arrived at an estimate, sleep on it adjust for the people who'll be doing the job—they have the highest impact

16 The Make-Buy Decision 16 system X reuse simple (0.30) difficult (0.70) minor changes (0.40) major changes (0.60) simple (0.20) complex (0.80) major changes (0.30) minor changes (0.70) $380,000 $450,000 $275,000 $310,000 $490,000 $210,000 $400,000 buy contract without changes (0.60) with changes (0.40) $350,000. $500,000 build

17 Computing Expected Cost 17 (path probability) x (estimated path cost) (path probability) x (estimated path cost) i i For example, the expected cost to build is: expected cost = 0.30($380K)+0.70($450K) similarly, expected cost = $382K expected cost = $267K expected cost = $410K build reuse buy contr expected cost = = $429 K

18 Summary The software project planner must estimate three things before a project begins: ◦ How long it will take. ◦ How much effort will be required. ◦ How many people will be involved. Accurate project estimates generally use at least two estimation techniques in order to derive an accurate estimate. 18

19 References Pressman, Chapter 5 19


Download ppt "Software Engineering Lecture 5 Software Project Planning 1."

Similar presentations


Ads by Google