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."
HR3200 considered by a software designer with no concept of how legislation works, aka: how to get my rant about HR3200 posted on Slashdot by superficially comparing it to software.
Okay, maybe that title is too long, but at least it's more accurate.
The bulk of the article is concerned with how HR3200 is an unmanageable mess because it's really really long and makes reference to lots of other laws. Well, surprisingly enough, this is how just about every other piece of legislation ever looks. Laws are not written in, and do not exist in, a vacuum. There is a tremendous body of legislation that already exists. New legislation has to modify parts of that existing legislation, while keeping other parts, deleting still other parts, and ignoring completely other parts that aren't relevant to the new law. It's sort of like revision control in software, except instead of having a bunch of diff files in the background and having the new law be the final combined output, the new law is basically a diff file itself, which in turn modifies earlier diff files, which may themselves modify earlier diff files, and so on. The entire revision history is kept in the legislation itself, basically.
HR3200 is very long and complex because it's seeking to overhaul a very large and very complex system with a vast number of laws already written about it. HR3200 has to modify a number of these existing laws in order to do what it aims to do. Frankly, I'd be worried if it came in at much LESS than 1000 pages, given the scope of what it is trying to do and the vast amount of legislation that's already been written regarding health care. The relevant government agencies have plenty of lawyers and other experts whose job it is to make sure the legislation is understood and implemented as written.
Basically, this whole article is an excuse to drive page hits to this guy's blog, and to Slashdot, by trying to come up with some excuse to get huge argument started about health care on a technology site.
Is this article a troll? Yes, I can see the utility in comparing legislation with software, although I was hoping for something a bit more than superficial analogies. But if the comparison is any use at all, then it will apply to legislation as a whole, so why choose one particular piece of current and controversial legislation to discuss? Surely the fact that it is both current and controversial is only a distraction from the main thesis, of comparing legislation with software? 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.
The blogger's complaints seem to boil down to:
1) The legislation is in English
2) The legislation is long
3) The legislation amends current law
Seems to me that *any* important legislation has these "flaws," including laws that have had very positive consequences (i.e., McCain-Feingold). Thankfully, other websites actually parse and interpret the legislation rather than whine about its length.
Isn't H.R. 3200 sort of like DirectX 4?
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, for one, do not need to see the current health care legislation cast in yet another new light. What's next?
Your health care bill rewritten as FORTRAN with no compile errors?
1300 pages of health care reform written in haiku (it might be more understandable this way)?
The health care reform bill run through deCSS?
Will it never end?
"It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
From the article:
Heh. HR 3200 "represents the worst excesses of the waterfall development lifecycle"? I love it.
It's a valid point, though. I am deeply suspicious of "big bang" plans in either software development or legislation.
So, how do we apply "agile" software development practices to legislation? All I can think of is: develop a new system in the small (pick one or a few states to try it) and establish a time box, and evaluate whether the legislation accomplishes its goals, then decide whether to spread it to more states, scrap it and start over, or what. That seems like a great idea to me.
President Obama has promised that, if passed, this will simultaneously expand health care coverage to everyone; improve the care everyone gets; and lower costs for everyone. Once a few states have adopted this and all those promises prove out to be true, then everyone will see how well it works and there won't be a bitter political battle to adopt it.
Unless of course it turns out that the promises are not in fact kept, and it doesn't work as planned. Then we will have been spared from putting 1/6 of our economy through a disaster.
Agile law development for the win.
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
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 just the other day got, a Congress was sent by my staff at 10 o'clock in the morning on Friday and I just got it yesterday. Why? Because it got tangled up with all these things going on the Congress commercially. [...] They want to deliver vast amounts of campaign contributions over the Congress. And again, the Congress is not something you just deposit something in. It's not a big bank. It's a series of tubes. And if you don't understand those tubes can be filled and if they are filled, when you put your money in, it gets in line and it's going to be delayed by anyone that puts into that tube enormous amounts of cash, enormous amounts of cash. -- Former Senator Ted Stevens, (R) Alaska
"Liberty may be endangered by the abuses of liberty as well as the abuses of power." -- James Madison
That is your sig and you are suggesting kieth olbermann?
Does it hurt your head to have that much doublethink going on?
[Corporations] will modify the healthcare system to favor themselves through government action.
Agree 100%. The more government is involved in economic decisions, the more corporations will try to insert themselves into the government to influence those economic decisions.
Social scientists are inspired by theories; scientists are humbled by facts.
I'm going to have to dismiss the entire analogy as false due to stretching the premises. Software, in its fundamental sense, is a specific set of instructions designed to make a machine respond precisely, purportedly to accomplish some specified machine-driven task. There is no corresponding requirement for legislation to control the behavior of human action. In fact, according to Blackstone's "Commentaries", law is supposed to define what persons may NOT do. I can see where confusing the two viewpoints might lead us into the quagmire.
The simple laws of mechanics that control our machinery today are subject to very precise, although inexact, mathematical definitions. Theoretically it is possible to prove the precision and error of our computational instructions (although it is not practical to do so in all cases at this time). No human language to date can capture the causes and effects, conditions and nuances with mathematical precision. This shortcoming of human language has been an obstacle in Western philosophical thought since the early Greeks. Therefore, legislation must be drafted in precise terms relating to generalities, but interpreting the law must be done by judging the specific case to see if it fits the criteria described as prohibited behavior.
So we have two very important distinctions: First, to direct computational behavior we must only describe the desired behavior in precise terms. To direct human behavior, we must describe the desired behavior by precisely describing ALL the undesirable behavior, and this is probably impossible. (I'm not going to get into the morality of master-managing each individual's life, nor the tendency of people to resent being forced to behave in ways they don't want to.)
Second, we lack the precision to even clearly define simple boundaries of behavior, especially when nuanced by myriad values and beliefs. This means that the method of reconciliation for conflicting logic cannot be the same as that for precisely-defined goals such as software requires.
In defense of the article, it seems that both legislation and software respond to logical analysis. It seems that clearly-defined legislation is also clearly-defined propositional logic.
OT: Some Science Fiction writer will probably have a field day describing a serious future where the computationality of Truth, Justice and Equality conflict with real life. In Houston, if you run a red light you've broken the law. A computer and camera can prove you ran the red light. However, thousands of tickets per year are being dismissed due to matters of extenuation, mitigation and mercy. So where does the "objective, computerized judicial process" fit in?
"Elected officials should be limited to two terms; one in office and one in jail."
"The mind works quicker than you think!"
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."
Olbermann he is ONE OF THE VERY FEW that attacks BOTH sides. (can you produce 3 videolinks of FOX news or glen beck criticizing bush ?)
Well, I'm no fan of Beck, but, well... yea:
Yea, so what?
"Somebody has to do something. It's just incredibly pathetic it has to be us."
--- Jerry Garcia