software engineering lecture 5: project planning
DESCRIPTION
The Challenge A good project manager has: ability to anticipate what will go wrong courage to estimate when the future is cloudy “courteous stubbornness to make people wait for a good product” [From Brooks, 1975]TRANSCRIPT
![Page 1: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/1.jpg)
Software Engineering
Lecture 5: Project Planning
![Page 2: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/2.jpg)
Today’s Topics Risk in Estimation Planning Objectives Customer Interviews Estimation Examples Make-Buy Decision
![Page 3: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/3.jpg)
The ChallengeA good project manager has:
• ability to anticipate what will go wrong
• courage to estimate when the future is cloudy
• “courteous stubbornness to make people wait for a good product”
[From Brooks, 1975]
![Page 4: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/4.jpg)
Risk in Estimation Inherent risk implies uncertainty
• project complexity• project size• structural uncertainty
Availability of historical information? Variability in requirements implies instability in
cost and schedule!
![Page 5: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/5.jpg)
Risk in Estimation (2)
“If you can’t tell me exactly whatyou need before I build it, chances are the finished system will take longer and cost more.”
• Example: Catalyst vocabulary size (34K estimated, 65K+ actual)
![Page 6: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/6.jpg)
Project Planning Objectives Framework for estimation
• resources, cost, schedule
Life-cycle persistence• plan is updated periodically
“Best Case” vs. “Worst Case”• possible outcomes are bounded
![Page 7: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/7.jpg)
Customer Interviews: Scope
Overall goals and benefits• Who is requesting the work?• Who will use the solution?• What are the economic benefits? (ROI)• Is there another source for a solution?
![Page 8: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/8.jpg)
Customer Interviews [2]
Problem and solution• What problems will the solution address?• How to characterize “good” output?• Can you show me the specific environment of use?• Are there special issues or constraints?
![Page 9: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/9.jpg)
Customer Interviews [3]
Meta-Questions• Are you the right person to ask?• Are the foregoing questions relevant?• Who else should I talk to?• What else should I ask about?
![Page 10: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/10.jpg)
Scoping Language Systems Details hard for customer to grasp
• lexicon size, ambiguity, …
Hard to define “good” output• accuracy & style are subjective!
Feasibility prototype• corpus / domain analysis can help
![Page 11: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/11.jpg)
Language Domain Analysis Ask customer for text samples Gather frequency data Build sentence index (KWIC) Analyze high-frequency terms Estimate lexicon complexity
• number of terms, features/term, ... Estimate grammar complexity
• non-terminals, number of rules, ...
![Page 12: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/12.jpg)
Project Estimation Techniques
Delay estimation (improve accuracy)
Base on similar projects
Decomposition (“divide & conquer”)
Use one or more empirical models
![Page 13: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/13.jpg)
Delaying Estimation
Feasibility study / prototype• Realistic input / output data• Estimate system complexity• Draft system specification• Estimate cost of full development• Demonstrate feasibility
![Page 14: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/14.jpg)
Resource Planning
[From SEPA 5/e]
![Page 15: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/15.jpg)
Three-Point LOC Estimates Three-point or expected-value model:
EV = (Sopt + 4*Sm + Spess) / 6
Provides a weighted average
pessimisticmost likelyoptimistic
![Page 16: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/16.jpg)
Example: LOC-Based Estimate
[From SEPA 5/e]
Optimistic: 4,600 Most Likely: 6,900Pessimistic: 8,600
S = (4,600 + 4*6,900 + 8,600) / 16 = 6,800
![Page 17: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/17.jpg)
Example: LOC-Based [2] Estimate 33,200 lines of code Historical data: 620 LOC/PM
(lines of code per person-month) Labor rate: $8000/PM Cost per LOC: $13 Estimated cost: $431,000 Estimated effort: 54 PM
![Page 18: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/18.jpg)
Example: FP-Based Estimate
[From SEPA 5/e]
![Page 19: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/19.jpg)
[From SEPA 5/e]
Function PointWeightingFactors
![Page 20: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/20.jpg)
Example: FP-Based [2] Estimated FP = 375 Historical data: 6.5 FP/PM Labor rate: $8000/PM Cost per FP: $1230 Estimated cost: $461,000 Estimated effort: 58 PM
![Page 21: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/21.jpg)
Process-Based Estimation
[From SEPA 5/e]
Different types of taskuse different types of labor,with different labor rates
![Page 22: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/22.jpg)
Using Multiple Methods
More than one method applied What if the results diverge?
• scope misunderstood• data inaccurate or misapplied• one method may not be a good fit for the problem
![Page 23: Software Engineering Lecture 5: Project Planning](https://reader035.vdocument.in/reader035/viewer/2022062906/5a4d1b3b7f8b9ab05999e814/html5/thumbnails/23.jpg)
[From SEPA 5/e]
Make/BuyDecisionTree
Expected Cost (Buy) =.7 * $210K + .3 * $400K = $267K