Skip to main content

View Diary: A Software Engineer's take on Healthcare.gov (145 comments)

Comment Preferences

  •  After I read an article on the causes (22+ / 0-)

    of the outages, especially too many last minute design changes,  I knew exactly what was going on.  The worst client a person or company can have is a uneducated disinterested client who only walks in when the deadline gets close and says something like "No No that's not what I wanted at all"

    In web based applications there is so much complexity going on behind the pages that are presented that this type of a client should be banned from any large scale project or even small ones that absolutely require their complete immersion into it from day one.

    Unfortunately, many of the people who are in power are are in their 50s to 60s (like me in my late 50s) and have zero desire to learn anything. Some of us have been drawn to it all of our lives but we have very little power.   I worked on one project for a non-profit with a client that had very little understanding.

     One of the things that try to do when I have this type of client is to explain in layman's terms what it is that I'm doing and how long it takes to get there. I literally got a email back from one client saying "stop sending me this tech crap, I'm not interested in it , I don't read it, it's annoying"

    I looked over some of my communications and tried to see if they sounded condescending or patronizing. No I 'm very careful about that even to people who admit upfront that they have no idea what it is that I'm doing. You have to be very careful because many of these people are experts in their field and still believe that past accomplishments inoculate them from learning anything new. "I have people that handle that for me"

    If you ask them, are you interested in getting to a level where you can write a complete RFP and understand what it is that you are asking the team to do? They answer "yes". That's just for public consumption.  They have no intention of learning anything new with rare exception.

    All this leads to is a very bad outcome and usually it's laid at the feet of the developers. I once told a client who new nothing to take everything a developer says about a project; multiply the time it will take by three and cut the features in half and triple the cost. I learned that when I had a relatively high position when dealing with Electronic design engineers. This massive case of optimism that leads to massive disappointment.

    I finally learned enough to take any task that is complex and do the math.  That isn't a slam at developers because at the outset you have all sides raring to go, but the developer rarely if ever, knows about all the different people they will have to deal with and their little power areas. It's office politics on steroids if you have aggressive people who want the top position and will do anything to get the top person fired.

    So when I was on the other side of the table I tried to relay that hard won experience and have had very little luck unless the person was younger say in their 30s and a few in their 40s. I hate to say it  but until my generation kicks off and most of the generation behind me does, this will be part and parcel of large and small projects. A developer has to be part psychologist to understand why people ignore request for key info or won't comment on how a prototype application works.

    I found that most people you send links too to have them look or try something out don't bother to even go there. You need their input before proceeding and it finally comes from a subordinate with a note "why is this taking so long?"

    As an aside: NASA was considered the gold standard for writing high quality code and hitting deadlines. Look at what they had to work with in the 60s.  Programmers in the 80s were used to working with very limted resources.

    By 2000 the cost of Memory, CPUs and storage kept going to new lows. Starting in the 1990s that['s when developers started writing code that was much more verbose. Example Photoshop 1.0 came on one floppy in 1989. By now it's multiple gigabytes yet 90% of users only use the features that were found in version 1.0.

    There is little that the developer can do once they are contractually bound for a set of deliverables and part way into the project they find that key people hadn't even been briefed that there input was required.

    There is easy solution that will never be used. Have the high ranking person with the most power take a test. Based on the results (Fail) Either eliminate that person who is "in charge". If not  up the charges by three times , cut the deliverables in half , and take the allotted time and multiply by three. Then have the client indemnify the developer not only from attempted legal remedies but also turning their business into a parking lot with bad PR.

    “ Success has a great tendency to conceal and throw a veil over the evil of men. ” — Demosthenes

    by Dburn on Fri Oct 18, 2013 at 04:16:12 PM PDT

    [ Parent ]

    •  I can relate. (3+ / 0-)
      Recommended by:
      Oh Mary Oh, Dburn, imchange

      I have always preferred to work directly with the end users and skip management as much as possible.  Some end users are motivated to get the best software possible to make their work lives easier and make themselves more efficient.  Others are so afraid of change they will lie and withhold important information and then beat you over the head and call you incompetent when you give them an incomplete product.  Management just wants to tell you what to do without knowing the ramifications of what they are asking so they can claim all the credit when it is done.

      It is a tough business.  

      Republican tax policies have led to financial conditions which have caused Republicans to demand cuts to programs they have always opposed.

      by AppleP on Sat Oct 19, 2013 at 02:45:40 AM PDT

      [ Parent ]

      •  Our answer to the incomplete product issue (2+ / 0-)
        Recommended by:
        Oh Mary Oh, imchange

        Is to make the users work with us early to tell us what success looks like.

        Give us all the use cases they need to do their job.  When we're nearing readiness for integration test we have them provide us a preferred set of data (customers, regions, etc) they'd like us to work with.  We go around with the IT subject matter experts to see what can be done in test environment.   Loop back and forth till all agree...if these tests run with this data succeed, we accept the software.

        Then IT does the integration test as a dress rehearsal for user acceptance testing, getting all the freaking configuration/setup/we never connected that in test envt BS out of the way before any user sees it.

        Done a world of good.  But the most important step in all of that is the first one...beating the use cases out of them and getting a signoff saying "yup, that's all of them"

      •  In one case I was told to put up a website (3+ / 0-)
        Recommended by:
        imchange, linkage, T Maysle

        in 30 days with all kinds of interactive procedures. I promised them a working prototype nothing more. I got a CMS (Joomla) Then bought a $hundreds  of extensions for it. Then they told me I had to put content in. HShit...

        aI somehow managed to fill the site with Content. The person who ordered it sent a subordinate to look at it. He didn't particularly like UI. So the CEO  moved to hire another group of developers, a group their investors insisted on.

        I was told they had a proprietary system that NO ONE ELSE HAS!. I was shaking my head. Then comes the part that tops them all. I asked to look at the features of the site they were proposing. Huh? it had all the same features that I put in.

        Then I realized what happened. The people running the place either never looked at it or did but didn't try it. Then they directed the developers to my site because they couldn't articulate what they wanted. The developers went through it and took all the features I had put up, put them in their proposal and told them it was proprietary.

        I was still working as a independant as somewhat of a webmaster. It was 2009 and as I watched jobs being lost and the economy nose dive , I told myself, "get whatever you can and don't let ego get in the way"

        8 Months passed. No site. Just for the hell of it I searched for the site and found the Beta. Not only was the UI worse than mine (except for the writing. They had a first rate writer) but none of the features that they had "proposed" were up. Apparently they had run into the same thing I had until the group disbanded. They operated like a Movie team. They would all come together for one project and then disband to take on other small projects until a big one came in.

        I kept telling the CEO's subordinate that nothing was happening with the site. After 9 months they tell me that the "developers begged them to fire them". That of course was their ego talking. So I called the lead and asked him what happened. Same thing. Send designs in and wait for a two months before they would get a hazy reply and then when one of there deadlines approached they did to them what they had done to me. They had enough and were smart enough to get a kill fee upfront.

        I remember the Lead  asking me: "Is this a real Company? " I said "Huh. I never thought anything like that".  Turns out, when they decided they were through with me, that this was a vanity non-profit. I did research on their 990s. I contacted a few of the many that had gone before them and as soon as I mentioned the name, they had either anxiety attacks or just raw anger. Apparently it was trigger for anxiety disorders and many other problems.

        I had used Cold fusion for some parts of the site for small apps. I had to clean the site of them because it was moving into an environment that didn't have Cold Fusion. Then I would get calls "The site isn't working the way it was. I told them what I had to do. Whoops it flew right over their head. Then I was contacted by their lawyer.  He told me that he was a litigator formerly a securities enforcement attorney.  I said "So you got laid off and figured since you were an attorney you would be able to handle anything that had law behind it.  I then told the guy to put the complaint/threat in writing as most professional attorneys do. He  asked weakly "Put it in writing?" "Yeah" Then I hung up on him.

        It never went legal. I was trying to get the last months check out of them plus reimbursement for many out of pocket costs.

        The end? The site that had planned on never appeared and their regular site went dark for 7 months. They had replaced the old site with a wordpress site.

        All of this is a true story with no spin. Can anyone top it?

        “ Success has a great tendency to conceal and throw a veil over the evil of men. ” — Demosthenes

        by Dburn on Sat Oct 19, 2013 at 08:26:06 AM PDT

        [ Parent ]

        •  My horror story (1+ / 0-)
          Recommended by:
          Dburn

          I was moved from one department to another because they loved the application I had created for the department and wanted something similar but more complex.  A couple months after I started IT hired a "Team Lead" that only had one member of the team...me.  Then I found out that I was only 75% on the new department and 25% on the old department and had to complete the project in less than a year while maintaining my old application and answering to the IT manager, the new team lead (who know nothing but had a lot of ideas for my time), my former business area manager who wanted 100% of my time and the business area manager who expected a completed application without bothering to stand behind me when I requested time to work on it.  Her strategy was to wait until the application didn't show up on the scheduled date and throw a fit at that point.
          Long story short...While everyone else played politics, threw me under the bus and spread every lie possible about me I was able to successfully deploy a web application by myself with over 120 pages to over 1K dedicated users with few problems.  Today, a year later, I am working elsewhere.  They have 4 developers (all making more than I ever did) doing my previous job....badly.  The "team lead" got my boss fired and took his position...and has had to explain to the board why a 3.5 million dollar project has failed.  I am sure he will be promoted to CIO in a couple of years.

          As I said:  It is a tough business.

          Republican tax policies have led to financial conditions which have caused Republicans to demand cuts to programs they have always opposed.

          by AppleP on Sat Oct 19, 2013 at 05:56:15 PM PDT

          [ Parent ]

    •  a friend worked for (0+ / 0-)

      Rocketdyne as a programmer. He said that when they upgraded the computer hardware for his project, the older engineers insisted that they put in everything that was in the original software, including the comments.

      (Is it time for the pitchforks and torches yet?)

      by PJEvans on Sat Oct 19, 2013 at 08:26:08 AM PDT

      [ Parent ]

Subscribe or Donate to support Daily Kos.

Click here for the mobile view of the site