Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase ««12345»»»

Software is Like Building a House Expand / Collapse
Author
Message
Posted Friday, October 5, 2007 4:17 AM
SSC Veteran

SSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC VeteranSSC Veteran

Group: General Forum Members
Last Login: Thursday, September 18, 2014 2:56 PM
Points: 246, Visits: 383
...really carefully analyze all the different tasks that need to be completed for the result as well as prioritizing and sorting them.


Therein lies the key to estimating!

It seems that too often we have a "gut feel" for how long a task should take, and we try to fit everything that needs to be done into that feeling. But if we first break the task down into definable pieces and then estimate each individual piece, the sum of the pieces will become a much more accurate estimate.

I've used the following example for years when discussing estimating. You are sitting in a meeting discussing some aspect of your software. A small change is needed, and you know right where that change is required. Someone asks, "How long will that change take?". "Ten minutes" you respond.

No, that change will take four hours.

Here are the various tasks involved:

1. Discuss and agree upon the change
2. Log into your system and locate and open the program
3. Locate the area in the program where the change needs to occur
4. Think through the change carefully to make sure there isn't other impact. May involve a quick look at other code.
5. Change the code
6. Test the code
7. Move the code into whatever change-management system you may have
8. The code may have to go through some sort of QA process, with internal analysts and/or customers.
9. Document the code change
10. Move code change into production
11. Final verification that the agreed-upon change is correctly working in production.

You could argue the application of some of the points above. The point is, in estimating we too often gloss over all the tasks required to support the primary task (#5 above), and thereby short our estimates right out of the gate.
Post #407250
Posted Friday, October 5, 2007 6:31 AM
Right there with Babe

Right there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with Babe

Group: General Forum Members
Last Login: Tuesday, September 2, 2014 8:37 AM
Points: 751, Visits: 1,917
Actually Jones law is (Douglas) Hofstadter's law, which states recursively

"It always takes longer than you expect, even when you take Hofstadter's law into account"


...

-- FORTRAN manual for Xerox Computers --
Post #407310
Posted Friday, October 5, 2007 6:41 AM


SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: 2 days ago @ 9:37 AM
Points: 2,651, Visits: 5,983
Just about the only thing that I can estimate correctly these days is brewing a batch of beer. 4.5 hours from start to finish including cleanup, and 3 weeks later I get to enjoy it...

As for everything else, like many of the other posters have mentioned I believe the fact that we underestimate because we're either a) too optimistic or b) don't take into account all of the things that really need completed. For me it's typically a bit of both, and it's something I'm constantly striving to better myself with.

-Luke.


To help us help you read this

For better help with performance problems please read this
Post #407316
Posted Friday, October 5, 2007 6:44 AM
Grasshopper

GrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopperGrasshopper

Group: General Forum Members
Last Login: Tuesday, December 16, 2008 11:54 AM
Points: 14, Visits: 12
Whenever I start a project around the house, my wife is quick to remind me that it may become a "Broomhead Project". That is our official designation for projects that run past the estimates.

Like when I had to replace the wax ring of a toilet. Should have been easy but the previous owner used a hammer to bend the floor bolts over. They had been too long and the plastic cap wouldn't fit over them (and hide the bent bolts). The toilet was very close to the wall forcing me to use a mini-hacksaw to cut the bolts.

Or when I needed to fix a faucet that started to leak. When I tried to turn off the water with the valve under the sink, the handle just twisted around and around. It was stripped. When I went out to turn off the water supply to the house, the shutoff was buried under about 4 inches of mud. Also, a trip to the store to buy another valve, canister of propane, solder, flux, and copper pipe.

The only place that I come close to completing projects on time is at work. Now if I could figure out how to write a program to put new flooring in my kitchen, I might be on-time and under budget :)
Post #407317
Posted Friday, October 5, 2007 7:36 AM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: Administrators
Last Login: Today @ 4:16 PM
Points: 31,018, Visits: 15,456
Nice to see I'm not the only one having issues with estimates. Todd has a nice comment above and I tend to agree with it. With small changes, the overhead is large and can easily overwhelm the change itself. With large changes, it's hard to estimate in detail.

I will say that as we've built some software at End to End Training, we tend to discuss it more before we build. Spending 2-3 hours going over features and expectations a few times results in us thinking through what we want with fewer changes down the road. It's very annoying to keep discussing it without seeing progress, but it does seem to help.

As for manure, it can easily take longer. Depends on how much hay the horses have eaten :)

No comments on my video?







Follow me on Twitter: @way0utwest

Forum Etiquette: How to post data/code on a forum to get the best help
Post #407340
Posted Friday, October 5, 2007 7:39 AM
SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Tuesday, September 16, 2014 5:47 AM
Points: 6,259, Visits: 2,029
shepton (10/5/2007)
Unashamedly pinched from I can't remember where...



If Architects Had To Work Like Software Designers...

Dear Mr. Architect:

Please design and build me a house. I am not quite sure of what I need, so you should use your discretion. My house should have somewhere between two and forty-five bedrooms. Just make sure the plans are such that the bedrooms can be easily added or deleted. When you bring the blueprints to me, I will make the final decision of what I want. Also, bring me the cost breakdown for each configuration so that I can arbitrarily pick one.

Keep in mind that the house I ultimately choose must cost less than the one I am currently living in. Make sure, however, that you correct all the deficiencies that exist in my current house (the floor of my kitchen vibrates when I walk across it, and the walls don't have nearly enough insulation in them).

As you design, also keep in mind that I want to keep yearly maintenance costs as low as possible. This should mean the incorporation of extra-cost features like aluminum, vinyl, or composite siding. (If you choose not to specify aluminum, be prepared to explain your decision in detail.)

Please take care that modern design practices and the latest materials are used in construction of the house, as I want it to be a showplace for the most up-to-date ideas and methods. Be alerted, however, that kitchen should be designed to accommodate, among other things, my 1952 Gibson refrigerator.

To insure that you are building the correct house for our entire family, make certain that you contact each of our children, and also our in-laws. My mother-in-law will have very strong feelings about how the house should be designed, since she visits us at least once a year. Make sure that you weigh all of these options carefully and come to the right decision. I, however, retain the right to overrule any choices that you make.

Please don't bother me with small details right now. Your job is to develop the overall plans for the house: get the big picture. At this time, for example, it is not appropriate to be choosing the color of the carpet. However, keep in mind that my wife likes blue.

Also, do not worry at this time about acquiring the resources to build the house itself. Your first priority is to develop detailed plans and specifications. Once I approve these plans, however, I would expect the house to be under roof within 48 hours.

While you are designing this house specifically for me, keep in mind that sooner or later I will have to sell it to someone else. It therefore should have appeal to a wide variety of potential buyers. Please make sure before you finalize the plans that there is a consensus of the population in my area that they like the features this house has. I advise you to run up and look at my neighbor's house he constructed last year. We like it a great deal. It has many features that we would also like in our new home, particularly the 75-foot swimming pool. With careful engineering, I believe that you can design this into our new house without impacting the final cost.

Please prepare a complete set of blueprints. It is not necessary at this time to do the real design, since they will be used only for construction bids. Be advised, however, that you will be held accountable for any increase of construction costs as a result of later design changes.

You must be thrilled to be working on as an interesting project as this! To be able to use the latest techniques and materials and to be given such freedom in your designs is something that can't happen very often. Contact me as soon as possible with your complete ideas and plans.



PS: My wife has just told me that she disagrees with many of the instructions I've given you in this letter. As architect, it is your responsibility to resolve these differences. I have tried in the past and have been unable to accomplish this. If you can't handle this responsibility, I will have to find another architect.

PPS: Perhaps what I need is not a house at all, but a travel trailer. Please advise me as soon as possible if this is the case..





Mark


Now That's FUNNY...



* Noel
Post #407342
Posted Friday, October 5, 2007 7:41 AM


SSCrazy

SSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazySSCrazy

Group: General Forum Members
Last Login: 2 days ago @ 8:20 AM
Points: 2,373, Visits: 2,726
I know I am a terrible estimator; it's definitely something I want to improve. For example, I thought this post would take me one minute to write and it ended up taking me five.



But in terms of things that don't take longer than expected, in my experience those tend to be situations where someone else stands to make money. I always dread movie lines, then the next thing I know I'm at the front.



The corollary is that getting a refund or exchange almost always takes longer than expected.







webrunner


-------------------
"Operator! Give me the number for 911!" - Homer Simpson

"A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'"
Ref.: http://tkyte.blogspot.com/2009/02/sql-joke.html
Post #407345
Posted Friday, October 5, 2007 8:27 AM
Old Hand

Old HandOld HandOld HandOld HandOld HandOld HandOld HandOld Hand

Group: General Forum Members
Last Login: Wednesday, May 21, 2014 3:28 PM
Points: 334, Visits: 167
I like to use Bob Vila's rule: Take your estimate and double the units of measure. So if you think something will take one minute to complete, your estimate should be two hours. If you think that a project will take three hours, your estimate should be six days, and so on. Now another good rule of thumb is to use Scotty's (from Star Trek) method for estimating; multiply everything by a factor of four. Something that should take two weeks to complete will actually take eight weeks.
Post #407382
Posted Friday, October 5, 2007 9:22 AM
SSC Eights!

SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!SSC Eights!

Group: General Forum Members
Last Login: Wednesday, May 9, 2012 10:26 AM
Points: 891, Visits: 1,958
Donald E. Weigend (10/5/2007)
I like to use Bob Vila's rule: Take your estimate and double the units of measure. So if you think something will take one minute to complete, your estimate should be two hours. If you think that a project will take three hours, your estimate should be six days, and so on. Now another good rule of thumb is to use Scotty's (from Star Trek) method for estimating; multiply everything by a factor of four. Something that should take two weeks to complete will actually take eight weeks.


But you left off the best Scotty/Kirk part!

Kirk: Mr. Scott, do you always increase your time estimates by a factor of four?
Scotty: Of course, Captain! How else can I keep my reputation as a miracle worker!


I've always liked the concept of under-promise and over-deliver. And Mark's piece is absolutely brilliant! Since he doesn't remember from where he unabashedly pinched it, I shall with equal unabashment pinch it from him.
Post #407413
Posted Friday, October 5, 2007 9:34 AM
Right there with Babe

Right there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with BabeRight there with Babe

Group: General Forum Members
Last Login: Wednesday, February 5, 2014 8:30 AM
Points: 769, Visits: 191
Well it is really good to know that even someone who has been involved in making estimates most of his life has trouble with it.

I have always had trouble giving estimates, partly because I just think it won't take as long as it does. I used to error on the short side because I was afraid the people receiving the estimate wouldn't accept a longer time line. While I think I have gotten over that problem, I still seem to estimate things on the short side.

Other people are always telling me that all it takes is more practice and I will get better at estimating software projects. It is good to know that others have struggled with the same issues.
Post #407431
« Prev Topic | Next Topic »

Add to briefcase ««12345»»»

Permissions Expand / Collapse