In The Quest for “Best Practices”
Why do companies spend enormous efforts in vain searching for “Best Practices”? Development Best Practices, Deployment Best Practices, Best Design Practices, Language Best Practices and so on….
I really feel uncomfortable when people talk about Best Practices. A lot of times we get stuck up in coming up with “best practices” as if they were final or ultimate. The whole point about Agile is, software development approaches are not static or final, we keep evolving and emerging. If something by nature is dynamic, evolving and emerging how can we say this is best? IMHO “best practices” exist only for a given context at a point in time (seconds). As soon as the time is over or the context has changed its no longer best.
Personally I prefer calling it “Better Practices”. For Ex: This practice in this context is better than the one we were using before this and hopefully tomorrow there will be a slight variation or a different practice which would be better than the one we are using today. There is no best, its only better.


April 14th, 2008 at 9:30 pm
Companies look for best practices because they dont want to spend time inventing one. And, it makes them show that they are following “Best” practices (maybe as of 2002).
CMM is another abused best practice.
People do it (in MS world) - because they don’t want to use their brains finding better way. MS is the god - whatever frameworks they come up with, people use it.
Things are different in java world, if I am somewhat right.
April 24th, 2008 at 4:36 pm
Probably, you’re right! Nothing else in this world is constant except “change”. Since everything in this world continuously changes, we cannot eliminate the word “Best” from our dictionary. With regard to IT industry, I agree with you that “Best Practices” is an overused jargon, irrespective of Agile, waterfall, iterative, etc. Moreover, practices are referred to as “Best Practices” in relative sense, so that people do not start re-inventing the wheel.