CPE 308 Estimation Process
Obtain historical data
Calculate total team hours on first project (from status reports)
Calculate total LOC on first project (suggest JD's LOC tool)
Compute team productivity rate (LOC/hr). If no historical data is
available, use 10 LOC/hr.
Consider adjusting using judgement for different factors in project 2.
Determine resources available for project 2
- Sum hours available per person per week.
- Multiply by weeks in project.
Multiply by productivity rate to get "LOC capability".
Example: Productivity rate is 10 LOC/hr.
5 developers @ 10 hours per week * 10 weeks = 500 hours
500 hrs * 10 LOC/hr = 5000 LOC.
Estimate Product Size
As
a team, use preliminary features list, decompose the problem and do a
quick conceptual design to identify major classes in solution.
If possible, identify similar classes from project 1 (or elsewhere).
"proxy".
Create 3 size estimates for each class: probable, least, &
most.
Calculate a weighted estimate:
(least + most + 4 * probable) / 6
Create a table showing estimate for each class. (post this as part of
Implementation Plan)
Sum estimates for all classes in design.
Compare total Estimated LOC against LOC capability.
Subtract classes until total estimated LOC < LOC capability.
use this number in budgeting.
Example
Student Calculations (.pdf)
Alternate Process
IF historical data not available about productivity rate, consider
feature-based estimation:
FOR each desired feature
Estimate hours for each activity: prototype, design,
code, unit test, integration test, system test.
Sum these to obtain total estimated hours.
References:
Cost modeling software: Construx Estimate
or COCOMO
Estimating
process group activity
Create Schedule
Use project plan - process & deliverables
to understand what activities you will be engaged in.
Create a WBS (work breakdown statement) shows tasks and durations.
View example.
Create a task network to visually represent dependencies, sequences,
parallelism.
View example.
Create a timeline chart (without calendar dates).
Map onto actual calendar (with weekends, holidays).
Draw Schedule (e.g. ASCII table). View
example 1.
View
example 2.
Last 3 steps can be combined if using a tool. See Project Plan
tools section for suggested tools.