actually perform their day-to-day functions using the system. As important as it is to find defects, at the end of the day, our users don't care how many bugs you find as a tester if they can't use your system to perform their job.
Do we really want to build systems without requirements specifications? Do we really want to build the system and then "learn" about it to figure out if this is what the user wanted? Are the developers and testers truly the subject matter experts or should we do our best to figure out what the users want in advance, even if we are not perfect in our endeavors? Can we use preventive testing or some other similar technique to help flesh out some of the ideas of what the system will do before we launch into coding? Even though requirements-based testing will probably only touch a fraction of the possible interactions of the code, we can execute enough requirements-based tests, at the very least, to ensure that the user can perform the basic tasks required for them to run their businesses.