Posted on June - 19 - 2009

Searching For A Layman’s Explanation of Parametric Modeling

Professor Charlie Eppes, solving crime no doubt

Professor Charlie Eppes, solving crime no doubt

For a few years, CBS has been running a television show called Numb3rs. The premise is the standard take off on the brothers-solving-mysteries cliché that has been around since at least the Hardy Boys. Granted, Numbers has a couple of differences – the boys are older and employed. Don Eppes, the older of the pair, runs a team of FBI agents based in Los Angeles – a fair step above the amateur sleuthing of the Hardy boys. Charlie Eppes, the younger brother, is a math genius and a professor at the fictional “Cal Sci”.

Each week, Don and his street-savvy FBI team encounter a problem, usually a time sensitive one, which is just too tough to figure out through traditional police work. Like clockwork, Professor Charlie Eppes and his team of socially-awkward yet brilliant mathematicians are able to use some form of advanced mathematics to accomplish a whole list of things from predicting where a kidnapping will happen next to the contents of boxes.

And while a great deal of that is Hollywood magic, taking lab theory and shoehorning it into unrealistic time periods with even less realistic amounts of data, there is one part of the show that I always admire. At some point, the young Professor Eppes must explain a complex, doctoral-level mathematical system in terms that team of FBI agents can understand. This happens every single episode with such predictability that the character in the show have started to expect it, even making jokes and attempting to give their own explanations.

Charlie’s explanations are clearly a plot device to convince the audience that his brilliant mathematical insights aren’t simply a weekly deus ex machine. However, just as Charlie has to explain how his math models the real world, the use of software estimation can often seem just as improbable. True, you can sit back and say “Well, the program relies on parametric modeling of our current situation,” but that look is far more likely to generate blank stares than anything else.

To that end, I’m currently working on a good lay definition of parametric modeling and a few handy examples. Stay tuned for those.

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 - 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.