Portfolio
FreezePro Software is a custom software development and outsourcing
company.
See more
The main and the most important term in the estimation process is how uncertain
are the requirements. On different phases of project lifecycle those requirements
are slightly different. The main and most valuable way to see that is a cone of
uncertainty.
Making detailed estimate has a great impact on project development itself. At the
early stage an estimator gets familiar with most of aspects and features.
There’s huge number of factors to take into account when doing an estimate, but
there are few common estimation techniques which in complex can show quite correct
results.
1) Make calibration based on historical data. It's important to software
organization, starting to collect current projects data. The good way to start is
to count size, efforts, time, and defects. These data can be calibrated to new project
that is going to be estimated. As an alternative some Industry data can be used
on a very start, but these can be quite different from company data.
2) Individual Expert Judgment. While using development team it's important
to be involved in estimation. People provide their estimates in Best Case, Worst
Case and Expected Case categories; afterwards there is a formula that gets used
to produce quite precise results.
3) Decomposition.It is related to the name, so an estimator decomposes big
features into smaller until. It’s quite obvious for every feature to get right completion
timeframe or effort.
4) Estimation by Analogy. While developing next phase or next version of
the software and there are some numbers from previous project, it's time to use
analogy technique. Comparison can be done by number of features, database tables,
web pages, reports, charts, base classes. According to this, an estimator can also
build expected lines of code.
5) Proxy-Based Estimates. Identifying a proxy that is correlated with what
was intended to estimate and what is easier to estimate or count than the quantity
you're ultimately interested in. Estimator can use some of proxies such as Feature
size that counts the number of small, medium and large features. Standard components
such as: web pages, database tables, reports, business rules - can be calculated.
Software development methodology uses story points, where developer tends to apply
some numbers of points per story. However, this can be done only after first iteration
or SCRUM sprint.
6) Group reviews. Group based technique uses special structured technique
called Wideband Delphi, which takes a few iterations to make every next round of
estimation with less errors. From practice the technique gives cut around 40% of
initial estimation error.