Posted on May - 26 - 2011
By know you should have a pretty good idea on what project software estimation is and how it works, but I bet you’re wondering just who uses software estimation. The blanket term, software estimation, is often applied to software which is so powerful that it can be used to ease otherwise cumbersome ordeals like estimating IT projects, or taking over the world. In these circumstances, software estimation helps prevents missteps that would cause a product to fall behind and thus not ship on time.

Ta-da!
But what else can project software estimation do? Could it, by chance, rock? You’re darn right it can. Both iTunes and the Zune packed a mild form of software estimation into their latest versions with the iTunes “Genius” and Zune’s “mixview”. How are these considered software estimation? We’ll, both programs take a look at the listeners current library and make recommendations based on what they already listen to. Pandora uses a similar tactic, but breaks down songs into their attributes, and then builds a radio station off of those shared attributes. Mog.com, a social network, finds friends and creates social networks based on the songs in a user’s library and how often they listen to them.
Of course, software estimation is used in a lot of other areas. Another term for software estimation is software recommendation. Basically anytime a computer recommends something for you – be it a product on Amazon.com or a website on Google, what happened in the background is some sort of software estimation.
This makes the answer to your question, well, most likely you.
Posted on May - 08 - 2011
Here lies the difficult question. How does software estimation actually work? Conceptually speaking its simple, in practice however, that’s where things become more difficult. I’m sure some of you have a book somewhere by a fellow named Steve McConnel. The book, Software Estimation, carries the subtitle “Demystifying the Black Art” which paints software estimation in a light that it doesn’t really deserve, addressing software estimations reputation as being complex and uncertain.
From a conceptual basis, and certainly when done right, software estimation is not complex at all. Why? Because the computer does all the heavy lifting. The human aspect of software estimation largely relies on regular data entry, supplying the software with as complete a data set as possible.
Why would you need a large data set? That reasoning is the difference between a census and a sample. A sample survey asks a set of questions from a portion of a population, and then extrapolates the results of that survey to make estimates regarding the population at large. A census survey asks a set of questions to the entire population, removing the need to extrapolate.
So, once you plug in all of the relevant information for whatever you wish to estimate, that’s when the computer goes to work, and here’s McConnel’s ‘black art’ stuff. Depending on what you wish to solve, the software estimation tool of your choosing is going to rely on any number of technologies including, but not limited to, parametric algorithms, simulation-based probability techniques, grouping, and historical conclusions. And, of course, each software estimation tool uses different combinations to perform estimations.