Dan is the founder of Rectangular Software, an independent UK software company that provides development services and builds its own mobile and web applications. Dan has over a decade of experience in the software industry, building a wide variety of systems including casino, poker and spread-betting platforms, mobile applications, e-commerce websites, and network security software. His other programming interests include artificial intelligence, particularly evolutionary computation, and functional programming in Haskell. He has authored, or contributed to, a number of open source Java projects. Dan has posted 34 posts at DZone. You can read more from them at their website. View Full User Profile

The War on Best Practices

  • submit to reddit

Every now and then in this profession it is necessary to take a step back, reassess the situation and realise that what you are doing, what you have always been doing, is utterly stupid. Somehow you’ve acquired a dubious habit, or adopted someone else’s superstition, and through unquestioned repetition it has become enshrined as a best practice. It may have made sense at some point but now it’s just the way we’ve always done it, the way that everybody else does it.

Dilbert on best practices.

The term “best practice” is an insidious corporate platitude, an appeal to a non-existent authority, and an excuse to justify mediocrity. If you aspire to something more than mediocrity then eradicate the notion of best practices. Best practices destroy critical thinking. These aren’t good practices, or proven practices, these are best practices. Why bother considering alternatives? What could be better than the best practice?

Published at DZone with permission of its author, Dan Dyer. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Renaud Denis replied on Thu, 2012/08/30 - 1:17am

Hey, thank you for your post! 

You assume that best practices are static, and not evolving, which in my opinion is wrong or specific to some companies.

Your issue, if any, is about your team organization, not about the existence of best practices in the computing world.

If you want to make a product (of a reasonable size) sustainable on the mid-long term, I wish you good luck if your team members don't agree on common coding and design practices (some call them 'best practices') ;)

Borislav Iordanov replied on Thu, 2012/08/30 - 9:42pm

Sometimes it's good to have an excuse not to think. If your core business is about A, but you have a problem about B, why would you be innovating in B. It takes mental energy, and it's risky. So you look for advice elsewhere... 

The problem with best practices is that people always use them as excuses not to think even when they are supposed to be thinking. People like the avoid thinking because it's painful. There's no shortage of popular frameworks that are truly horrific, but adopted by progammers that pride themselves as critifical thinkers, yet follow like sheep the latest fad as long as there's enough buzz. 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.