Posted on September - 30 - 2008

So, who uses this stuff?

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!

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 September - 22 - 2008

Next qestion, how does it work?

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.

Posted on September - 18 - 2008

Yes, but what IS it?

For some, the cocktail question is easy. Lawyers only need to specify their field. Doctors, construction workers, and teachers can all clearly explain exactly what they do in a just a few words, saving the listener from having their eyes glaze over in confusion. However, when you work in software estimation, the answer to the question “Oh, what do you do?” is a little more difficult than most.

Ah, the cocktail question

Ah, the cocktail question

The difficulty lies in two prime areas. The first is that even now as people are moving more and more of their lives online, software estimation still isn’t used in a lot of jobs. The idea itself is slowly starting to take off, but to put it one way I’ve actually heard a coworker say “If you need [software estimation] then you already know what it is. If you don’t know, then you probably don’t need it.” Granted, my coworker’s view was a bit cynical, software estimation is a growing field – Apple’s new iTunes Genius is a very simple version of software estimation – but he does have more than hint of truth in his statement. Software estimation is used to make decisions that are relatively complicated, and those decisions are usually reserved for larger companies for which risks are to be avoided if at all possible.

How complicated? Well, Microsoft’s book on software estimation refers to it as a “black art” which is a bit of a harsh misnomer that casts software estimation as perhaps something that is evil. I can assure you, software estimation is anything but. The term “art” is kind of an interesting fit for just what software estimation does – as no two products use the same process to get the same results.

And of course, none of these actually do explain what software estimation is, or what it does. To put it simply – software estimation is process that takes all these disparate pieces of data, pours them all into a pot, and then predicts the future. Of course, that’s not what I tell people. No, I tell them it’s that I work with fact-based crystal balls. That always seems to go over better.

Posted on September - 05 - 2008

Software Sizing, Software and Risk Management Book

Software Sizing, Software and Risk Management

Software Sizing, Estimation, and Risk Management is a practical, hands-on discussion of the software estimation, planning and control process. It addresses critical factors that affect estimates, methods for selecting and applying appropriate measures to projects, proper software sizing, processes to identify and manage risk, and best practices to avoid problems and develop successful project plans.

Authors Galorath and Evans draw on their expertise in sizing, estimation, process engineering and risk management to illuminate issues that make many estimates crumble.

The book offers insights not readily available elsewhere, enabling readers to recognize and avoid software project failures caused by poor estimates.

About Software Sizing, Software Estimation, and Risk Management:

“Shows how to use your estimation and project tracking data to improve your estimation accuracy and identify best investments for improving your software productivity and cycle time. Investing in acquiring this book and following its advice is highly likely to provide you with a robust return on your investment.”

Dr. Barry Boehm
Director of the Center for Software Engineering
University of Southern California (USC)

Order from Auerbach Publications and receive a 15% discount.
(Use promo code 682CC when you place your order.)

You can find out more about Galorath and their estimating software tools.