Note: Before you read any further, let me warn you that you might not be comfortable reading this, esp if you are from context driven school. Have a glass of water, if it helps. This post is not to undermine the contributions of the context driven community. I owe a lot to their wonderful work in terms of learning. So, read the title again. Well, once more!
If we are doing things without understanding the context, we are doing it wrong. The question is, should the context drive you?
A lot can go wrong in the assessment of context itself. Such an assessment needs experience beyond books. It needs evaluation beyond what we see and what people around us are telling. The problem told to us may not be the real problem. The numbers/data shown could be out of context. We can assume that people are not always truthful. We can also assume that statistics can lie too. All this means that context is what you make out of it. Every person on the team would have his or her own version of context. There would be overlaps but none would be exactly similar.
Add to it the personal goals of various stakeholders – managers, testers, product owners, customers and so on. We do work to get paid. Period. There are some saints too. They are fewer in number, so let’s deal with the reality. This means that most of us want to keep our job safe, get highlighted the most, get paid the most. This means that when I am put on a team, there is a long history to the way of doing things. This history includes such manipulations and personal goals reflected in the way of doing things. Your assessment of the true context almost always is in conflict with what people want it to be.
And whose context are we talking of? Are we talking about the context of the problem at hand? Are we talking of customers? Product Owners? Developers? Testers? Managers?… How do we deal with conflicting interests? How do we deal with the trade-offs? What about *your* context? Wouldn’t all these contexts drive your own, unless you are the supreme, the omnipotent, the omnipresent, the almighty?
With the theory of “no best solutions”, it is likely that better solutions than the current way of doing things exist and would be found given enough good effort and intention. What if you have hired to own & extend an existing test automation framework? The context is forcing you to continue with the existing one and extending it. Your assessment of the context says that the team needs a new one created from scratch. What would you do? Act as per the context of why you have been hired? Act as per the context of the problem? Act as per the context of hiring and talk as per the context of problem in forums?
Is the definition of a context-driven tester – “In the perfect perfect world, in the far away planet of Testonia, where I am the king and I can do what I want, where all the creatures would also do what I want, I would always act as per my assessment of the exact and the correct context of the problem, but because that’s not the case I settle down for ………..”?
I know that you have answers to all of the above. I know that most of you would give the obvious answers in the direction of – “doing what is best for the team”. As per me, if you are answering on this note, you are not being driven by context, you are assessing *all* contexts, and using them as a part of your decision making.
In short, if the current context is unhealthy, it’s better if we don’t let it drive us. It’s better to challenge it.
What I’m saying is reflected in the principles of Context-Driven School. What is ironical is that the name of the schools says that the testers subscribing to this school should be driven by context. But the principles indicate that we should challenge the context too.
As one generic principle, when you let one thing drive you, by definition, you are forming a “best practice” and becoming non-contextual. So, when you say you are “Driven By Context”, what you are saying is “Without assessing the context, I would always let the context drive me, whatever it may be”. This statement actually indicates that you have formed a fixed way of thinking. And some English words that you have been challenging in various forums, e.g. “must”, “always” etc, have crept into your core philosophy.
I would like to hear about your thoughts on the subject.