Operating in Failure

  • This quote is great: "Any large system is going to be operating in failure mode most of the time."

    It's from Peter Coffee's essay on learning from paper based systems and what works. He examines a conversion of a paper based system for keeping track of Boy Scouts and their work on merit badges as it moves to an online system. And points out a few flaws in the design matching the process.

    But more importantly, he points out that the system fails in a few ways, which is to be expected, but doesn't fail gracefully. I think this is a good point and one that most developers fail to take into account. Most systems will "fail" in some way and should be able to handle it. Whether it's data entered incorrectly, a mishmash of keys hit, incomplete data, etc. We seem to expect that things will move along perfectly and that our systems will "force" the users to work in the approved method and process, thereby improving efficiency and ensuring things work well.

    I've encountered this in many places, but none more apparent then surveys that we used to send out to customers. We'd require answers to many questions to ensure that we could properly fill the parent and child tables in the database and ensure proper reporting. The developers were happy to run along and build this and make it work as expected. My issue, however, was that the surveys were sometimes long and complicated and we should be sure to capture some information in the event the user stops early or has connectivity issues. In other words, assume we will have issues and plan for them.

    You've probably encountered this in other places as well. Every system, especially web based ones, should be expected to fail at some point and you should gracefully deal with those issues. We're all human and we make mistakes and the systems we build will have bugs, problems, or even unintended uses by our clients.

    So plan to fail and you'll be better off.

    Steve Jones

  • Hey - I'm quite happy admitting I'm human and prone to err - it's these dratted users who seem to think that everything should be smooth sailing from day one - when presented with a complex module with automated processing of a task that otherwise took them days of battling with excel spreadsheets - their first response to it was - "oh, I thought that the -ve values are to be displayed in red and the +ve in black - how come it doesn't do that ?!"







    **ASCII stupid question, get a stupid ANSI !!!**

  • Where is "Testing" in all of this?  That is why it must be understood what actual Testing is.  It is not QA and it should not be done by the Developer... 

    That is the last thing companies will break down and pay for and the first thing to bite them in the behind...

     

    I wasn't born stupid - I had to study.

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply