Whenever we start into a new project, I will try to find out what the software packages that will be installed are. From there, I work backward to develop the hardware specs. Always try to stay at least at the recommended hardware levels for the software that you are installing, preferrable above this level. This will allow for software updates/upgrades without having to reset hardware first. Also try to ballgame what else is likely to be put on the machines. Many times have I been told that the machine is only going to perform one function (such as a Point of Sale register) and then am called when the bottom of the line machine that we installed, 'cuz it was cheap, won't run SQL 7 or some such program. They thought it would be a good idea because the machine wasn't used very much. I always try to at least ballgame for worst case and then back off to fit in budget and constraints.
Just my thought process,
Vickie