In the previous post in this series I discussed situational analysis: one half of the test strategy equation. In this post I’m going to discuss the other side of the coin: strategic planning.
Again, there’s no formula for this. I’m not going to attempt to outline any creative process for generating strategy ideas, nor am I going to describe methods for choosing between them, because, well, you can Google just as well as I can.
Instead, this post (much like the last) will describe a mixed bag of things that I find useful.
Differentiate between long range and short term strategy decisions. Some strategies are long term investments, for example certain forms of automation. Other aspects of strategy will be in constant flux, for example test design techniques that you select during a test session. Do not confuse the two: committing ALL your strategic decisions in a monolithic document and then refusing to change is a recipe for disaster. If the plan stinks, then trying harder to deliver against that plan is insanity: CHANGE THE PLAN. Context is not static: projects unfold over time in ways that are often not predictable. Recognize this, and the need to course correct as your landscape changes.
Establish mission, goals and constraints. Test strategy ideas should be viewed through the lens of your mission. Why are you testing and what kind of information are you seeking? Will your strategy support that? What if there are multiple goals? Could they ever be in conflict? Which are more important than others? How do your strategy ideas stack up against each goal? What constraints are you operating under? Are your ideas unrealistic in light of your constraints? Are the constraints fixed, or are they negotiable?
Consider plenty of alternatives. Don’t fixate on the first idea that springs to mind. Generate lots of ideas. Get other people involved: they’re allowed to have ideas too, and some will be better than yours. Bounce ideas off one another and think of variations on each one. Consider under what contexts each strategy might be a good idea, and under what contexts it might not; then consider fit with the current context.
Test your ideas. Avoid making a psychological commitment to your ideas, and open yourself up to challenge. Each challenge will either invalidate or strengthen your ideas. You are a tester; you test things. That can include more than just software; your ideas can be tested too:
- Prototype. Remember that strategy is not a linear process of analysis followed by design. Get your thoughts on strategy out there to be tested by your stakeholders. Manage their expectations so they know these are your “initial thoughts” and then solicit feedback. Socialize new ideas informally before trying to reach formal agreements. This process can reveal new things about your context.
- Use simulations. Imagine a range of bugs; would your strategy catch them? What weaknesses does this expose?
- Play “What if?” What if your assumptions fail? What if a critical risk is realized? What if a key stakeholder leaves? What if the goals change? What if the constraints change? Explore how sensitive your ideas are to changes in context. Don’t forget the role of luck. What’s the worst thing that can happen? Would your strategy fail? What’s the best thing that can happen? You’re not relying on that are you?
- Consider scenarios. A variation of “What If?” Read “The Art of the Long View” and learn how to use scenario planning – use what you know about your context to create scenarios as to how the project might pan out. Ask yourself how your ideas perform under each scenario.
Accept that sometimes you are under time pressure. The above is all well and good, but sometimes you will need to act quickly: you can’t take five days to decide on a strategy for a test session that starts in five minutes. Recognize that perfection can be an obstacle to attaining good enough, and only invest the time that you can afford in decision making. Ask yourself what the consequences are of not making a decision by a given deadline, versus the consequences of making a bad decision. Determine what information you have available to you right now; versus new information you might have later. Can your decisions be deferred until you have more information, or do you need to act now?
Have fun. Test strategy is like juggling fifteen pineapples, a chainsaw and a porcupine: it’s a challenge, there’s a lot going on, and there’s always the possibility of a mess. But because of that challenge it can be thoroughly rewarding. Enjoy.