HR 3200 Considered As Software
bfwebster writes "Independent of one's personal opinions regarding the desirability and forms of government-mandated health care reform, there exists the question of how well HR 3200 (or any other legislation) will actually achieve that end and what the unintended (or even intended) consequences may be. There are striking similarities between crafting software and creating legislation, including risks and pitfalls — except that those risks and pitfalls are greater in legislation. I've written an article (first of a three-part series) examining those parallels and how these apply to HR 3200."
It would be interesting if there was a structured legislation language.
Consider:
All terms and covered individuals and entities defined up front.
Specific sections that spell out standard considerations
Some kind of enforcement mechanism that wouldn't allow for confusion.
Example sections
TItle:
Purpose:
Definitions: A list of all terms and their definitions.
Requirements: Something that must be done
Prohibitions: Something that can't be done
Funding: How it will be paid for.
Penalties: If any, punishments for violating provisions of the law.
I could see a complete class library, defining the government, that would be used to build the text of the legislation
See what great ideas you can come up with when you are four bottles into your third six-pack?
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
I suspect that the author has an agenda, of trashing the legislation. He also makes a rather fundamental misunderstanding, in his haste to criticize HR 3200. The 'spaghetti coding' is because he isn't looking at the source program itself, what he is looking at is a diff, between the existing regulation and the proposed amended regulation. That is a rather critical difference that invalidates 90% of his analysis.
Imagine a revision control system where all you could look at were diffs, and never a source code with the diffs applied to them. Would you use such a revision control system? Would you use such a revision control system to write a complex piece of software?
And yet, that is the how the legislative process works.
I believe you have an agenda, that of supporting this controversial legislation, which prevents you from seeing the downfall of these unsavory practices. Imagine you have a diff of some program 1100 pages long. Would you be so hasty to apply to the existing source code and put it out to production in less than 7 months (or less!) as the legislators in D.C. tried to do?
Unless you could point out an authoritative system where you can see the existing "legal program" with all the diffs applied to the existing regulation and laws, then the author's critique of the legislation of "spaghetti coding" is valid. After all, what is considered to be "source code" is the form of the program in which the program writers prefer to work in—if the legislators prefer to work with diffs as a primary means of modifying and changing the "legal program", then the diffs are the source code. Think of the existing regulation and laws not as the original source code to which a diff is applied ... but as the system libraries and such which get to be used by the new "legal program".
He neglects to mention that neither the President of Congress have Constitutional authorization to legislate health care for private individuals, or to form National health care organizations.
To compare with software, that would be rather like the software engineers deciding what features are going to go into the software (and getting paid for it), against the explicit instructions of the customer.
I've testified before Congress three times and have provided private technology briefings to US House and Senate staff members working on legislation, so I do have some experience with how legislation works. I've also worked with state legislators on technology-related legislation.
Not all legislation is like HR 3200, but that doesn't obviate my arguments one way or the other. I fully agree that a lot of legislation is like HR 3200, which is why we have a lot of the mess we do. Had I written this post several years ago, I could have (and probably would have) applied the same analysis to the Patriot Act or the effort to create the Department of Homeland Security (both of which I had and have serious qualms about).
Having done large scale systems evaluation and design for many years, I am a firm believer in Gall's Law: the only way to create a large, complex system that works is to evolve it from a small, simple system that works. The majority of large-scale system re-engineering efforts fail, are crippled, or underperform because they try to skip that step. In my observation, much the same happens with large-scale legislation.
Finally, I don'twant an argument on health care reform or HR 3200 at my website. What I'd like is thoughtful feedback on the general concept (legislation as systems architecture) from people who actually know what they're talking about. ..bruce..
P.S. A good book to read would be The Art of Systems Architecting (2nd ed) by Maier and Rechtin. They treat systems architecting as spanning many disciplines, including social systems (Chapter 5).
Bruce F. Webster (brucefwebster.com)
I'm European (Dutch to be exact).
Could an American please explain to me why the majority of USA seems to oppose public healthcare?
I don't mean to say that public healthcare is a perfect system --there is no such thing as a perfect system-- but it sure as hell beats private healthcare on just about every point.
Sometimes it seems the US hates "socialism" so much that they reverted to "asocialism".
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
I think it's an unwillingness to admit that their system isn't the best. You know the mentality - Number one! Number one!
Even free-market advocates think it's broken.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."