Best Practices - Peter Ritchie's MVP Blog

Best Practices

We had a fishbowl session at Prairie DevCon recently, titled “When and When Not to use Best Practices”.  The idea for the session came from a Twitter conversation between myself, D’Arcy Lussier and Shane Shouldice.  That Twitter exchange basically alluded to the sentiment that there is no such thing as a best practice.

Best Practices is not a term used solely in Software Development, and not a term coined by the Software Development community.  Wikipedia defines Best Practice as “…a technique, method, process, activity, incentive, or reward that is believed to be more effective at delivering a particular outcome than any other technique, method, process, etc. when applied to a particular condition or circumstance.” and goes on to detail that “[a] given best practice is only applicable to particular condition or circumstance…”

There were some great participants in the session, and the overall sentiment echoed that of the twitter exchange: people’s frustration with how “best practices” have been adopted by other members of the software development community.  The major issue is that developers blanketly implement best practices without putting any thought into the appropriateness of the practice in their context.  This, I think, stems partially from the source of the best practice and the adeptness of the consumer of the best practice.

While I don’t think we can really expect to get away from “Best Practices” as a term in our industry, I think we can go a long way to improve people’s understanding of what a “best practice” is.  Some important things when documenting Best Practices: there is a context in which they are appropriate, they are not fixed procedures.  And for consuming Best Practices: be sure you understand the context in which the practice is intended to be used.  Also, don’t be afraid to put some thought into your use of the practice; if it doesn’t quite fit in your circumstance change it or move on to another practice.

Published Mon, Jun 14 2010 12:55 by PeterRitchie

Comments

# re: Best Practices

This may be a nitpicking thing, but I've always had a problem with the usage of "Best Practices".  Most people use it incorrectly at a grammatical level - "what are the best practices for doing foo?"  Well, how can there be more than one best practice for doing a singular thing?  I think there is a relationship between the mis-use of the term and identification of what a best practice is, as per your statement.

Just a thought...

Monday, June 14, 2010 1:24 PM by Steve Syfuhs

# re: Best Practices

@Steve.  Good point.  It depends on what "foo" is.   "What are the best practices for database administration" for example...  There's lots of best practices for that sort of thing.  But, for any one particular thing, as you point out, there many not be more than one best practice.

While I agree "Best Practice" pigeon holes the practice ("best" can't be improved, works everywhere, etc.); I don't think we can get away from the cross-industry term, only document and consume best practices more intelligently.

One alternative at the session was "Appropriate Practice" which I think is a better term; but not as widely understood.

Monday, June 14, 2010 1:55 PM by PeterRitchie

# re: Best Practices

I believe that like nature, everything lives in a certain context.

The general idea of this is giving you an opportunity to handle something in a given circumstances in a more effective way, it usually consist of other people's past experience, research and knowledge, the problem is not the practices that might be applicable to their given problem but how people adhere it in every single chance they have and this becoming the law for them.

In my opinion, and in my perspective you need to consider this as a choice, an alternative, not obligatory.

I like the concept of the term I hate how people are using it in their work. :)

Thursday, June 17, 2010 6:48 PM by Eyal-Shilony

Leave a Comment

(required) 
(required) 
(optional)
(required) 
If you can't read this number refresh your screen
Enter the numbers above: