A while back I ranted about best practices. Among the things I found in that particular blog entry is that there are quite some definitions for the term “best practice” out there. Nowadays, if it’s not on google, then it doesn’t exist. For best practices google it turns out is quite capable of delivering a definition. Although I resonate with the principles of context-driven testing, I recently found the second principle unhelpful. The second principle states
There are good practices in context, but there are no best practices.
Like many other people that I respect I used to start ranting about best practices whenever people would ask for them. Particularly in training situations, though this does not help so much. J.B. Rainsberger‘s introduction to the Satir Communication Model helped me understand why that is.
The Satir Interaction model
The Satir communication model describes four phases for communication. First, there is intake where the words from the other partner are taken into my braincells. Then my brain will form meaning out of it. Based on my previous impressions I will derive different conclusions. Based on my interpretation of the meaning I derived from the intake, I will assign significance to the message, and decide whether and how to respond.
In any of these four phases miscommunication can happen. If my hearing is impaired, I will take in a different message. If I derive a different meaning from the words as spoken, I will come up with a different interpretation, and probably assign a different significance to the words spoken. Early on I found that there was some miscommunication happening between people looking for best practices and my understanding of it. So, let’s take a look on what happens when miscommunication happens.
Debugging a conversation
Assuming I have heard the message from the person talking to in the right way, I can derive a different meaning than the other one based on our different experiences. We will then have a mis-understanding of the words as spoken. In order to debug our conversation, we will have to work towards a shared understanding between us.
When I react in an emotional way to the message, it might be that I derived a different significance to the words as spoken. Then we will have a mis-interpretation between us. In order to debug our conversation, I will need to understand the interpretation of the other person.
With these two concepts in mind, let’s take a look on what happens when someone says “best practice”.
Debugging best practices
Google cites Wikipedia on best practice:
A best practice is a , method, process, activity, incentive, or reward which conventional wisdom regards as more effective at delivering a particular outcome than any other technique, method, process, etc. when applied to a particular condition or circumstance. …
Note that the definition above includes particular conditions or circumstances where practices deliver more effectively according to conventional wisdom. Usually some folks refer to folclore wisdom in particular contexts like Waterfall, Scrum, or XP.
Usually I thought about best practices as practices for which no better way exists. No better way now, and no better way in the future. In the end it’s the best way to do something, right?
Well, it seems that there is a mismatch between the Wikipedia definition, and my understanding of the term “best practice”. During the past one or two years I found out that I cannot solve this miscommunication by responding emotionally, harsh, or in other ways. Talking someone down does not help in this situation.
Instead, I started to question for what the other person looks for in best practices. By then I can find out if he is really looking for a practice that will always work. More often than not, though, I found out so far that the other person is actually looking for some hints of practical application of the thing that I am speaking about. And there are more helpful ways to react to that expectation that show more respect for the other person.
The issue is that people will say something is a “best practice” and expect you to take their word for it. As if no further explanation is needed. It’s best practice! Which is code for “Don’t question it, this practice is self-evidently the best!”. It’s often used as a deflection of criticism
No, I don’t have to do that. Instead I need to seek understanding of what best practice is for the person I am currently speaking to, and clarify my point in that. After I explained that I can tell them about things that have become folclore standard in other companies, I don’t have to debate and rant about the term any more at all. I find this approach more helpful.
Markus,
Thanks for taking a common-sense approach to this issue. While I have also come around to the idea that best practices must inherently be context-based, I have found the polarizing (and often demeaning) reaction to be less than helpful.
I wasn’t sure about your last sentence, however, where you said:
And there are more helpful ways to react to that expectation than show more respect for the other person.
I was wondering if you meant to say:
And there are more helpful ways to react to that expectation that show more respect for the other person.
Thanks for pointing that typo out. I fixed it.
Markus,
I’d distinguish two types of scenarios:
1. Someone who advocates (“sells”) a practice as best irrespective of context – context-agnostic or context-ambivalent.
2. Someone who brings in help and wants to use/re-use/refer to something they regard as a “best practice”.
The first scenario is potentially more serious than the second – it’s the mindset of not distinguishing “a practice in context” and “a practice” that is the problem. (Lack of awareness may mean a form of learning and root cause reflection may be missing in the team/group.) You don’t appear to be encountering that scenario in your description, so the approach to tackling this appears to be academic in this situation.
It seems like your description falls into the second category and you are helping the team/client work on their core problems in the best way you can. In this scenario I wouldn’t think of someone advocating/referring to something as a best practice (team/client) as a core problem anyway, and that’s what you appear to have concluded.
That still doesn’t mean that best practices are context-agnostic :)
Thanks for your thoughts on that. You are right, and I think you put my primary concern in a good way. Actually, I never ran into the situation where I was provided with best practices and had to fight them. In a client situation however, I have to debug our conversation as I outlined it.
Hi Markus,
I’m confused, I can’t that paragraph on the wiki link? when I clicked on the link I get this:
“A best practice is a method or technique that has consistently shown results superior to those achieved with other means, and that is used as a benchmark. In addition, a “best” practice can evolve to become better as improvements are discovered. Best practice is considered by some as a business buzzword, used to describe the process of developing and following a standard way of doing things that multiple organizations can use.
Best practices are used to maintain quality as an alternative to mandatory legislated standards and can be based on self-assessment or benchmarking.[1] Best practice is a feature of accredited management standards such as ISO 9000 and ISO 14001.[2]
Documenting and charting procedures and practices is a complicated and time-consuming process often skipped by companies, even though they may practice the proper processes consistently. Some consulting firms specialize in the area of Best Practice and offer pre-made ‘templates’ to standardize business process documentation. Sometimes a “best practice” is not applicable or is inappropriate for a particular organization’s needs. A key strategic talent required when applying best practice to organizations is the ability to balance the unique qualities of an organization with the practices that it has in common with others.”
Also I’m not sure I really understand what you mean by:
“More often than not, though, I found out so far that the other person is actually looking for some hints of practical application of the thing that I am speaking about.?”
are you saying their not interested in if its best practice or not, but more on how to get the job done. I’m not sure that’s true (as the above definition and Simon explained)
Sure, find out what the term means for them & then go for the sentiment behind the term to help people in practical terms. But then don’t use the term ‘best practice’ use something like “practice suited to my situation” which is the essence of point 2 of context driven testing. If they still insist on calling it ‘best practice’ you do have to examine why thats the case.
The summary came from google. If you google for “define: best practice” you should get similar results as I did a few days ago.
What I meant with that other pararaph is the following. In my courses from time to time I have someone there who is asking for “best practices in Agile testing”, “best practices in Scrum”, “best practices in Exploratory testing”. When I clarified their inquiry, I always found out that they would like to know what works most/best at other companies and has become an instance of – say – the Scrum folklore. Not part of the Scrum guides, yet widespread in the industry. From that understanding, I then tell stories about things I have seen that I found good which I find a better approach as an hour long talk about the unuselness of “best practices”.