This Simplification is a Lifesaver (literally)

Somebody at the American Heart Association figured out that, in most cases, CPR can be just as effective if only the heart-massage part is done, without the breathing part, and that hands-only CPR is WAY better than doing nothing. So, they’ve launched a campaign to spread the word, complete with how-to videos and smart-phone apps.  See http://handsonlycpr.org/.

This is a drastic simplification, and there’s a big lesson in this for us Agilsts.

Suddenly with hands-only CPR, there’s no longer any concern for the rescuer contracting any disease through the mouth, so no need for a special-purpose mouth shield.  Also, by cutting the two components of CPR in half, it cut the learning curve down to a fraction.  Before, there were five things a rescuer had to know about the two components and about combining them:

  1. How to do the heart massage
  2. How to do the initial breathing (“rescue breaths”)
  3. How to do the sustained breathing
  4. How to do CPR with two rescuers, one doing the heart massaging, and one doing the breathing
  5. How, if there is only one rescuer, to switch back and forth

Now, there’s just one thing to know, and nothing to combine:

  1. How to do the heart massage

So Much for Traditional Wisdom

So, think about this: If the American Heart Association can question traditional wisdom about something as serious as a  a heart attack and find virtue in drastically streamlining the approach, then what opportunities might there be for us to find virtue in drastically streamlining our own procedures?  What procedures do we have in place that are modeled after “best practices?”  Are they really best practices, or are we taking it on faith?  Are they really best practices for us, in our particular situations?  Do we have proof?

What about the user-stories in our backlogs?  How many of them are there because they are “expected features?”  By who’s expectations?  What other stories might we have that are valid as a whole, but perhaps over-designed?  For example,

  • Do we really need both a basic search and an advanced search?  Do we have proof that they are both needed?  What if we just implement the advanced search? Or, just the basic search, in fact?   Either would be less to code, less opportunity for bugs to creep in, fewer combinations of UI elements to plan testing around, etc.
  • Do we really need to collect that phone number in 4 parts (area code, prefix, suffix, extension) when a single, free-form string will do?
  • Do we really need to do a round trip to validate a newly registered user’s e-mail address?  Or, can we just take the user’s word for it?

A Bird in the Hand is Worth Two in the Bush

The folks at Microsoft have a saying, “Shipping is a feature.”  It doesn’t matter how correct and proper a feature is, if no one is using it.  Better to ship a limited feature sooner (and get feedback on it) than to ship a more thorough feature later, if ever.  The AHA says that CPR is only performed in 1/3 of the cases that it ought to be, because people aren’t trained, and because they are afraid of doing it wrong.  The aim of the hands-only CPR campaign is to make it easier for people to be trained and to alleviate their fear of doing it wrong.