Things that goes crunch in the night

The contract between me and the ants that frequent my apartment is pretty straightforward:

  1. As ants, you get to keep whatever you touch.
  2. Seriously, if you touch it, please take it away.
  3. I, as human, get to dispose of any ant I see, in any form I choose, depending on my mood and free time.
  4. If you play nice, the bug spray will stay at the locked cabinet, and we can all go about our respective businesses.

Now, let’s examine a case where a crumb of sorts (OK, 99.7% that it’s a single corn flake) is left overnight on the floor.

Expected result:

  1. Come morning, no crumb on the floor.
  2. No ants on the floor.

 

Actual:

  1. A convoy of 300 ants stretches across the apartment.
  2. On one side – that damn corn flake.
  3. On the other side – a disarray of confused ants, going in all directions.
  4. The corn flake is exactly where it fell on the floor the day before.
  5. Corn flake is surrounded by 50 ants or so. Half of them are already dead (out of shame, if there is some decency in them), the rest seems to be pushing and pulling, but getting no actual movement out of the corn flake.

The sad part (other than the obvious task of disposing of the ants and the corn flake) is that no one on the ant side seems to notice any issue. Ironically, in a species that is all about disregarding the individual and thinking about the big picture, the is no mechanism that can show these ants what the big picture is. Each ant is working hard, but the corn flake stays unmoved.

This is the conversation that I guess is missing from the daily stand-up meeting at the nest:

Project manager: So, James, what was our progress yesterday?

James the ant: Well, between the ants that died of exhaustion, and those who just wandered off into the kitchen sink, we lost about 30% of our work force.

Project manager: Oh my! How much progress did we make on the corn flake?

James the ant: Adjusting for tectonic movement… none.

Project manager: I guess that was a terrible plan, and we should definitely not try that again. Well, live and learn.

 

Don’t be a PUA

Much like those Pathetic and Useless Ants, we, as QA professionals can easily get lost, especially when testing a large scope release. We to can type away all day, and when asked at the end of the day (or worse, week) about our progress, have nothing to say. There was much work done, but somehow, nothing tangible was actually completed.

 

Metrics everywhere

This is, of course, a problem with project management in general, and not related only to quality assurance and software testing. However, as QA people, we should already feel quite at ease with the concept of metrics, since we use them all the time. Metrics are used to express the quality of the AUT and as a termination condition for testing iterations. The quality of the AUT can be expressed in terms of amount of bugs (more common, amount * impact of bugs), amount per area / feature etc.

As for terminating test iterations – feature cover, amount of bugs found per time unit etc.

You see, we love fun metrics, now we have to find a place in our heart for some project management metrics.

 

Tracking makes you happy

If metrics are the WHAT I want to know about my progress, tracking is the HOW I know it.

The metric will involve a unit or two (e.g. percent of test cases completed). In this case  you will need to know two numbers: The amount of the test cases completed, and the overall amount of test cases. Up to now everything is in theory only. A procedure that enables you to know the value of the unit is required for the actual tracking. Let’s go back to the completed test case example.

The metric is “percent of completed test cases”. The measured units are “amount on completed test cases” and “overall amount of test cases”. The tracking procedure can be “use your testing management platform to count the amount of completed test cases” and “use your testing management platform to count the overall amount of test cases”. Then it’s only a matter of several hours of intense Excel workout to complete that calculation.

OK, that was a bit trivial, but the same logic stands as the tracking procedure gets complex. When you track progress, the ease of refreshing the metric is in the visibility and resolution of your tasks.

 

Bite it

The easiest action that results in the most gain, is to create bite size tasks, the smaller the better (up to a point), that can be easily tracked. you can now enjoy the following benefits:

Focus: The tester can focus on a single task, without being tempted away by shiny objects.

Easy to measure: With smaller scoped tasks you can get feedback regarding progressions and time table integrity faster. This is very useful when someone gets stuck while trying to complete it, but fails to ask for help. You will become aware of it sooner.

Daily wins: You and your testers should get at least one win a day. Smaller tasks makes sure you get to check off a task, move the note on the board, ring a bell (OK, maybe not a bell), etc.

Boomerang Ninjas: When encountering tasks that require special knowledge or expertise, you can rapidly send a ninja to deal with it. If the task is small enough, you can get your ninja back quickly (and silently!), ready to handle the next toughy.

 

Unleash your favorite QA metrics

Now that you have something you can measure, you can apply your desired metrics for it. Measuring progress by tasks is both trivial and important.