Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph...
Transcript of Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph...
![Page 1: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/1.jpg)
Tutorial: Estimation and Planning Examples
Friday, October 25th
![Page 2: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/2.jpg)
Overview
Task Integration ExamplePert/CPM GraphGantt ChartCOCOMOQuick SDL refresher
![Page 3: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/3.jpg)
Task Integration
Modules taken from design docIntegration tasks taken from architecture docShould reinforce architecture chosen
Be wary of odd dependencies
![Page 4: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/4.jpg)
Integration Task Diagram
![Page 5: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/5.jpg)
Task Integration Matrix
![Page 6: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/6.jpg)
Test Plan Notes
Give reasons for why test plan was chosen
![Page 7: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/7.jpg)
Creating Pert/CPM Graph
Integration task diagram often shows what tasks can be done concurrentlyIn real world setting, priorities not necessarily follow ITG
This is why we need schedule priority chartsCertain tasks may need to be done by certain people (domain knowledge, etc)
![Page 8: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/8.jpg)
Vaguely Familiar Ground
![Page 9: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/9.jpg)
CPM Graph
![Page 10: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/10.jpg)
Earliest Completion Times
![Page 11: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/11.jpg)
Latest Completion Times
![Page 12: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/12.jpg)
Fixed CPM Graph
![Page 13: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/13.jpg)
Coming up with Gantt Chart
Try to pick reasonable timelinesUsually earliest completion time is chosenFactor in vacations, breaks, etc
Make note of critical pathHelpful to indicate on Gantt chart
Try to evenly divide up workload
![Page 14: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/14.jpg)
Gantt Chart Example 1
![Page 15: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/15.jpg)
Gantt Chart Example 2
![Page 16: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/16.jpg)
Why are we doing this?Poor management is the downfall of many software projects.Delivered software may be late, unreliable, cost several times the original estimates and often exhibits poor performance characteristics.Software project management is different from other engineering management.Product is intangible to a certain extent.Most software projects are new and technically innovative. (myth?)Good management cannot guarantee project success but bad management usually results in project failure.
![Page 17: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/17.jpg)
COCOMO
COnstructive COst MOdelCreated by Barry Boehm in 1981Essentially: EFF = a * SIZEb
Based on a large number of projects from the 70’sVery simple estimation tool which may or may not work depending on how closely project fits in with original study
![Page 18: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/18.jpg)
Estimating Is Hard To Do
![Page 19: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/19.jpg)
Basic IdeaSmall Projects
Small teams (2-3 people)Easy to have mental modelFewer things in the way of completionEFFORT = a * SIZE + b
Large ProjectsThe more people there are, the harder it becomesEFFORT = a * SIZEb
a and b are scaling factors
![Page 20: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/20.jpg)
Project Types
OrganicRoutine projectWell understood domainTeam works well and efficiently togetherProject expected to run smoothlyTypically a smaller system
![Page 21: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/21.jpg)
Project Types
EmbeddedDifficulties expectedProject that is hard (control software for a nuclear plant, or spacecraft)Team has little experience in domainNew or inexperienced teamTend to be large projects with lots of constraints
![Page 22: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/22.jpg)
Project Types
Semi-DetachedIn the middleComplex system, but something the company is familiar withTeams may be made up of experienced and inexperienced membersSystem not huge, but not small either
![Page 23: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/23.jpg)
What is a and b?
OrganicPerson months = 2.4 * KDSI1.05
Semi-DetachedPerson months = 3.0 * KDSI1.12
EmbeddedPerson months = 3.6 * KDSI1.20
![Page 24: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/24.jpg)
Slightly More Advanced
Add in an adjustment factorEFFORT = EAF * a * SIZEb
Adjustment factors cover wide range of development aspectsFactor all adjustment factors together to get EAF
![Page 25: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/25.jpg)
Slightly More Advanced
The factors a and b differOrganic
a = 3.2, b = 1.05
Semi-Detacheda = 3.0, b = 1.12
Embeddeda = 2.8, b = 1.20
![Page 26: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/26.jpg)
![Page 27: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/27.jpg)
How to use COCOMO
Simply: Plug and ChugWhat if it doesn’t work?
Play with adjustment factorsTweak a and b to make the equation fit the resultUse a more complex metric
![Page 28: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/28.jpg)
![Page 29: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/29.jpg)
![Page 30: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/30.jpg)
![Page 31: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/31.jpg)
In RealityEstimating comes with experienceUsing something like Function Points to come up with code size doesn’t really work
(personal belief)
COCOMO is too simple and too old to really be of use
Good starting point, more advanced models availableTweaking formulas might yield good results
![Page 32: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/32.jpg)
Quick Look At SDL
![Page 33: Tutorial: Estimation and Planning Examples · Overview Task Integration Example Pert/CPM Graph Gantt Chart COCOMO Quick SDL refresher](https://reader031.fdocuments.net/reader031/viewer/2022021905/5baf2a4109d3f2b25c8bc0eb/html5/thumbnails/33.jpg)
Credits
Lots of COCOMO info taken from http://www.cs.unc.edu/~stotts/COMP145/cocomo.html
CPM slide “Why Are We Doing This” taken from another presentation (can’t find URL)