I saw a very interesting post about estimating software from Steve McConnell, of Code Complete fame. He compared his estimate of building a fort for his kids with the actual results and then talked about the mistakes he made. I decided to do something similar and I'm just getting the posting down, but I made some notes earlier.
I'm currently in process in building a loading shed. For those of you that don't know what that is, it's a three sided structure for horses to live in. As opposed to the barn, this sits out in the pasture and shelters horses from wind, rain, snow, etc. We wanted one (and by we, I mean my wife) so we could keep horses out in the pasture without having to bring them back to the barn regularly.
So here was my estimate.
- Planning/Design - I'd been looking at plans over time, but I thought I could sketch out the rough design with a materials list in about 30 minutes. I added about 20 minutes to measure the neighbor's shed first.
- Materials - 2 trips to the store. 1 to Home Depot for lumber, screws, etc. 1 to the ranch supply for the metal to cover it. I didn't have a timeline here because I'd combine these trips with other trips and would get them done as I could.
- Framing - I needed to set 4 posts for the corners and then frame horizontal stringers and a few joists for the roof. I thought a full day would get this done.
- Sheathing - I haven't done any work with metal, so I'm allowing two days to get this stuff up. It should be easy to screw on, but the corners, angled cuts, recharding the battery for the saw, etc. will waste time.
I started last week with these results.
- Planning - I went to measure the neighbor's shed and it took about 8 minutes to measure. However I asked him first rather than walking into his pasture and so lost about 20 minutes chatting with him. Good thing I'm not paid hourly. After that, it was about 30 minutes to sketch the design and write down the raw materials I needed for the framing (phase 1), so overall I was only slightly over.
- Materials - I went by Home Depot after taking my son to karate. We loaded up on materials, 12 bags of cement, lots of wood, and a few misc. screws and things. Again, good thing I wasn't paid by the hour, especially with the little kids along, but I knew better than to estimate a trip to Home Depot. I always get a little lost in there (grunt, grunt). However after the first weekend, I need more materials, so I'm at least due for one more trip to the hardware store.
- Framing - I'm about 1/2 a day in from a full day on Sunday. Granted there was time out for lunch and I was distracted by the Bronco game, but I got about half the framing done.
There's more to come on this, but first a few notes on things I missed, and which you probably miss in estimating things for work.
First I added a fifth post in the back, being slightly worried about wind and a 12 ft span. Then my wife decided a 12ft wide shelter doesn't work, so we need to go 16 and include a post in the middle and space for a panel. The contruction part of the design doesn't change for me, but it does mean I need to get more materials, so more trips. It also adds a little work.
Second I made the mistake of not getting into details with the client (my wife). Of course if you're married, you know that probably doesn't matter. 🙂 (I love you, Tia) She'd asked for this to be built up on the west side of the pasture, high up the slope. As we started siting things out, we realized it was a steeper slope than we guessed. Not undo-able, but as we walked around, so spied a flat spot. And naturally this flat spot was on the complete other side of the 5 acre pasture, a good 700 ft from where a ton of materials had been dropped. OK, not a ton, but about a 1/2 ton. So we had time to move the materials to the other side of the pasture that I hadn't counted on.
Things go wrong. In almost everything we do, something will not go as planned. In this case we have this really hard clay soil in Colorado. When I'd dug a few holes for the posts around the barn, we'd sheered the bolt that connects the auger to the driveshaft. I'd purchased more bolts, but I'd forgotten about the issues. We got 1 1/2 holes dug and sheered another bolt. Fortunately I had a spare in the tractor, but only one. We sheered that and then I went to work by hand to finish the hole. We were delayed by my wife running to the hardware store (a much shorter delay than me going) to get more bolts. Then there was the Bronco game, which delayed me getting back out there.
I'm not sure what you equate this to, maybe some external influence or other tasks at work, but it gets windy here. And that makes for a miserable time. I framed out some side rails and the first roof angle, but I had to cut down the post in a blustery wind and by the time I got done, I knocked off for the day. Monday was again windy and I went to at least dig the last two holes, so I made some progress. But I broke two more sheer bolts (averaging 1/hole now). We had spares, thanks to some thinking ahead, but instead of having holes done, I need to finish them with the manual process. I also had to spend some time cleaning stuff up in case it rains. Overall the external forces delay caused more delays since I had a couple more tasks to do.
As Steve noted in his blog, the deadline doesn't matter and neither do the overruns. If I'd estimated this at 4 weeks, I'd still do it and I'll keep going. I'm not too far behind and I'm trying to track my work over the next week as I do something everyday to keep moving. I won't have the momentum of a single weekend, but by doing something every day, I keep some focus.
I don't think my estimate is too far off, but this is a fairly simple project. However it's only similar to, not exactly like, things I've done before, so I'm going at it a little blind.
Like most software.