Rainbow Testing | |||||||||||||||||||||||||||||||||||||||||||
The Art of Estimation
{ 06:14, 16 February 2007 }
{ 3 comments }
{ Link }
Main Entry: 1es·ti·mate Pronunciation: es-tə-māt Function: transitive verb; Etymology: Latin aestimatus, past participle of aestimare to value, estimate Date: circa 1532 1archaic a: esteem b: appraise 2 a: to judge tentatively or approximately the value, worth, or significance of b: to determine roughly the size, extent, or nature of c: to produce a statement of the approximate cost of 3: judge, conclude Function: noun Date: 1552 1: the act of appraising or valuing : calculation 2: an opinion or judgment of the nature, character, or quality of a person or thing Pronunciation: es-tə-mā-shən Function: noun Date: 14th century It’s about judgment; appraisal; a rough, tentative approximation of value, best handled with calloused hands and a skilled eye. This is not the stuff of laboratories with their over sanitized exactitude. This is about the credibility of well worn boots and measured words. Estimation is an art based on the weight of experience and the credibility of reputation. This is where theoretical science marries the real world. It’s imperfect, it’s challenging, there are wins and losses, but the value gained makes the effort worthwhile. How do we bring together theory and reality in a way that actually brings value to the project table? It’s a necessity for planning, and for creating the space necessary to perform proper testing and reduce risk. Yet many testers have little experience in it. Some balk at the suggestion of it. There are those who feel greatly suspicious of it. Most testing education focuses on uncovering the exact truth, providing statistics that reveal precisely what has happened. Testers exist to validate, not to project. Having invested years of experience in proving the accuracy or inaccuracy of the predictions of others, testers may be rightly loath to engage in such a speculative activity as estimation. But to gain expertise in this skill will bring to a project valuable planning information that no other team representative can provide and can go a long way in obtaining for testers the one quantity so frequently in short supply: enough time to test. It’s a gem worth panning for. Let’s examine the known quantities that provide a basis for the exercise. Perhaps you have no more information than the development timeline and the high level requirements. Is estimation impossible? No, you can still start from there. Industry Standards What is the project management standard for estimation? In the absence of all other information 40% of development time plus or minus the level of confidence in the estimate is a good starting point. Where did the magic 40% come from? I have not been able to find a clear scientific reference for this. (I’m open for comments that may point to that source!) However, it is a reliable project management “standard” so you won’t be faulted for using it.
How sure are you that this is the right amount of time? This level of certainty is your confidence level. It’s not a random number but a number about randomness. Confidence levels are generally used as statistical measures of certainty in results. We can use this to express the randomness of the data we are working with. A confidence level of 50% indicates the estimate is truly random based on pure speculation, with about a 50-50 chance that the time estimated would be the actual outcome. At 75% the odds are still not good - there's a one in four chance that your estimate is meaningless. This describes a situation where only a small portion (less than 25%) of information is available for prediction. Some statisticians consider 90% to be the minimum confidence level for statistically significant results. This would be based on known, repeatable results. If you have historical data that directly relates to your estimate, you can increase your confidence level accordingly. And in the absence of all other information you cannot really have better than a 50% level of confidence in the estimate. So you start with 40% of dev time, the industry standard, multiply and add half again. Or more if you really aren't sure. (40% x Development time) = initial estimate (initial estimate x 50% confidence level) + initial estimate = final estimate In case you’re wondering, you can save time by combining the two formulas. Just multiply the development time by 1 2/3 or 166.6667. If the test team is in house, the development is standard and there are metrics for set up and test case development, for turnaround, for defect rates and time actually spent running the tests; then you gather all of that information and start revising your estimate. You now have a list of activities, each of which has an historical metric, or an estimate. Remember to buffer, but be honest about what you are using as your basis. It's better for the process to be transparent, it invites people to volunteer information they may have been keeping to themselves and it instills confidence in your method. The Value of History
References: www.m-w.com http://www.malwarwick.com/learning-resources/confidence-level-calculator.html { Last Page } { Page 8 of 10 } { Next Page } |
About MeMy Profile Archives Friends My Photo Album
LinksSoftware Quality Association of DenverQuality Assurance Institute Worldwide Sticky Minds - online testing magazine Cem Kaner's website Website of company headed by Hung Nguyen CategoriesSoftware TestingBook Review Recent EntriesRegression testing – the Ugly Betty of Testing…Greater is the art of ending Zombie projects – when the software lifecycle won’t die The test of true love The risk retrospective: a hero's eye view Friendsifraserjimhazen strazzerj PeteNairn SyndicationSite Feed |
||||||||||||||||||||||||||||||||||||||||||