There's this thing in engineering called SMART requirements. You probably don't want to follow that link. Here's a summary:
Basically, when you make a piece of software, you need to know what to make. It turns out that this is the really hard part of software engineering. By and large, design, programming, testing and rollout are all well understood fields with a bunch of best practice books and so on kicking around in order to do them well. (Design is still a bit more of an art than a science, but I think that any engineer worth his salt can do good design intuitively.)
So, gathering a client's requirements and turning them into a system design that accurately reflects the requirements is quite hard. There is no accepted universal method, and even if there was, most clients probably wouldn't know how to do their part of it. It's also where the politics of engineering come in - who's in control of what, which bits of risky development can be parcelled out to whom, and so on.
One of the tools I've seen to ensure a higher quality of requirements gathering is the notion of SMART requirements. It is effectively a combination of a tree-structured hierarchy of systems requirements with a checklist for ensuring that each node in the tree meets some basic rules. Here are the rules:
S - Specific: Specific requirements are clear, consistent, simple, and "of an appropriate level of detail".
M - Measureable: The system can be checked against measureable requirements to indicate whether the system meets the requirement or not.
A - Attainable: Attainable requirements are those which can be reached by the system.
R - Realizable: Realizable requirements are those which can feasibly be reached by the system.
T - Traceable: Traceable requirements can be associated with every onward part of the system: design, implementation and testing elements.
So how can SMART requirements be useful in politics?
In the drafting of bills of law, that's how. If every law passed had to be Specific (not wordy, concise, clear), Measureable (identifying clear measures of success), Attainable (the aim of law was possible), Realizable and Traceable (any programs instituted would be clearly identified with measures and the individual laws and parts of laws that brought them into force), we might be a lot better off.
Particularly if a second, independent body were to be responsible for identifying measures of success and feasibility. I would hope to engender a situation like this:
"Cannabis is dangerous, we want to reduce the number of people who smoke cannabis because it is a health risk. Let's try reclassifying it to a class B drug."
"Sure. Let's take note of how many people are smoking it now, and how many are suffering adverse health effects, and you can give it a go."
-> 5 years later...
"Hmm, making cannabis more illegal didn't really work. We'd better repeal that law."