Slashdot Mirror


How Healthcare.gov Changed the Software Testing Conversation

An anonymous reader notes an article about how the tribulations of Healthcare.gov brought the idea of software testing into the public consciousness in a more detailed way than ever before. Quoting: "Suddenly, Americans are sitting at their kitchen tables – in suburbs, in cities, on farms – and talking about quality issues with a website. The average American was given nightly tutorials on load testing and performance bottlenecks when the site first launched, then crumbled moments later. We talked about whether the requirements were well-defined and the project schedule reasonably laid out. We talked about who owns the decision to launch and whether they were keeping appropriate track of milestones and iterations. ... When the media went from talking about the issues in the website to the process used to build the website was when things really got interesting. This is when software testers stepped out of the cube farm behind the coffee station and into the public limelight. Who were these people – and were they incompetent or mistreated? Did the project leaders not allocate enough time for testing? Did they allocate time for testing but not time to react to the testing outcome? Did the testers run inadequate tests? Were there not enough testers? Did they not speak up about the issues? If they did, were they not forceful enough?"

34 of 118 comments (clear)

  1. WTF Not forceful enough? by Anonymous Coward · · Score: 3, Insightful

    Ya those damn testers, they just can't communicate the issues to management. Like that NASA engineer and the O-rings. Stop blaming the testers.

    1. Re:WTF Not forceful enough? by ObsessiveMathsFreak · · Score: 4, Insightful

      Well you either blame the help, or else someone important is going to have to take the blame.

      --
      May the Maths Be with you!
  2. development not complete by BradMajors · · Score: 3, Insightful

    It is not really a question of testing. Parts of the software were missing or incomplete. You can't test what isn't there.

    1. Re:development not complete by hguorbray · · Score: 5, Interesting

      Having been brought on late to QA a few death marches/trainwrecks in my time I have found that many projects don't get QA involved until way too late in the game.

      This was very common in the .com boom days when everything was developer-centric and testing was seen as an unneeded cost that could be covered by the coders themselves -I don't need to tell anyone here why that is a bad idea.

      Ideally QA gets to help validate that the functional requirements are adequately addressed in the design. In many cases, lacking a spec of any kind I would have to create one of my own based on what the product was able to do or close to being able to do at that time in order to make a test plan.

      When you are brought on board a sinking ship there is no point in blaming the crew for the state of the ship -all you can do is damage control to validate whatever is working and then lower the bar as to what constitutes 'working' or 'functional' -particularly if some major components or functionality are missing.

      You're going to be seen by management as the people who are going to point out what idiots and incompetents the developers were and be seen as the enemy by the developers who were probably led down the rabbit hole by changing or nebulous requirements and unrealistic schedules...

      So it is important to try to walk the middle line -making observations about the current situation without casting blame or making guesses about how the project got to that state (although it may be obvious when you look at the principals and the agenda). Gap analysis of both testing and in the product functionality and features is another thing that needs to be done more often in order to present a realistic picture of the current state of the product or project.

      As a consultant it is nice to be able to come into these things knowing that you didn't help cause the trainwreck -you are just there doing triage and trying to save the patient....and sometimes management will listen to you about project and requirements that they ignored when brought up by their own people. Even if it is 20/20 hindsight perhaps they will heed the techies the next time they embark upon this path -Nah!

      -I'm just sayin'

    2. Re:development not complete by ranton · · Score: 2

      Are mixing it up with unit testing?

      TDD isn't the only time you have tests before the code is written. It is a common practice to create test cases for functionality that has not been completed or even started on. The status on the test case may be "Implementation Not Complete", which is just one type of test failure.

      This way you can still have reports on development progress and show that large sections of functionality have not been tested yet (because they aren't finished).

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    3. Re:development not complete by ranton · · Score: 4, Insightful

      The real world does not work like this and I find the best work comes when the guy who will be writing the software actually collects the requirements and does a good job of that including a plan of how to test the code.

      The worst code I see is written when the programmer is given some narrow requirements on some ticket and they code directly to those requirements with little to no knowledge of the overall system they are working on. In some magical world where all of your requirements are perfect this could work very well. But part of being a solid developer is knowing how to spot the "smell" of bad requirements. While sometimes you can do this without any knowledge of the overall system, you are much more likely to have the right insights if you have some relevant domain knowledge.

      I have a current project that I am maintaining where I wrote most of the code in a vacuum without understanding the customer's real needs. It is a horrible mess and I would have done things completely differently if I was involved in meetings with the clients early on. I'm not saying my code would have been perfect, but there were some massive disconnects between the assumptions I drew from the written requirements and the explanations I got from the clients once I was given more access to them. Now there is no time or money for massive rewrites or refactorings, so it continues to be a thorn in my side.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
  3. Battleifeld 4 by Anonymous Coward · · Score: 2, Funny

    These same questions plague Battlefield 4

    1. Re:Battleifeld 4 by martin-boundary · · Score: 3, Funny

      These same questions plague Battlefield 4

      And not to mention, Battlestar Galactica too. A lot of the needless drama on that show could have been avoided if they had just licensed their testing framework from the Cylons.

  4. Were known management tools used? by whizbang77045 · · Score: 2

    It does not sound to me as though known management tools were used. Did they sit down with the government personnel in charge, and present their approach, and what the site would look like (menus, flow, etc) when finished? Were there testable milestones, and a final presentation of working software? It sure doesn't sound like it.

    1. Re:Were known management tools used? by Anonymous Coward · · Score: 2, Insightful

      How do you make a presentation of working software when the working software is designed to pull data from half a dozen databases outside of your control? You might as well throw a football in the air and then claim you're a world class quarterback, you're just waiting for the rest of the world class team to show up and assist you.

    2. Re:Were known management tools used? by hey! · · Score: 4, Informative

      It does not sound to me as though known management tools were used. Did they sit down with the government personnel in charge, and present their approach, and what the site would look like (menus, flow, etc) when finished? Were there testable milestones, and a final presentation of working software? It sure doesn't sound like it.

      They might well have done all these things and still failed to catch the problems before the site's launch.

      Performance, like security (ack! scary!) is a non-functional requirement -- that is to say it's not the kind of requirement where you can sit down with a checklist and say, 'yep, this it works,' or 'no, it doesn't.' You have to develop a more sophisticated test.

      Load testing is a step in the right direction, but you also have to look at system architecture. Remember the days before people figured out that you had to load web ads asynchronously, after the page content was loaded? Sometimes the page load would be slow, not because the page's server was loaded, or because of the user's browser or internet connection were slow. Often it would be the ad server that was overwhelmed, which if you think about it is bound to be more common than the content server being overwhelmed. You could functional test and even load test the heck out of a page with synchronous ad loads, but until it went into production chances are you wouldn't catch the fatal performance flaw. That kind of problem is architectural; some of the data being delivered is coming from servers outside your control.

      Ordinary tests are about ensuring reproducible results, but when the architecture leaves you vulnerable to things happening on servers and networks outside your control your problems *aren't reliably reproducible*. You have to design around *possibilities*.

      Some of the problems with Healthcare.gov were of this nature, although with not so simple a solution as "use window.onload()." The site is supposed to orchestrate a complex, *distributed* process *synchronously*. You have to go out the Homeland Security's database to confirm citizenship, then to the IRS databases to confirm claims about income, then get quotes from the private insurers that meet the customer's needs. There is, in my opinion, no way to be 100% sure, or even 80% sure that a system like that will work under real work load, unless you present it with real work load.

      Were I architecting such a site, I'd plan to do a lot of that work batch; that is I'd build the healthcare application offline on the user's browser, with internal consistency checks of course. Then I'd send the user's application through a batch verification system, emailing him when a result was ready. This is a clunky and old-fashioned approach, but it wouldn't force the user to chain himself to his browser . And it would have more predictable performance. Predictability is a vastly under-rated quality in a system. A system which is fast most of the time may not be as desirable as one which provides the answer consistently.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    3. Re:Were known management tools used? by lgw · · Score: 2

      Let's talk about security of this website, because it illustrates what's going on here well.

      The guy responsible for signing off on the security of Healthcare.gov - signing off on the waiver, mind you, not some actual audit - refused to sign. His boss signed for him and he resigned or was fired.

      Last week this repeated - the new guy responsible for signing off on security - presumably the most compliant guy they could possibly find - refused to sign off. Again his boss signed for him, and he's gone.

      Does anyone doubt this was happening with all areas of testing? When even management isn't willing to pretend it works, and you launch anyway to meet political goals, you sabotage the entire culture of the Test organization, when you say so clearly "rubber stamp it or get out". If this site ever works, it will be by accident.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    4. Re:Were known management tools used? by hey! · · Score: 2

      No, it doesn't have the "pop" of NoSQL,

      More to the point, it doesn't have the scalability across distributed systems. Show me one application approaching this scale, just *one*, that relies RDBMS clusters and two-phase commit exclusively to support this kind of transaction volume. Don't get me wrong; I'm an old-school RDBMS guy myself; I know a lot about relational database systems, including their limitations. I'd look to the way outfits like Amazon, ,Google or LinkedIn design their infrastructure rather than Oracle on big iron. This is well outside the sweet spot for that approach.

      RDBMS servers are made to just do the job quietly and reliably, with very strict ACID compliance...

      This is a very simple-minded approach to architecture, one that's admittedly very serviceable in a wide array of applications. But useful as ACID is as a set of assumptions you can rely upon, it's not the only way to create a reliable, serviceable system. In fact there are situations where it's provable that ACID falls short. Google "CAP Theorem" and "eventual consistency". It's fascinating stuff.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  5. Re:worst job ever... by ColdWetDog · · Score: 3, Funny

    I cannot imagine a worse job than to have worked on that project.. The ratio of "status update" meetings and management pud-pulls to useful work accomplished must have been damn close to infinity..

    You haven't worked on my project.

    --
    Faster! Faster! Faster would be better!
  6. "Average American was given nightly tutorials on by JoeyRox · · Score: 4, Funny

    load testing and performance bottlenecks"

    That's great but how about we teach the average American how to spot Europe on a map first.

  7. Not relevant to the web site by Mr2001 · · Score: 3, Interesting

    Most of the Affordable Care Act has nothing to do with the web site. The site didn't have to implement those "2.8 million words of Obamacare regulations" as code: it only had to match patients up with insurance plans, which means interacting with dozens (hundreds?) of government and industry databases.

    Some states, like California, managed to implement their sites without any of the problems of the federal exchange. The federal exchange mainly suffered from (1) being rushed, and (2) having to deal with a larger number of external systems than any single state exchange.

    --
    Visual IRC: Fast. Powerful. Free.
  8. Bad design, not just bad implementation by Bengie · · Score: 2

    Performance and scaling should have been addressed in the design phase

  9. Comment removed by account_deleted · · Score: 2

    Comment removed based on user account deletion

  10. Re:Give the developers a break! by jedidiah · · Score: 2

    > I challenge anyone to create a website that conforms to such a huge number of rules -- some of them probably contradictory!

    Sounds like any other regulatory burden. Are the things at Amazon FCC approved? Are they UL listed? Do they pass muster by the USDA?

    All of that stuff is outside the scope of the website and it should be the case for Obamacare too.

    Your kind of thinking is why it was such a disaster and why 3 guys managed to throw together a window shopping frontend with little effort.

    --
    A Pirate and a Puritan look the same on a balance sheet.
  11. inspecting an unfinished POS by harvey+the+nerd · · Score: 3, Interesting

    Imagine being the QA inspector on a 1985 Jugo car. No matter what you say, the entire thing is a POS. The only question is whether you need your paycheck that badly. Politics and unrestrained corruption simply don't mix well with code.

  12. Someone important *should* take the blame by Anonymous+Brave+Guy · · Score: 3, Insightful

    One of the most insightful truths ever told to me:

    It is always management's fault.

    This goes right to the root of the tree, because by definition if the people further out couldn't get the job done or didn't have the right resources to do it, it was management's responsibility to fix those problems. The buck stops with the most senior managers on a project, whose only two choices are to explain what is needed to succeed and then do so if given those things, or to fail.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Someone important *should* take the blame by Anonymous+Brave+Guy · · Score: 3, Informative

      The President doesn't write code.

      No, but he presumably appoints the senior staff whose teams ultimately will write code, and capture requirements, and run tests, and all the rest. For something on this level he probably had a direct say in things like budget and timescales and the scope and high-level organisation of the project as well. If he asked for the impossible, he bears responsibility for that. If he didn't know it was impossible, he should have hired better advisors before committing to the project. And if it wasn't impossible but failed anyway, he should have appointed a senior management team that was up to the job.

      (I'm not in the US and have no allegiance to any US political party, so please don't try to turn this into some sort of red vs. blue flamewar. I'm just translating the same general principles that apply to senior management for any infrastructure project into the specific context of healthcare.gov.)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    2. Re: Someone important *should* take the blame by kenh · · Score: 3, Informative

      What a staggeringly ignorant post.

      The house controls the purse strings and has oversight powers over the operation of the government.

      Healthcare.gov has allocated some $634M and to date had expended just over half of it by the time it went live, lord knows what they spent since Oct. 1... The house withheld not one nickel from the project - it's fully funded.

      As for House interference, you are simply inventing a conspiracy out of whole cloth... You really think the House 'secretly' met with those overseeing the development of the website and told them to mess it up? It was obvious to anyone looking at the situation that this was a train wreck waiting to happen - remember Republicans saying the best way to defeat Obamacare was to let it play out and fail on it's own? If there was a conspiracy as you imagine, how is it not one person has stepped forward to expose it?

      The contractor selected had a history of failed projects, why is it so hard to believe they failed again?

      --
      Ken
    3. Re:Someone important *should* take the blame by phantomfive · · Score: 2

      It is always management's fault.

      That is exactly the job of management: to get the job done. When the lead programmer quits? Management is the one who needs to find another one.

      Ender's game gives a perfect example: Colonel Graff is management. He sorts through all possible candidates, develops a program with one goal in mind: beating the formics.
      Ender is the guy who actually does the work, he is the engineer. He does the battle plan, and implements it. But the Colonel is watching, making sure things are going according to plan, and will put different people on the project if necessary. It is his project, and he will manage it (even if he doesn't actually do any of the actual work).

      --
      "First they came for the slanderers and i said nothing."
    4. Re:Someone important *should* take the blame by phantomfive · · Score: 2

      Bullshit. The President doesn't write code.

      His staff was saying, in the week before the website went live, that everything would be great. That's on him, for not knowing (or lying?) about the state of the website.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:Someone important *should* take the blame by phantomfive · · Score: 2

      Yes, I'm sure there are reasons, and with Obama, there are always excuses.

      --
      "First they came for the slanderers and i said nothing."
  13. Re:"Average American was given nightly tutorials o by blackpaw · · Score: 3, Insightful

    Why? Is Europe's location somehow significant to average Americans?

    And there is the proof of the OP's implied statement

  14. Re:The underlying problem... by DeathToBill · · Score: 3, Interesting

    Yes, yes, because every bridge the government builds falls down three or four times a day in the first couple of weeks after it's opened.

    --
    Slashdot - News for Nerds, Stuff that Matters, in ISO-8859-1 Has just realised that beta makes this signature redundant
  15. Re:Give the developers a break! by Oligonicella · · Score: 2

    Conservatives constantly point out how excessive regulation makes doing business difficult. Well it makes things difficult on the government, too. Let's be fair.

    Isn't that rather like saying "Ladies and gentlemen of the jury, have compassion on my client. By killing his parents he became an orphan."?

  16. Been a problem for decades by bfwebster · · Score: 2

    SQA as a red-headed stepchild has been an issue for many, many years. It's just that most troubles/failed software systems don't have the widespread public exposure that Healthcare.gov has; even the most brain-dead corporation would not have launched such an incomplete and bug-ridden system to a vast end-user bases.

    Some years ago, I led a review of a late (4 yrs vs 2 yrs estimated) and very over-budget ($500M vs. $180M estimated) corporate software project. The core problems had everything to do with SQA, starting with the fact that there was no SQA organization; all testing was done on an ad hoc basis by individual teams and organizations. Adding to that problem was the fact that there was no coherent architecture. After 4 years and $500M, there were no systems that were ready to go into production. Far too common in industry and especially in government. ..bruce..

    --
    Bruce F. Webster (brucefwebster.com)
  17. Re:"Average American was given nightly tutorials o by Oligonicella · · Score: 2, Insightful

    A Swiss friend of mine visited DC. I live in So Mo. We chatted on the phone and he suggested we get together for lunch the next day. So, I agreed and told him the city in Virgina we could meet in after driving eleven hours.

    They're no better with our geo than we are with theirs.

  18. Funny thing: testing is not that important... by gweihir · · Score: 3, Insightful

    If you find out in testing that your architecture or design does not cut it, you are screwed. The only thing you can usually do is scrap the project and start again. Testing does only work for simple things like simple busiess logic and the like, where you know the characteristics very well beforehand. For anything that is a new design, the only thing that helps is very capable and experienced architects and designers that have a good change to get it right by intuition. This will be people that can do architecture, design and implementation and can do all three well. Not many of those exist, but there is no replacement for them. Those that think they can do things on the cheap without not only having this type of expert but also listening to them closely will fail. This can be observerd time and again and can alost be called a "well established industrial practice", because quite a few "managers" do not actually know that it can be done better. Funny thing, in other fields, you have chief enineers, architects and the like and the critical work is not given to people that are likely to fail. Only IT messess it up regularly, because talent and exerence is not respected.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  19. Re:The underlying problem... by nbauman · · Score: 2, Interesting

    The problem underlying the entire fiasco — and the less-impacting others like it (Amtrak, anyone?) — is that whatever the government does, is done poorly .

    I realize that that's a right-wing meme, and it's rare for conservatives to change their minds based on the facts, but it's not true.

    The military and Veterans Affairs medical centers give some of the best care in the world. I've read the studies that compare them to other centers around the world. They've got the data.

    Ronald Reagan got his colon and prostate surgery at Walter Reed. Watch what they do, not what they say.

    If you got a head injury in Iraq, you'd have the best chance in the world of surviving with as much of your brain left as possible in the military health system. Ditto with saving a leg or an arm.

    The National Institutes of Health is the biggest medical research center in the world. They've done more important research, and won more Nobel prizes, than the entire U.S. pharmaceutical industry put together.

    I leave it to Gordon Crovitz to explain how the U.S. government created the Internet.

    NASA put the first man on the moon.

    Does the invasion of Normandy count?

  20. Re:The underlying problem... by nbauman · · Score: 2

    You — and others — seem to have misconstrued my argument to mean, the government simply can not do anything. That's not, what I said. They can do it — just poorly.

    it's rare for conservatives to change their minds based on the facts

    Is not it a little early in the conversation for ad hominems?

    I base this on several years of the Wall Street Journal comments page, until I gave up on them. And I read lots of conservative articles on health care policy. There are conservatives who change their minds based on the facts, but in my experience they are rare. William Buckley is dead. The WSJ editorial page has turned into a Pravda for the conservative wing of the Republican Party. Sic transit gloria mundi.

    The military and Veterans Affairs medical centers give some of the best care in the world

    Citation needed?

    http://www.ncbi.nlm.nih.gov/pubmed/?term=%22Veterans'+Affairs%22

    http://www.nejm.org/doi/full/10.1056/NEJMoa1007474

    http://www.ncbi.nlm.nih.gov/pubmed/7979780

    http://circ.ahajournals.org/content/86/1/121.abstract

    http://circ.ahajournals.org/content/93/12/2128.abstract

    In case you're not used to reading medical journal articles (and most people aren't), the point of these studies is that they took the medical conditions that they most frequently treated, and were responsible for the most deaths, like heart disease, high blood pressure, and kidney disease, where different doctors treated the same patients different ways, and they did randomized, controlled trials to see which treatments worked at all and which were better. They also did studies of different VA hospitals to see which hospitals had better and worse outcomes. They tried to improve the hospitals with worse outcomes, and if that didn't work, they shut the departments down.

    If you go to any major medical conference, and go to the sessions on important diseases, you'll usually hear them talking about the "VA study." That's because in many medical specialties, the VA did the major, best-designed study to find out which treatments work and didn't work. There are a few private non-government organizations, like Kaiser-Permanente and Blue Cross/Blue Shield, who do the same thing, but (not to disparage them), the VA does a lot more of these studies.

    The National Institutes of Health also does big studies like that. Of course, with the budget cuts, they can't do as many, and they're being forced right now to decide which important ongoing studies will have to go, as Science and Nature have been reporting.

    Everybody who follows medical research knows this. If you say, the government can't do anything well, they'll know that you don't know anything about the reality in this important field.

    And as for those complaints about the bad outcomes in VA hospitals -- those are the kind of thing that happen in any hospital. It's easier to find out what happens in the VA hospitals because of their internal accounting and disclosure policies. You'll notice that the story got that information from the government's own review. Try to get that same information from private hospitals. What matters is when doctors who know how to compare hospitals compare large numbers of patients, to see whether there are any statistically significant patterns. When they do that, the VA hospitals usually do well. And when they don't, they find out why and how to change it.

    Ronald Reagan got his colon and prostate su