Applications should be tested in a production-like environment. I recently used The Grinder, a load testing tool, to simulate production-like conditions.
If you're plagued with poor estimation of user stories, appoint a "scout" — someone who'll take responsibility and properly prepare for planning meetings.