views:

346

answers:

9

Sometimes I come across this sentence "the best best practice is success" in several blog posts or podcast. Last I've heard this on some podcast; subject was Design related/architectural/security decisions.

I don't believe this but it sounds right. And it may cause misunderstanding. What do you think about this?

+5  A: 

Personally my best practice has been failure. If all you have is success (or perceived success), you'll be less inclined to seek out a better way of doing things. I think this is why we're stuck with so many mediocre products.

Giovanni Galbo
+2  A: 

I think this sentence is garbage. I have been working in a company that mostly produces small (and on the inside) very crappy Access database apps. There were no best practices at work (Source control? Dream on, buddy!), but the outfit was quite successful on the financial side.

So, if somebody is successful, that does not mean that what he does is good practice. If on the other hand many companies are successful with a specific practice, that is a good reason to look at that practice, to analyse and evaluate it. Maybe that practice is a good practice, maybe it is even best practice. But you'll never know just from looking at the success.

Treb
+2  A: 

The underlying assumption is that no matter how what the practise is, ultimately it is "success" (using some sort of metric) which matters. For example, agile programming is meaningless on its own, it's value consists in the project's success. Conversely, if you have a bunch of coders who just by pure luck manage to cooperate and write successful code (again, given some sort of metric), no one will care what kind of methodology they are using.

JesperE
+3  A: 

This really depends on how you define a successful piece of software. I can write something that's quick and dirty, but that does the job as required. It appears to work well and fulfils the requirement, and therefore can be considered successful... but perhaps it's an incomprehensible maintenance nightmare in terms of coding and design inside. Is that a best practice? Of course not. So always be prepared to question something that is presented as a success or best practice.

I'm paraphrasing here, but:

"One error made by yourself is better than five truths accepted on faith. The first gives you the chance to correct it, the second leaves you unable to distinguish error from truth."

If you never learn why something is the best practice then you're not really improving yourself as a developer by using it. To echo one of the other answers - you should be prepared to fail again and again and again. Of course there's a place for best practices (of which I think Code Complete 2 by Steve Mcconnell is an excellent example, and no doubt familiar to people who have come here via Coding Horror), but recognising when and how to apply them comes from experience built of your own failures.

Xiaofu
+1  A: 

I would reword that to:

The best best practice is sustainable success

As others have alluded to, what price short-term success, if the processes and quality are sacrificed?

toolkit
there are many apps that are designed to be thrown away.some of them end up hanging on for yearssome of them are rewritten using 'best practices' and become much, much worse that the original.
gbjbaanb
+1  A: 

I think it is a question of does the end justify the means, really. There is also the question of what is the price of success as sometimes while something great can come out, e.g. if it burns out all your developers, was it really worth it?

JB King
A: 

In my view "best practice" is not just for success. You can succeed anyways but "best practice (in programming)" is for finishing your work quickly and for painless maintenance of your program. take subversioning for an example. Won't you success without subversion? You will! But it might take a long time and you might find it difficult to manage your project without it.

askgelal
A: 

Success is often unrelated to quality, for many different definitions of the two.

There are many successfully products/services which are less than mediocre - useless, when they are not a burden for its users.

They are examples of the wrong assumptions in rational choice theory. There is hope that a different approach, like neuroeconomics, will shed some light on human decision making process. Unfortunately I fear this, again, will used against to, and not in favor of, users/consumers/citizens/"the general public".

Of course, the statement "the best best practice is success" is true, if you understand it in their psychological context: it is best for themselves, regardless of the pain and expense to others.

MaD70
+2  A: 

The sentence is begging the question of what is success. StackOverflow is a prime example of what it is getting at. Listening to the SO podcasts, Joel recites all the 'Best Practices' that they did not do but it's still a huge success. Jeff is right when he says it's all about the people. People are First Order influences on the process. 'Best Practices' are an attempt to get people to do things the successful people do when they would have had no clue otherwise. They were either inexperienced or too timid to make and learn from their own mistakes. Learning from your mistakes and changing your behavior doesn't guarantee success but refusing to play or repeating mistakes will guarantee failure.

I'd rephrase it to say, "Those who achieve success, define their own best practices."

Kelly French