Fog Creek Software
Discussion Board




Minimimum system requirements

How do you specify the minimum system requirements for an application?

Hard disk space is pretty straightforward.  But how about the memory requirement - are there tools available to monitoring peak usage (besides Task Manager)?  What about minimum processor speed? Do you need to test the application on various boxes or is there a good way to guesstimate?

Nick
Thursday, March 27, 2003

The oldest, crappiest machine thats still in the test lab and happens to run the software acceptably gets to constitute minimum system requirements :-)

Patrik
Thursday, March 27, 2003

Depends what you are coding.

If it is a mission critical piece of code that determines whether a company is stilll here this time next year, then pretty much anything goes.

In all other cases, think three to five years back. Whatever was bleeding edge then is now minimum requirement.

tapiwa
Thursday, March 27, 2003

Ha! Ha!

So we can conclude that "computer science" and "software engineering" aren't just words.  They're phrases.

I was hoping that there might be a more "scientific" or "engineering" based method than I use - running it on my old Win98 PII 233MHz, 96 MB box.

Nick
Thursday, March 27, 2003

Reminds me of Calvin's dad describing how they figure out the weight limits on bridges:  "They drive bigger and bigger trucks over the bridge until it collapses, then they weigh the last truck and rebuild the bridge."

Kyralessa
Thursday, March 27, 2003

How about the oldest system one of your customers might be using?

Prakash S
Thursday, March 27, 2003

While I am by no means an expert on this subject, I've always calculated it based on the sum of it's parts. The minimum possible specs will certainly be dictated by the requirements of the components and misc. required environmental tools. From there, you'll need to determine if running all of the associated components at the same time may require the increase of any of these, and then assess the potential resources used by the application's internal operations over and above this.

My shrink-wrap experience is mostly based on dealing with fairly straight forward apps that simply provide a UI to gather and display information, storing it in a db of some sort. So, for my apps the additional overhead is usually nil, meaning that my miinimum requirements are typically the more stringent of the version of MDAC or IE I may be dependant on.

Then, just to confirm, I'd test on this level platform.

I would assume that there are some good tools out there, and possibly some of the monitoring tools provided with the upper-end versions of VS that make this more scientific, but so far this has been sufficient for me.

  --Josh

JWA
Thursday, March 27, 2003

I thought it was something written in the design doc, having been arbitarily plucked out of the air by the publisher, which then have to make it "run" on, using the loosest possible definition of run.

But maybe that's just the games industry.

Mr Jack
Friday, March 28, 2003

In the embedded world, memory requirements really do matter - it's a critical part of the design specification and engineers will fret over saving a few bytes here.

John
Friday, March 28, 2003

"The oldest, crappiest machine thats still in the test lab..."

In spite of Nick's derision, Patrik gets it right. If you're going to publish minimum system requirements, you owe it to your customers to have tested on that minimum system. (If you haven't tested on your specified minimum, how do you know that it works?)

Jim Lyon
Sunday, March 30, 2003

I once tried to use a 3rd-party PC-compatible BIOS on a project using a NEC V51 (XT-on-a-chip). Unfortunately, the BIOS vendor had never tested it on an XT-level machine. It wouldn't even compile without errors. Their support was good, and eventually I got it to work (I wrote some new code, I rewrote some of their code, and so on), but my boss and I were not happy campers.

You can try to be safe by defining minimum requirements higher than you think you'll need, but you *must* make sure to actually test on a machine that meets your description of the minimum requirements. If you don't, you're engaging in wishful thinking and/or arrogance, and it's likely to come back and bite you.

Steve Wheeler
Tuesday, April 01, 2003

*  Recent Topics

*  Fog Creek Home