Best Practices TM

Perfection is attained by slow degrees; it requires the hand of time

– Voltaire

Some say there are things you never want to see being made, if you like them.

Sausage, politics and software to name a few.

Here is the dirty little secret, no one in software or IT really knows the BEST way to do anything. . . no one. . .

It’s true. period.

I fondly remember a scolding I received from Robert Mecklenburg, when I used the term ‘Best Practices’ in the context of a code review. I credit him for forever altering my personal understanding of the concept.

‘Best’ implies a comparison, a hierarchy. There can be no ‘Best’ without a relationship to ‘Good’ and ‘Better’. How can you know the ‘Best’ solution without knowledge of all possible solutions?

How can you know anything is the ‘Best Practice’? Perhaps we should call them Seem-Like-A-Good-Idea-Today Practices. . . Or maybe Next-Time-We’ll-Know-More Practices . . . How about This-Seems-To-Work-OK Practices. . .

You can apply this from the barest metal all the way up the software stack to the tippy top of the user interface, from code conventions and software processes to feature planning and meeting agendas, pretty much anything that has to do with anything that isn’t already perfect. (that’s a lot of ground to cover)

That’s doesn’t mean there aren’t good practices or even great practices. There are certainly great programmers and sysadmins.

But next time you hear someone talking about ‘Best Practices’, ask them how they know. (And maybe what they are trying to sell. . . Who knows it might be what you need, but its probably not the best, at least not provably so)

I think context is also important, what works best in one context can be a disaster in what appears to be a similar context. Further, context is constantly changing. New hardware, new software, new team members, new problems to solve, that’s one reason reflection and adjustment are critical. We can’t know the best practice, but that shouldn’t stop us from trying to find it for ourselves and our teams.

Today’s ‘Best Practice’ is tomorrow’s quaint notion.

add to del.icio.us :: Add to Blinkslist :: add to furl :: Digg it :: add to ma.gnolia :: Stumble It! :: add to simpy :: seed the vine :: :: :: TailRank :: post to facebook


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: