Monday, 30 March 2015

Actually, there ARE Best Practices.

Being the contrarian that I am, I of course think there ARE best practices. However, as is often the case, it comes down to a matter of what’s meant by it and the position you take on using the phrase. I’ll admit before the below, I've stated there are no best practices, but I was lying slightly.

As I recall it, about 5 or 6 years ago, when the re-thinking around Best Practice kicked-off in the test community, it was timely. We were definitely in an era when the Big Consultancies had to be given a firm ‘No’ to the restrictive tools and process models that were becoming the norm. I don’t think it’s an overstatement to say if the push-back hadn't happened, we’d be under the heel of consultancies driving the definition of Best Practice and rolling out the tools to carry it out.

It was already happening, both HP and Microsoft had their respective tools and companies like PWC were adding in processes they would impose on engagements. Best Practice had become defined by whatever those with the strongest grip on senior management said it was. What they said it was; was a way to ensure success. What it actually was; was whatever increased their footprint and made money of course. It wont take you long to recall from memory glorious failures of the big consultancies. A quick Google search will turn up more.

Sadly even within the test community itself it looked like that was happening too. ISTQB splitting out into a set of exams was starting to position itself as the de facto exam set that defined the testing profession’s education. Some luminaries of the testing profession helped put the original Foundation exam together, then stepped back and started to attack it when they saw what the real agenda might be.

The backlash and war cries were understandable. Every revolution starts with trashing the old ways and thinking and attempts to reshape or reclaim certain ideas and words. 

However, often times the thing being fought against are still there. You can shout “There’s no such thing as best practice!” all you like, but there still will be and the world will still roll on stating it’s so. Even though I recall blogging the opposite about 9 months ago. There’s a caveat to this argument as always.

Intellectual Vs Pragmatic
You have a choice as a consultant and a testing professional. You can fight and resist or you can go with the flow and subvert the thinking to achieve your aims. I think that’s in the Art of War or something. Feel free to hit the forums and blogs and engage in the robust intellectual arguments that go on about best practice, testing v checking, waterfall over scrum over agile over whatever this week. In fact, please do. Don’t be intellectually lazy. 

You HAVE TO understand the various viewpoints to get good at what we do.

As a test professional, you have an obligation to yourself and the community to understand as thoroughly as possible, the arguments and thinking, so you can apply them in practice. You have to gain as much understanding as possible and then subvert it for your own aims.

You also have an obligation to be pragmatic.

Taking a rigid, positional stance, that there is no best practice is where this line of argument hits the rails for me. When I go and meet a potential client for the first time, (assuming I’m not hearing otherwise from them) you better believe I talk about best practice, I say testing when I mean checking, heavyweight agile and more. If I didn't, I’d be out of the room before the conversation got started, never mind getting engaged to deliver. You want to open client discussions or berate an existing client for using terms we know are inaccurate? Bye bye job prospects.

You better get good at hearing what people think they mean when they say best practice, testing, performance, security, etc. Find that out by asking probing questions. You might have to talk in terms of best practice, perhaps you can avoid doing so. Later on, when you have their confidence, then is the time to bust out the real truth of matters and reveal the rich depth of nuance. Be pragmatic, you can win the argument and change people’s minds only when you've secured a relationship with them first.

So, what’s Best Practice?
Best Practice is anything that’s been tried and proven to work. That’s it. You know about writing a test plan, test schedule, test cases, checklists, raising defects, tracking progress, regression testing, issuing a test completion report, managing a backlog, creating a burn-down, etc? You know how these things are pretty much approached in the same way, give or take a few details? Best Practice.

Best Practice is a model, an approach to a problem that is known to make it more likely you’ll resolve the problem or complete the task.

Did you notice what I omitted there? What you shouldn't be looking for is prescriptive detail on top of this. The exact content of status report, the precise steps to perform analysis, the specific choice of colours for reporting. It’s nonsense to think it could be any other way, not even IEEE 829 or the new IEEE 29119 go that far, so stop looking.

Best Practice is what is in your box of tricks, that you've learned to apply over the years and that you know how to modify to fit the client’s needs.

You are building that personal tool kit right? It’s best practice don’t you know.


Enjoyed this post?
Say thanks by sharing, clicking an advert or checking out the links above!
Costs you nothing, means a lot.