Effort Estimate Detail Sample Data from Galorath
Sample 1
As requested, here are two reports indicating the coverage of the estimates.
Labor categories by month…
Development Hours by Month
Month Mgmt SW Reqs Design Code Data Prep Test CM QA Total
------------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
1 Aug-09 2.7 9.4 4.2 1.1 1.4 2.8 0.4 0.4 22.5
2 Sep-09 5.7 5.2 21.3 6.2 4.2 7.3 1.0 1.0 52.0
3 Oct-09 11.4 8.6 32.2 36.8 8.8 17.7 3.5 3.5 122.5
4 Nov-09 12.5 5.4 10.8 98.6 10.8 26.9 7.2 7.2 179.3
5 Dec-09 16.6 5.1 10.2 96.5 15.9 52.6 10.1 10.1 217.2
6 Jan-10 17.1 4.3 8.5 80.3 16.1 66.2 10.7 10.2 213.4
And a summary of effort expended within labor categories, for every activity…
Person Months by Labor Category
Activity Mgmt SW Reqs Design Code
----------------------------- ------------ ------------ ------------ ------------
System Requirements Design 0.00 0.02 0.00 0.00
S/W Requirements Analysis 0.01 0.05 0.01 0.01
Preliminary Design 0.00 0.00 0.02 0.00
Detailed Design 0.08 0.07 0.29 0.09
Code & Unit Test 0.14 0.06 0.12 1.11
Component Integrate & Test 0.16 0.04 0.08 0.79
Program Test 0.02 0.00 0.01 0.09
System Integrate Thru OT&E 0.01 0.00 0.01 0.03
Maintenance 0.00 0.00 0.00 0.00
Development Total 0.43 0.25 0.55 2.11
Life Cycle Total 0.43 0.25 0.55 2.11
Activity Data Prep Test CM QA
----------------------------- ------------ ------------ ------------ ------------
System Requirements Design 0.00 0.00 0.00 0.00
S/W Requirements Analysis 0.01 0.01 0.00 0.00
Preliminary Design 0.00 0.01 0.00 0.00
Detailed Design 0.06 0.10 0.01 0.01
Code & Unit Test 0.12 0.30 0.08 0.08
Component Integrate & Test 0.16 0.58 0.10 0.10
Program Test 0.02 0.07 0.01 0.01
System Integrate Thru OT&E 0.00 0.09 0.01 0.00
Maintenance 0.00 0.00 0.00 0.00
Development Total 0.37 1.16 0.22 0.21
Life Cycle Total 0.37 1.16 0.22 0.21
1. These are estimates, but estimates are probability distributions and I only see one number. What do these numbers mean? How do you represent probability?
2. I'd model this breakdown dimensionally as having 3 dimensions and 1 measure:
Labor category, Activity, and Time are the dimensions. Effort in person-hours or person-months is the measurement. Do you actually estimate effort for each combination of (Labor category, Activity, Time)?
3. It looks like you are using a conversion faction of around 155 hours per month. Correct? In the data format, we'd provide all effort in a single unit of measure, e.g. hours, since labor rates are usually by the hour. I assume we should also model the conversion factor. How fancy do we need to be? Does the conversion factor vary within a project?
1) These estimates are given at a specific probability. For another probability level, the reports would show numbers adjusted to that probability setting.
2) While we provide an estimate of effort parsed into activities over time (see below), we do not provide a further breakout to show labor categories x activity x time. Last week, I think we discussed the third dimension carrying probability. In any event, as you can see, the report of activities over time uses milestone dates which (without extrapolation) does not line up with the monthly reports. I’m afraid we might have to use two separate structures to carry the information.
3) The conversion factor here is 152, although it is configurable by the user. You needn’t be fancy, we can provide all estimates in hours.
Sample 2
I actually left out another important way that estimates are provided, which I’ve copied below,
to fully inform the following comments. So now we have:
labor categories x activities
labor categories x time
activities x time
Activity Report
Schedule Person Person
Activity Months Months Hours Cost
----------------------------- ----------- ----------- ----------- -------------
System Requirements Design 1.22 0.82 125 14,278
Cumulative 9/13/09 1.22 0.82 125 14,278
S/W Requirements Analysis 1.44 2.41 366 41,901
Cumulative 10/26/09 2.66 3.23 491 56,178
Preliminary Design 0.93 2.18 331 37,927
Cumulative 11/24/09 3.59 5.41 822 94,105
Detailed Design 3.14 11.71 1,780 203,740
Cumulative 2/28/10 6.73 17.12 2,602 297,845
Code & Unit Test 3.85 22.82 3,468 396,997
Cumulative 6/24/10 10.58 39.93 6,070 694,842
Component Integrate & Test 3.53 25.90 3,937 450,701
Cumulative 10/10/10 14.11 65.84 10,007 1,145,543
Program Test 0.39 2.91 442 50,578
Cumulative 10/21/10 14.50 68.74 10,449 1,196,121
System Integrate Thru OT&E 1.61 18.16 2,760 316,003
Cumulative 12/10/10 16.11 86.90 13,209 1,512,124
Maintenance 60.00 180.00 27,360 3,232,003
Cumulative 12/10/15 76.11 266.90 40,569 4,744,127
RDF XML Fact Table for Effort Estimate
Here is a candidate representation of the above table as XML. The idea is to represent this data as a fact table, analyzing the data into dimensions and measures. I have set the confidence level to 80%.
We discussed how to communicate more of the probability distribution of the measures. The solution is to use a probability distribution as the value of each measurement.
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:ems="http://open-services.net/ns/ems#">
<ems:Estimate>
<dc:title>Effort by Activity</dc:title>
<dc:description>
This estimate gives effort by activity. The activities are
sequential and do not overlap. The estimate is at the 80%
probability level. There are 152 person-hours per
person-month. A person-month contains approximately 21 work
days.
</dc:description>
<ems:hasValue rdf:parseType="Literal">
<ems:FactTable
ems:analyzes="http://open-services.net/ns/ems/work" />
ems:probabilityLevel="0.80">
<ems:Dimension dc:title="Activity"
ems:categorizesBy="http://open-services.net/ns/ems/work#activity" />
<ems:Measure dc:title="Finish Date" ems:unitOfMeasure="date"
ems:measures="http://open-services.net/ns/ems/work#finishDate" />
<ems:Measure dc:title="Schedule Months"
ems:unitOfMeasure="month"
ems:measures="http://open-services.net/ns/ems/work#duration" />
<ems:Measure dc:title="Person Months"
ems:unitOfMeasure="person-month"
ems:measures="http://open-services.net/ns/ems/work#effort" />
<ems:Measure dc:title="Person Hours"
ems:unitOfMeasure="person-hour"
ems:measures="http://open-services.net/ns/ems/work#effort" />
<ems:Measure dc:title="Cost" ems:unitOfMeasure="USD"
ems:measures="http://open-services.net/ns/ems/work#labor-cost" />
<ems:Fact>
<ems:dimension>
System Requirements Design
</ems:dimension>
<ems:measurement>2009-09-13</ems:measurement>
<ems:measurement>1.22</ems:measurement>
<ems:measurement>0.82</ems:measurement>
<ems:measurement>125</ems:measurement>
<ems:measurement>14278</ems:measurement>
</ems:Fact>
<ems:Fact>
<ems:dimension>S/W Requirements Analysis</ems:dimension>
<ems:measurement>2009-09-26</ems:measurement>
<ems:measurement>1.44</ems:measurement>
<ems:measurement>2.41</ems:measurement>
<ems:measurement>366</ems:measurement>
<ems:measurement>41901</ems:measurement>
</ems:Fact>
<ems:Fact>
<ems:dimension>Preliminary Design</ems:dimension>
<ems:measurement>2009-11-24</ems:measurement>
<ems:measurement>0.93</ems:measurement>
<ems:measurement>2.18</ems:measurement>
<ems:measurement>331</ems:measurement>
<ems:measurement>37927</ems:measurement>
</ems:Fact>
<ems:Fact>
<ems:dimension>Detailed Design</ems:dimension>
<ems:measurement>2010-02-28</ems:measurement>
<ems:measurement>3.14</ems:measurement>
<ems:measurement>11.71</ems:measurement>
<ems:measurement>1780</ems:measurement>
<ems:measurement>203740</ems:measurement>
</ems:Fact>
<ems:Fact>
<ems:dimension>Code & Unit Test</ems:dimension>
<ems:measurement>2010-06-24</ems:measurement>
<ems:measurement>3.85</ems:measurement>
<ems:measurement>22.82</ems:measurement>
<ems:measurement>3468</ems:measurement>
<ems:measurement>396997</ems:measurement>
</ems:Fact>
<ems:Fact>
<ems:dimension>
Component Integrate & Test
</ems:dimension>
<ems:measurement>2010-10-10</ems:measurement>
<ems:measurement>3.53</ems:measurement>
<ems:measurement>25.90</ems:measurement>
<ems:measurement>3937</ems:measurement>
<ems:measurement>450701</ems:measurement>
</ems:Fact>
<ems:Fact>
<ems:dimension>Program Test</ems:dimension>
<ems:measurement>2010-10-21</ems:measurement>
<ems:measurement>0.39</ems:measurement>
<ems:measurement>2.91</ems:measurement>
<ems:measurement>442</ems:measurement>
<ems:measurement>50578</ems:measurement>
</ems:Fact>
<ems:Fact>
<ems:dimension>
System Integrate Thru OT&E
</ems:dimension>
<ems:measurement>2010-12-10</ems:measurement>
<ems:measurement>1.61</ems:measurement>
<ems:measurement>18.16</ems:measurement>
<ems:measurement>2760</ems:measurement>
<ems:measurement>316003</ems:measurement>
</ems:Fact>
<ems:Fact>
<ems:dimension>Maintenance</ems:dimension>
<ems:measurement>2015-12-10</ems:measurement>
<ems:measurement>60.00</ems:measurement>
<ems:measurement>180.00</ems:measurement>
<ems:measurement>27360</ems:measurement>
<ems:measurement>3232003</ems:measurement>
</ems:Fact>
</ems:FactTable>
</ems:hasValue>
</ems:Estimate>
</rdf:RDF>