README.md in est-0.3 vs README.md in est-0.3.1

- old
+ new

@@ -54,5 +54,60 @@ $ est --dir=./est Estimate: 90 hours Accuracy (%): +300/-45 Precision (%): 6.5 ``` + +## Scope Champions + +Scope Champions estimating method was introduced a +patent application [US 12/193,010](https://www.google.com/patents/US20100042968). +This article explains it in more details: +[Revolutionary Method Of Cost Estimating](http://www.technoparkcorp.com/innovations/scope-champions/). +In a nutshell, there are three steps. + +First, you break down the entire implementation scope into items, like +it's done above, and list them under `scope`. Pay attention, you should list +only technical code-writing tasks. Testing, requirements analysis, thinking +and talking should not go into this list. Imagive, what would you do +if you would be the only programmer working with the product. Imagine, you +have to create the product from scratch, being the only programmer in house. +It is important to keep all work items on the same level of abstraction. This +means that the complexity of all items should be approximately the same. + +Second, select a few items from the list (2-3), which are the most difficult +to implement. They are called "scope champions". List their numbers +under `champions`, as it's done above. + +Third, estimate that champions using [three-point estimating method](https://en.wikipedia.org/wiki/Three-point_estimation). +As in the example above, every scope champion should get three numbers. +Worst case is how many hours you would spend on it, if everything would +appear to be very difficult and most probable risks would happen. Best +case is how many hours would this work take if everything would go easy +and without any risks. Most likely is how much would it take, in a normal +situation, according to your estimate. + +## Best Practices + +**Don't Look Back**. Try not to look into previous estimates +made in the project. It's tempting, but try to control yourself. Create +your own estimate first and then look at others that already exist in +the project. + +**Coding Time Only**. Estimate code writing time only. Don't estimate +time you would spend on discussions, thinking, modeling, diagramming, +documenting etc. The estimate should count only the time you, as a single +programmer in the project, would spend on code writing. + +**Estimate Regularly**. Re-estimate the entire project from scratch regularly. +In each estimate look at the project as a whole and estimate the entire +scope. Not what's left, but the entire scope, as if you would need to +re-create it all from scretch. Even if the project is close to its end, +don't stop re-estimating it. + +**Change Estimators**. Try to ask everybody in the project to estimate it +time to time (programmers only). Changing estimators will help the project +to keep numbers out of bias. + +**Count On Your Skills**. Estimate the amount of work you would need to +develop the product, not some abstract programmer. Rely on your personal +skills, speed and expertise.