Project A followed practice ’P’ and faired quite well, Project B followed and faired better, Project C followed ‘P’ and it was one of the best releases ever. Now practice ‘P’ becomes a benchmark for all the projects in the organization and is crowned the 'Best Practice'.
A Best Practice is defined as the most efficient (least amount of effort) and effective (best results) way of accomplishing a task, based on repeatable procedures that have proven themselves over time for large numbers of people as per wikipedia.
Repeatable procedures – If a series of tasks(independent/dependent) are accomplished using trial and error, improvised over time and made to succeed either by tweaking or brute force, does this become a best practice?
Proven over time – If a certain practice has been followed for a long period of time without questioning it irrespective of its advantages or disadvantages, does this become a best practice?
Large numbers of people – If most of the organizations are following a certain practice, does this become a best practice?
Have you seen Fairness Cream adverts? Pick up the most fairish model around. Put up some color to make her look wheatish in complexion and make up a lot of acne. Then start applying some colors to make her fairer each day . It could be a 7 day miracle, 14 day miracle, 1 months or 6 weeks. Anything more than this could be termed as an ineffective fairness cream(that is how the marketing works). At the end of the promised timeline, the model becomes fairer and all the acne just vanish. What an ideal world? We admire these adverts, don’t we? Well, we admire the models more than the adverts and end up buying the creams because we liked the models in the adverts. Same with best practices. More than the practice itself, we tend to think that it has worked for so many organizations/projects/teams. Why would it not work for us? Isn’t this wastefulness?
There is no harm in learning about a new practice, getting gung ho about it and hoping to learn, follow and benefit from it. What is harmful is to tweak the quality of work to fit into the guidelines of the best practices. What is even more harmful is to follow this to impress your higher ups and not because you believe in the value that it brings.
I once worked for a company wherein every time we released a patch to the customer, we had to fill in a 20 page excel worksheet. The only ones that mattered were not more than 3 to 4 worksheets. But every tester had to fill all 20 pages for every patch! When I questioned this, I was told that this was designed as part of one of the Senior Manager’s MBO goals and he needed to ensure that everyone follows it by hook or crook. Best Practices are born exactly like this. If you come across a best practice, do not escape from it. At the same time, do not accept it right away. Analyse what suits best for your project. Defy the best practices!
PS: I have no offense to fairness cream ads or the models in them. By the way, I have been using a fairness cream for about 10 years now. I am born wheatish and was told that I would become fair. I have not. I tried to stop using it. My skin was so used to it that I got a lot of acne and had to continue using it. Once you get into them, its hard to get out without getting hurt.
Addendum on 19th Dec 2009:
James has written a superb blog post about Best Practices HERE.