Showing posts with label Analogous. Show all posts
Showing posts with label Analogous. Show all posts

Sunday, March 23, 2008

March 24, 2008 – Estimating Lessons Learned – Estimate Creation

No matter which estimating type you use, there are common steps to creating one.

Lesson 6 - Include your Team. Don’t estimate in a vacuum. Using the team sets you up for success on two fronts. First, the estimate will be more accurate. They know the details of what needs to be done, without which you are just pulling a number out of your hat. Second, it builds buy in and commitment. If they are involved in the process they have ownership of the final result.

Lesson 7 - Break it down. The question always asked is “How do you eat an elephant?” Frankly, I don’t believe anyone eats elephants any more. It is probably a cholesterol thing. How do you get in shape is a different animal. Reduce it to chunks: Diet, Exercise, and Support. Then break those into pieces. Diet - What to eat and what to avoid. Exercise – Classes, weights, aerobics, swimming or walking. Support – find a group and meet regularly. Broken down you can wrap your mind around it.

Traditionally projects create a Work Breakdown Structure (WBS) to identify the work products. Another approach is using Use Cases to drill to specific stories. However you do it, chop the big chunks into smaller units that can be more accurately estimated.

Lesson 8 – Mix and match estimate types. There is no rule that says you must estimate all pieces the same way. If there is a piece that looks like something you have done before, use the Analogous technique to estimate it. For reports the Parametric type may be appropriate.

Lesson 9 – Ask the right questions. One of my previous employers estimated a project to complete a previously implemented system across an enterprise. The question they failed to ask? “Does it work in the area it was first implemented?” The answer would have been “no” and the estimate would have been considerably higher.

Lesson 10 - Document your reasoning. How you came up with the number is as important as what the number is. We’ll delve into this more next week.

Lesson 11 – Sketch a calendar. Create a sanity check for your estimate. Lay out the high level estimate on a timeline by month. Estimate the number resources you need, when you will need them and for how long. Include the number and type of resources broken down by week. Keep it simple as illustrated in the graph below.

I purposely used Excel and kept the image rough so that it does not convey any semblance to accuracy. Does the resource effort look accurate compared to the numeric estimate? Sometimes this rudimentary method allows you to see it from a different angle and find gaps in your estimation.

Lesson 12 - Add Project Management. Include time for status reporting, timekeeping, status meetings and other items. Be aware of other tasks that Project Managers may be pulled into like steering committees, metrics management and resource management. For larger projects a Project Coordinator or even sub-project leads will be necessary to help manage the effort.

In some respects establishing the actual estimate is learned and perfected as you do more estimates. What are some of the tricks you have picked up over the years?

Sunday, March 9, 2008

March 10, 2008 – Estimating Lessons Learned - Traditional

Estimating is probably the hardest part of any project. My wife will attest that my ability to estimate when I will leave work is inversely proportional to the importance of me getting home at a specific time. The plan will be for me to only work until noon the day we leave for vacation. At 2:00 I will still need to finish my status report, change my voice message and set my out-of-office email. Maybe I just need a better estimating technique.

Lesson 4 - There are many different ways to come up with an estimate. This week we will take a look at the more traditional methods: Analogous / Top Down, Parametric, Bottom Up and Work Distribution. Next time we will discuss a some of the newer methods like Time Boxing and Wideband Delphi.

Analogous (Top Down). When a project is first considered, the quickest ways to develop an estimate is to compare it with one from your past. The question then becomes: Is it half as big or 5 times bigger? The focus is on what is different from the previous project. This technique requires the least amount of detail and gives the widest margin of uncertainty. This typically regulates it to Rough Order of Magnitude estimates.

Parametric. Normally associated with construction, Parametric estimates are based on historical data. For building a house a contractor may price it at $103 dollars per square foot. The calculation is built from years of completing similar jobs and calibrated with the current cost of materials. This is similar to the use of Function Point analysis in software development. A Function Point is a single unit of business functionality. The cost (in dollars or hours) of a single unit is calculated from past projects. New projects are defined by the number of function points and the math is done to create an overall estimate. This can be effective for features of similar sizes like reports or system interfaces. If historically it takes 40 hours to design, create, build and implement a report, 10 reports is going to take 400 hours.

Bottom Up. This form of estimate requires a more detailed analysis of the project. The Work Breakdown Structure (WBS) is defined further to identify the tasks associated with the work products. Each task is estimated and the cost for all of the individual pieces is combined to create the overall total. Using scheduling software like Primavera and Microsoft Project helps to define, record and plan the estimate. This is the most accurate type of estimate, but it requires a level of detail usually only known after the requirements are fully defined.

Work Distribution. Somewhere between Bottom Up and Parametric is the Work Distribution method. Usually the development phase of the project is estimated at some level of detail and the time for the other phases is based on a percentage of the project. The percentages are specific to the organization and project team performing the work based on their past performance. Generic numbers could be:
Phase %
Initiation 5
Requirements 15
Design 10
Construction 30
Testing 20
Implementation 5
Project Mgmt 15

The development team estimates the construction effort and the other hours are calculated based on that amount.