"Requirement (n): the absolute minimum amount of information necessary to get a developer to start writing code for a desired function."
A bit cynical, sure, but it captures the essense of a lot of "requirements" I see thrown around in project meetings. The assumption here by business people is that the sooner the developers start coding, the sooner they'll be finished. Another unspoken assumption is that the developers' time is a lot less valuable than the business person's. Experienced developers push back and ask for something resembling a so-called "SMART requirement." New developers just start hacking, with predictable results.