Can testers assure quality? Part 2: nurses vs machines

In previous post I described a horrible hospital where nurses were held solely responsible for patient’s health door-to-door, from entrance to exit. Surgeons were motivated to operate as much patients as possible. Story sounds insane, but sadly this is reality for many testers and for many teams struggling with quality.

Michael Bolton replied that nurses are responsible for patients health. True that, but not solely! He also suggested testers are analogous to pathologists and epidemiologists. I disagree with pathologists analogy. In modern Agile teams testers can be great epidemiologists and almost avoid being pathologists.

Epidemiologist analogy sounds very interesting. I will get to epidemiologist role in detail in some later part. For now I can say that epidemiologist is something rare and is in some way far more experienced than a nurse and is unlikely to be found in an average software development/hospital surgical department.

To make things more clear, let’s agree we are not speaking about whole hospital, but about orthopedic department: doctors diagnose, surgeons operate, patients are then transferred to rehabilitation department and department is paid per operation, not bed days. Nurses are solely responsible for patients’ health and there’s pressure to get patients out of the hospital ASAP.

Now let’s see how people usually try to solve problems at hand in such imaginary crazy hospitals.

The end of manual labor

Since it is commonly agreed that nurse is responsible for patient’s well being, every surgeon, senior nurse and chief of medicine would agree that nurse is slow, needs to learn how to make her checks in a faster, automated manner and, in a long run, be as qualified working with a scalpel as a real surgeon.

Learning to operate a scalpel is completely out of budget and is sole responsibility of the nurse. Otherwise she risks to loose her job, because hey – every doctor, janitor and even monkeys can check temperature and fill checklists and using a scalpel like a pro is the ultimate competitive advantage.

Forced to fight for the job and fearing to be replaced by some automated patient checking system, or looking forward to a salary raise our nurse steps into the waters of automation.

Least she can do is to have that automated checking system built to stop firefighting with “fixes”. Since surgeons are too busy and hospital has no money to hire a qualified engineer to setup automated patient checking system, nurse goes to a local electronics shop herself where she is offered some free tools and a best-practices blueprint.

She wastes a lot of time to setup basic temperature and continuous patient self-evaluation monitoring system. She spends even more time patching it for different corner cases, different patients and diagnosis while “healthy” patients with tampons in their bellies and kidneys removed instead of appendix are let home.

Nursing is dead

This does not go unnoticed though. Everyone is unhappy, nurse gets the blame as the one responsible for plummeting patients’ health and flaky automation suite. Nurse is fired. Doctors take over patient post operation checks, surgeons throw away the amateur automated checking system and adopt in-operation checks and peer reviews.

While improving things to some degree there are still problems: doctors don’t have time for checks, surgeons’ peer review and in-operation checks validate wrong assumptions.

Indeed, if one amputates a leg above knee with all needed checks passed, asks for peer review for leg amputation – he will get feedback if he did the thing right, not that he did the right thing. Only some time later will the surgeon learn that he needed to operate a knee, not amputate above knee. Only some peer reviews will notice mistakes in bigger and more complex operations.

I actually had an operation on my right leg while still in high school. My medical record says I was operated on the left one :-/

At this point everyone agrees that nurse is still not needed, but as everyone grows tired doing repetitive checks and patients suffer it is decided that a sophisticated automated checking system is missing. Someone proposes that patients should be monitored even after they are released home.

Nursing Engineer (also called Healthcare Engineer in Nursing) is hired and new era, era of check automation and monitoring begins in the crazy hospital.


In case something stays unclear, then here are some new analogies:

  • operating with a scalpel = knowing how to program
  • temperature and checklist checks = simplistic understanding of what testing (not mere quality control) is
  • ill and wounded patients going home = bugs and buggy features slipping into production
  • in-operation checks = unit tests
  • automated (health) checking system = automated tests
  • in home patient monitoring = production monitoring
  • nursing is dead = a wordplay for “testing is dead

If you made it this far I’d be very thankful if you’d leave a comment of disagreement or support 🙂

Stay in touch for part 3 where we will learn what gains and pains automation brings and if  our patients will be relieved 🙂

Once again thank you to Andrii Dzynia for help proof reading and sharing thoughts on this topic.

Advertisements

3 Comments

  1. I think if some error slips into production, this is the whole team to be blamed. As a whole team, yes. As a machinery that produced this product. But as every team has a head – this head should be blamed.

    Team is a device that produces something. You should first develop this device, create this team. Only then start production.

    IMHO, a tester is the person who should with his knowledge come to the team and add a functional part that will automatically run regression checks, run the corner case tests (unit tests) and maintain test environment(s). Whole time a tester should be spending is to figure out where we can improve the automation and configuring (!) the automation environment.

    Developers should write the actual tests/unittests. But these cases should be provided (if they are related to business logic) by analytical part of this solid team/machine.

    In this sense tester is highly profound person that maintains the testing environment, utilities and enforces approaches within team or all teams. The manager is a person who should spot the problems of the team’s outcome and address them. And developers are those who should write tests, obey agreed rules and produce quality code covered (!) with corner-case tests provided (!) as a textual description (tech req) beforehand.

    If no proper requirements – hello manager, we are up to remove kidney here!

    Liked by 1 person

    1. “You should first develop this device, create this team. Only then start production.”
      >> Yes, this is very important and one of the reasons eg Scrum advocates stable teams.

      I generally agree to the though, but there are some corner cases that I’ll cover in later parts 😉

      Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s