Structured systems aren’t very different even when they occur in very different situations. A recent story on Slashdot about approaching healthcare bill HR 3200 from a system design perspective like you’d find in computer science or information technology. It is something that probably ought to be approached more often, this similarity between legislation and software. A piece of legislation is much like a piece of software in that each type of system is a collection of instruction to be carried out in order to manage something. A piece of software can compel your computer to function as a word processor, audio player, or communications device by compelling it to follow the instructions contained within the software.
Likewise we have laws that govern traffic, financial transactions, and other aspects of civilized society. Different laws create various public institutions and manage the functioning of those institutions along with various policies institutions may enact to fill in details for things not explicitly covered under the law.
The big difference between legislation and software comes in the nature of what they govern. While software governs a machine designed to explicitly execute instructions given to it, laws govern the behavior of people who are all decision makers in their own right. Even if a law were to achieve a theoretically perfect level of completeness and consistency (and what that would mean is a subject of a complex debate on its own) because persons make decisions independently even a perfect law may not be perfectly followed, while a theoretically perfect piece of software running on a theoretically perfect computer could achieve perfect operation.
The original article analyzing this draft legislation is structured as a three part series of which the first and second parts are now available.
