Slashdot Mirror


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."

23 of 296 comments (clear)

  1. Better Title: by eln · · Score: 5, Insightful

    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.

    1. Re:Better Title: by AK+Marc · · Score: 3, Insightful

      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.

      And that itself is a problem. Ever try to actually read a piece of "important" legislation? I have. Once. I gave up. It, like this one, referenced not just numerous other laws, but different books of law, like US Code, IRS Code and such. And to understand the effect of the ones that change those, I had to read large sections of other laws. And you know what? Those sections referenced other sections, other laws, and multiple struck out laws which I then had to look up their replacement to see if that was still in effect. If you pick a particularly bad line of a bill, it could take reading 1000 pages of other laws to understand that one line of a 1000 page piece of legislation. For one, that can lead to unintended consequences. For another, I would expect that no legislator actually reads the bills from start to finish with complete understanding, but instead aides read parts and summarize. Not that it's a particular problem, but if ignorance of the law is no excuse, how can people held to the law be expected to know it if the people that pass it don't even understand it?

      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.

      Rather the build on previous laws, with great modifications, it makes for better readability and no reduced functionality to just repeal laws with large modifications and integrate them into the new law. Or, better yet, do it like software. Group three or four laws together. Have one on funding, one on coverage, or other separations that group functions into easier to read and understand segments that are self contained.

    2. Re:Better Title: by bfwebster · · Score: 4, Interesting

      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)
    3. Re:Better Title: by Planesdragon · · Score: 3, Insightful

      Finally, I don'twant an argument on health care reform or HR 3200 at my website

      Then you shouldn't have talked about it. Pick an older law, or show multiple examples.

      Bringing up Health Care law when we're arguing about it is like bringing up the Civil Rights Act the middle of the civil rights movement. By mentioning it at all, you open the arena for discussion of it.

      Oh, and for the record -- law isn't software, it's game design. The closest you'll ever get is networking and interoperability standards. But even those are bad, due to the essentially soft nature of law.

  2. A troll? by IWannaBeAnAC · · Score: 5, Insightful

    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.

    1. Re:A troll? by bkpark · · Score: 4, Interesting

      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".

    2. Re:A troll? by IWannaBeAnAC · · Score: 3, Insightful
      I have no agenda in HR 3200. I'm not even American, I don't care at all what your healthcare system is. I do find the level of political debate in the US to be rather low, and I find the paranoia about universal healthcare (that works quite well in every other industrialized nation) to be bizarre, but that is for the USA to sort out, not me.

      I have no idea whether the US regulations are available online, but the regulations themselves surely are published in some form. Typically, every year the revised regulations are published and available for lawyers, police etc to obtain. The system you imagine, where there is no such document, would be completely impractical, as you acknowledge. That is why it isn't done! Yes, there surely are much better tools that legislators could use to evaluate legislation (context highlighted diffs including the original and revised regulations etc), but the debate over legislation is rarely about details like that. If you want a software analogy, the legislative debates are like a meeting with the upper management about the features of the software. Details of the actual source code won't be discussed, except to ensure that the programmers (drafters of the legislation) are doing their job to correctly implement the requirements.

  3. Article Summary: "HR 3200 too complicated for me" by AaronBS · · Score: 3, Insightful

    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.

  4. Chain of command by joaquin+gray · · Score: 3, Insightful

    Isn't H.R. 3200 sort of like DirectX 4?

  5. Structured Legislation Language by sycodon · · Score: 4, Interesting

    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.
  6. Not Again by Nom+du+Keyboard · · Score: 3, Funny

    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."
  7. The worst excesses by steveha · · Score: 3, Informative

    From the article:

    Finally, HR 3200 embodies what is commonly known in software engineering as a "big bang" approach to systems development. In other words, HR 3200 attempts a massive and ill-understood (and/or ill-specified) modification to the nation's health care system (roughly 1/6th of the economy) in one fell swoop. As such, it really represents the worst excesses of the waterfall development lifecycle, with deployment being hard or impossible to reverse.

    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
  8. OP missed the biggest one! by Jane+Q.+Public · · Score: 4, Interesting

    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.

    1. Re:OP missed the biggest one! by Jane+Q.+Public · · Score: 4, Informative

      No... it has been long established that "promotion of the general welfare" is subservient to the other restrictions that are explicitly laid out in the Constitution. In other words, the Federal Government can promote the general welfare all it wants... as long as it does so only in the ways otherwise authorized by the Constitution. That phrase was (according to the debates at the time, mentions in the Federalist Papers, etc.) never intended to authorize anything that was not allowed by the rest of the document.

      Further, the "necessary and proper" clause was intended in a similar way and must meet two criteria: (1) it does not allow operating outside the explicit restrictions, and (2) anything justified under the "necessary and proper" clause must be LESSER than anything allowed by the explicit restrictions. For example: it might be "necessary and proper" to build a structure adequate to house the House and Senate, so that they may do their jobs. It would not, however, be allowable to spend even more money building roads directly from the houses of each Senator and Representative to those buildings. The "necessary and proper" clause is one that has been grossly abused, by being used far outside any meaning it ever really had.

    2. Re:OP missed the biggest one! by Jane+Q.+Public · · Score: 4, Insightful

      Sorry, but you are wrong. It is firmly established -- and has been for a long time -- that the "general welfare" phrase is SUBJECT TO the rest of the document.

      Just as you might write: "We want to promote good nutrition, by going to the grocery store and doing the following:"

      It is that following part that defines how the general welfare may be promoted.

      This is further supported by the Virginia and Kentucky resolutions. Go ahead and look them up. They established, without any doubt, that the Federal Government has no power to do ANYTHING that is not specifically listed as one of its defined powers, despite any language about "general welfare" or "necessary and proper".

      Even before that, it was thoroughly explained in the Federalist Papers (#41 is a good example) that the Federal Government did not have power to perform acts that are outside the specifically listed powers.

      You can go off about "no variation of our language" and so on, but you are taking those phrases very definitely out of context. And in their original context and meaning, they DO NOT authorize the Federal Government to do things that are outside their specifically listed Constitutional powers.

      You could argue with me for hours if you wanted, and I could just continue to supply you with historical documents and court decisions that show you to be wrong. But I probably wouldn't, because you would be wasting my time and everyone else's. You can look this stuff up yourself, guy. Get a little real education about it, rather than making assumptions about what somebody was saying 200+ years ago. The actual meanings of their words are a matter of record, and prove you wrong.

      The minimum wage is set for certain companies via the "commerce clause" justification, which is not just arguably false but some states have already passed resolutions stating that they will not longer enforce it at the Federal Government's whim. Take a look at state marijuana laws as well... the Federal Government has tried to regulate marijuana and other drugs under the "commerce clause" umbrella, but certain states have balked and said "no more". And the Fed can't do anything about it, because the states are right.

      So, I understand the basis of your arguments. But they are incorrect. And state after state, in just the last year, have been proving that in various ways.

      Seriously. Read about the 9th and 10th Amendments. Look around you and see the laws that states are passing. Not only is your view incorrect, it is outdated, and states are taking back their rights. (By the way, several states already have proposed state laws to reject a National health care plan on the very bases I have already mentioned: the Feds don't have the Constitutional authority to do so. Go ahead... tell THEM they are wrong. They will laugh at you.)

    3. Re:OP missed the biggest one! by jmorris42 · · Score: 3, Interesting

      > Under no variation of our language would forming a nationwide health care
      > organization be neither "general Welfare" nor "Commerce among the several states."

      Another user already took your argument apart pretty good, but there is a much simpler argument that I'd bet money neither you or any other poster will even attempt to rebut.

      Consider the time of the founding of our Republic and the writing of the new Constitution. They were careful to enumerate each and every power they wanted the Federal government to possess. After presenting their work to the nation they were assailed for giving the Federal government too much power, many detractors even using the same commerce and general welfare clauses cited in modern times. The authors (especially Publius's three incarnations) went into great detail explaining how they had done no such thing, that they had defined a carefully limited role for the new government and that no other powers assumed by it would be legitimate and after all, no law could prevent a tyranny from usurping power. Their arguments were found wanting and a Bill of Rights was added to make explicit what the authors believed was the inherent limits on the growth of the Federal government, especially Amendments 9 and 10.

      So Question #1. Do you (you as either you or any other progressive brave enough to enter the fray) find a flaw with the brief history I just outlined?

      Assuming the answer to #1 is no, we are lead to Question #2. What the heck was the reasoning behind all the fuss with carefully debating (for months) and codifying a detailed enumerated list of powers and then adding two amendments to make doubly certain the intent of the founders to limit the powers of the nation government? The current progressive 'interpretation' of the general welfare and commerce clauses are broad enough to be blank checks, so if that was really the intent why bother with anything else? The whole damned thing could have been shortened a lot if they just left the bits about the organization of the three branches and then just gave Congress unlimited power to secure the general welfare any way they saw fit. So explain why neither common sense nor English literacy are the right way to read the constitution.

      To bring this more on topic, your argument would be roughly equal to this. A detailed spec is created for a custom software job, it begins by explaining the intended business goal the new system must meet and then it soecifies in broad outlines the requirements and a few details, say a requirement for POSIX and some realtime response requirements. Then after the consultants have agreed and signed the contracts, etc. they eventually deliver some .NET horror that meets none of the requirements but the consultants argue they should be paid because it should sorta deliver the intended goals specified... too bad it runs too slow to actually be put into service and the inability to interface it to your other systems (.NET), you should have declared those interactions. But of course the POSIX requirement was expected to make interoperability assumed. Point being you can't just read the descriptive text and ignore the pesky implementation details.

      --
      Democrat delenda est
  9. Wrong analogy by PotatoFiend · · Score: 3, Funny

    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
  10. Re:Something needs to be done as today's system is by h4rr4r · · Score: 3, Informative

    That is your sig and you are suggesting kieth olbermann?

    Does it hurt your head to have that much doublethink going on?

  11. Re:Something needs to be done as today's system is by jadavis · · Score: 4, Insightful

    [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.
  12. Sorry...only partially correct. by meburke · · Score: 3, Insightful

    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!"
  13. Re:Something needs to be done as today's system is by mwvdlee · · Score: 4, Interesting

    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?
  14. Re:Something needs to be done as today's system is by Hognoxious · · Score: 4, Interesting

    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."
  15. Re:Something needs to be done as today's system is by Curunir_wolf · · Score: 3, Informative

    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