The perfect storm

In our Sailing with testers posts series, we’ve talked about the preparation of a boat for different sailing plans and different weather conditions.
But when sailing, there’s always also a chance for a storm. Boats, yachts, can ride through storms. With the right equipment and following the right procedures, the skipper can overcome the storm and bring the boat (and crew) to safety.
Thing is that not all storms are the same. Some storms are too big, too fierce. You know, as the skipper, that there is nothing you can do. If you could not have avoided it, the best option is to prepare the boat (tie everything, remove whatever can be removed from the deck, of course, your sails are already lowered, etc.), and then – go down, close the hatches and … wait, and hope for the best. Nature is stronger and you can’t do anything.

But at work, and in a software testing project, it is never the case. there’s always something you can do.

The perfect project storm

A worldwide pandemic is indeed a possible creator for a software testing project perfect storm. It brings with it many effects:

  • Significant budget cuts
  • Testing team working from home without the option to meet
  • Other project groups working from home, therefore testing team cannot meet with them
  • Project team members might be in quarantine, or maybe even infected, and sick
  • The software customer, or stakeholder, is probably in some degree of chaos, having problems to fulfill their part of the project

And the list goes on. The morale is low, people are busy handling personal issues (no school, kids stay home, relatives infected with Covid19), the world economy is sliding down fast. It looks at that moment that it is a perfect storm and there’s nothing we – as the project managers – can do.

There is so much we can do.

Unlike hiding from the storm in a boat, hoping for a good, and waiting for the storm to pass, there are many things we can do to answer the challenges a perfect testing project storm raises. Some of the actions should aim to minimize damages, other actions should be directed at the future, preparing for when the storm is over, and of course, the bulk of the actions must focus on continuing the testing, making sure that this part of the whole software project is done at the best possible level.
Here are a few of the many things we can do:

Well, the first thing is Don’t Panic. It isn’t just a joke, or a general advise. It is a basic thing that will prevent you from taking actions, that will come back to haunt you in the future. You should always remember that whatever you do today will have an effect on your projects also when the storm is over.

Taking this as the basis, here are other, actual, ideas:

  • Tests: Work through your tests, to leave only those that are crucial at this time. Start with the tests that you should have removed regardless of the storm, for example, those that passed their last X executions (what’s your X?), or those tests that are not relevant any longer and no one removed them yet (you’ll be surprised how many of these exist in your repository). Move on to removing marginal tests (those that cover remote areas of the software or code), and consider creating a test matrix to help to find the tests you can ignore, while still covering a high percentage of the code.
  • Team: Re-organize your team. Make sure it adjusts to the new normal. It might stay with us for a long period, so don’t just wait for the old normal to come back.
  • Motivate your team: They need it. New motivation, sensitive to the era we’re living in and planned to meet your team’s background and specific situation.
  • Tools: Make sure you are using the right tools. It might be that the current tools are not good enough, for example – for working from home. Or for sharing across remote locations. It is not just using Zoom or another video conference app. You must ensure that your testers have the right test management tool, that they can integrate with your automation testers and the developers, even when all are out of the office. Most probably you’ll need a project management tool, for sharing the progress and changes, ones that were visible once to all on the whiteboard in meetings.
  • Budget allocation: Your budgets are (probably) smaller now. Make sure you re-plan your whole project accordingly.
  • Matching expectations: Talk with all your peers in the project. Get all on the same gape with regards to the new expectations, derived from the new budget, timeframes, team, etc.

These are just a few ideas, thinking directions. The point made is that there’s always something we can do, even in the worst times, that unfortunately, some of us are experiencing these days.