![]() |
|
An e-newsletter published by |
September 2007, Vol. 4 No. 7 |
| Welcome to Food for Thought™, an e-newsletter from Software Quality Consulting. I've created free subscriptions for my valued business contacts. If you find this newsletter informative, I encourage you to continue reading. Feel free to pass this newsletter along to colleagues by clicking this Forward Email link. If you’ve received this newsletter from a colleague and would like to subscribe, please click this Enter New Subscription link. If you don't wish to receive this newsletter, click the SafeUnSubscribe™ link at the bottom of this newsletter, and you won’t be bothered again. Your continued feedback on this newsletter is most welcome. Please send your comments and suggestions to info@swqual.com. |
In This Months’ Topic, I discuss practical techniques to improve estimating skills…
|
|
Estimating and Scheduling for Dummies Part I - Estimating The For Dummies series started in 1991 with "DOS for Dummies" and quickly gained popularity. Now with more than 125,000,000 books in print, the For Dummies series caters to everyone’s needs. Some of the bestselling titles include "Dating for Dummies", "Shakespeare for Dummies", “Feng Shui For Dummies", and yes, “Politics for Dummies” - the book that claims to help you sift through all the babble to get to the truth! |
|
|
If a For Dummies book can help us understand a topic as obscure as politics, maybe its time someone wrote a For Dummies book on Estimating and Scheduling for Software Projects. Why? Because of all the things we do on software projects, by far, estimating and scheduling is the thing we do the worst. Every software company has war stories of failures resulting from inaccurate estimates and unrealistic schedules. With all of this experience to build on, you would think that we would learn from our past mistakes. Well, it seems that we haven’t. The amazing thing about this topic is that it’s not rocket science! People have been estimating and scheduling tasks for hundreds, maybe thousands of years. Yet, we in the software industry have managed to take something that is done well in other industries and screw it up to the point where we often just give up in disgust. Think about this:
This month, we look at ways to improve the accuracy of estimates. Next month, we’ll continue this discussion with a look at ways to develop realistic schedules. Estimates, Targets, Commitments, and Schedules To begin the discussion on estimating, we need to start with some definitions. Steve McConnell says that:
If you have good estimates, project managers can make good decisions about how to control the project so that you are more likely to meet, or come close to meeting, the project’s targets and commitments. (We’ll define these new terms in a bit.) Okay, so what is a good estimate?
You can decide how good the estimate needs to be based on risk to the project. Clearly, for some parts of a project, estimates may not need to be as “good” as for others. An important point about estimates that most people don’t understand is that:
What does this mean? Well, consider this - it takes about 9 months to have a baby. This estimate is based on physiological data and a whole bunch of personal experience. There’s not much we can do change it. It’s not negotiable! One last point about estimates:
If your projects suffer from poorly written, ambiguous requirements, you have no hope of getting better at estimating. Starting with well-written requirements is the first step. Steve McConnell [1] defines targets as descriptions of desirable business objectives that are determined by making business decisions. Targets are internal to the business.
|
|
|
Steve McConnell [1] defines commitments as promises to deliver defined functionality at a specific level of quality by a specific date. These are promises made specifically to customers - be they internal or external.
Steve McConnell [1] defines schedules as a list of a project's terminal elements with intended start and finish dates. Terminal elements are items that are estimated in terms of resource requirements, budget and duration, and are linked by dependencies.
An important point to remember about schedules:
Learn more about accurate estimating and scheduling techniques… Now that we have defined these terms, let’s discuss some ways to build good estimating skills. Building Good Estimating Skills Karl Wiegers said that:
Just like anything else, some people are better at estimating than others. These folks have mastered a few basic skills that allow them to make good estimates. What are these skills? Here are some examples:
Summary Bottom line - to get better at estimating, you need to track the actual time it takes you to do the work, compare your estimate with the actual time and reconcile the difference. Measure the goodness of your estimates to see if you are getting better. Remember:
Only by starting with good estimates can we have a chance at creating realistic schedules that we can meet. More on schedules next month… Till next time… |
Every month in this space you’ll find additional information related to this month’s topic.
|
Every month you’ll find news here about local and national events that are of interest to the software community…
|
Software Quality Consulting provides consulting, training, and auditing services tailored to meet the specific needs of clients. We help clients fine-tune their software development processes and improve the quality of their software products. The overall goal is to help clients achieve Predictable Software Development™ – so that organizations can consistently deliver quality software with promised features in the promised timeframe. To learn more about how we can help your organization, visit our web site or send us an email. |
I hope this newsletter has been informative and helpful. Your comments and feedback are most welcome. Send me your feedback… Thanks, |