<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: No Best Practices</title>
	<link>http://www.satisfice.com/blog/archives/27</link>
	<description>The Consulting Software Tester</description>
	<pubDate>Sat, 05 Jul 2008 09:10:00 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Chris Matts</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-116417</link>
		<dc:creator>Chris Matts</dc:creator>
		<pubDate>Fri, 04 Apr 2008 12:02:17 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-116417</guid>
		<description>Sorry Aaron.

Some of the projects I've worked on, it would have been a positive blessing if we had lost the source code ...... All of it. ;-)</description>
		<content:encoded><![CDATA[<p>Sorry Aaron.</p>
<p>Some of the projects I&#8217;ve worked on, it would have been a positive blessing if we had lost the source code &#8230;&#8230; All of it. <img src='http://www.satisfice.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-116290</link>
		<dc:creator>Aaron</dc:creator>
		<pubDate>Thu, 03 Apr 2008 11:39:01 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-116290</guid>
		<description>But, but... Version Control is an absolute best practice. No questions. No discussions!</description>
		<content:encoded><![CDATA[<p>But, but&#8230; Version Control is an absolute best practice. No questions. No discussions!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Matts</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-116092</link>
		<dc:creator>Chris Matts</dc:creator>
		<pubDate>Wed, 02 Apr 2008 10:32:02 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-116092</guid>
		<description>I agree that "best practice" as a judgement is decisive and generates conflict.

In order to decide which is the "best practice" for a context, you really need to know the skill/practices. In which case, you had "best practice" with the skill/practice so that you know whether it works or not. It is not allways a good idea to try out a new idea on the critical path.

Unfortunately a number of people think that the best practice is the one they know and they do not need to know any other approaches. So then, a you "best practice" this skill if you want to be part of the decision process as to whether we use it or not would be appropriate.

My "best practice" is that people should learn and become proficient in as many appropriate skills as possible rather than become the ultimate master in one or a few skills. It is quite interesting that many early adopter agilists know more about the waterfall process than the waterfall proponents. They had to be to have the arguments. Sadly many second gen agilists do not understand the traditional processes and are operating based on belief rather than knowledge and experience. The problem with this is that it limits to art/craft of software development.

&lt;em&gt;[James' Reply: Have you read the Book of Five Rings? Sounds like you have.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>I agree that &#8220;best practice&#8221; as a judgement is decisive and generates conflict.</p>
<p>In order to decide which is the &#8220;best practice&#8221; for a context, you really need to know the skill/practices. In which case, you had &#8220;best practice&#8221; with the skill/practice so that you know whether it works or not. It is not allways a good idea to try out a new idea on the critical path.</p>
<p>Unfortunately a number of people think that the best practice is the one they know and they do not need to know any other approaches. So then, a you &#8220;best practice&#8221; this skill if you want to be part of the decision process as to whether we use it or not would be appropriate.</p>
<p>My &#8220;best practice&#8221; is that people should learn and become proficient in as many appropriate skills as possible rather than become the ultimate master in one or a few skills. It is quite interesting that many early adopter agilists know more about the waterfall process than the waterfall proponents. They had to be to have the arguments. Sadly many second gen agilists do not understand the traditional processes and are operating based on belief rather than knowledge and experience. The problem with this is that it limits to art/craft of software development.</p>
<p><em>[James&#8217; Reply: Have you read the Book of Five Rings? Sounds like you have.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jean-Francois Couture</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-115816</link>
		<dc:creator>Jean-Francois Couture</dc:creator>
		<pubDate>Sun, 30 Mar 2008 18:36:48 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-115816</guid>
		<description>It's too bad you hide the interesting points of your article, which would be context matters and think for yourself, between trying to argue what people really mean when they use the expression best practice.
&lt;em&gt;
[James' Reply: I think the strongest argument against "best practice" as a phrase is that it's bullshit, the only purpose of which is to artificially and deceptively inflate one's ideas. To me, that is the most interesting thing: don't speak bullshit if you want to be taken seriously by serious engineering thinkers. Knowingly sloppy talk about methodology is a popular refuge for bad work in our field.

I haven't argued that imprecise speech is always bad. In at least one other post I've argued that it's necessary. It's the manipulative usage of that particular phrase I find contemptible-- and there's no other motivation to use it I can see except to manipulate the ignorant.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>It&#8217;s too bad you hide the interesting points of your article, which would be context matters and think for yourself, between trying to argue what people really mean when they use the expression best practice.<br />
<em><br />
[James&#8217; Reply: I think the strongest argument against &#8220;best practice&#8221; as a phrase is that it&#8217;s bullshit, the only purpose of which is to artificially and deceptively inflate one&#8217;s ideas. To me, that is the most interesting thing: don&#8217;t speak bullshit if you want to be taken seriously by serious engineering thinkers. Knowingly sloppy talk about methodology is a popular refuge for bad work in our field.</p>
<p>I haven&#8217;t argued that imprecise speech is always bad. In at least one other post I&#8217;ve argued that it&#8217;s necessary. It&#8217;s the manipulative usage of that particular phrase I find contemptible&#8211; and there&#8217;s no other motivation to use it I can see except to manipulate the ignorant.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Peterson</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-115324</link>
		<dc:creator>David Peterson</dc:creator>
		<pubDate>Mon, 24 Mar 2008 16:05:09 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-115324</guid>
		<description>OK, I think I get it too. You're declaring "No Best Practices" a best practice, right? ;)
&lt;em&gt;
[James' Reply: Not even that is a best practice! Can you think of a context where it may be a good practice to believe in best practices (or at least to affect such a belief)? I can. None of them are contexts I would like to work within.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>OK, I think I get it too. You&#8217;re declaring &#8220;No Best Practices&#8221; a best practice, right? <img src='http://www.satisfice.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<em><br />
[James&#8217; Reply: Not even that is a best practice! Can you think of a context where it may be a good practice to believe in best practices (or at least to affect such a belief)? I can. None of them are contexts I would like to work within.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sai</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-115268</link>
		<dc:creator>Sai</dc:creator>
		<pubDate>Mon, 24 Mar 2008 04:55:01 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-115268</guid>
		<description>What James is trying to convey it true and very valuable. People mostly find some practice effective in some context and take it to granted that it can be applied to a universal range of scenarios. Unfortunately this is encouraged by organizations which want to impress the immature clients that they have a strong range of expertise by showcasing their best practices. The problem is people most of the time blindly follow what others advocate as best practice. 

I hope people will be disillusioned about best practices and value skill and knowledge more. I am not sure but I hope we can have the practices aligned with their context and before we suggest any practice to a problem we will study that problem rather than blindly advocating it. We can learn this from the design patterns community. Every pattern will have a motive and context associated with it. So if we encounter a similar context we can think about applying a pattern to the problem.

&lt;em&gt;[James' Reply: I think you get it. Cool.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>What James is trying to convey it true and very valuable. People mostly find some practice effective in some context and take it to granted that it can be applied to a universal range of scenarios. Unfortunately this is encouraged by organizations which want to impress the immature clients that they have a strong range of expertise by showcasing their best practices. The problem is people most of the time blindly follow what others advocate as best practice. </p>
<p>I hope people will be disillusioned about best practices and value skill and knowledge more. I am not sure but I hope we can have the practices aligned with their context and before we suggest any practice to a problem we will study that problem rather than blindly advocating it. We can learn this from the design patterns community. Every pattern will have a motive and context associated with it. So if we encounter a similar context we can think about applying a pattern to the problem.</p>
<p><em>[James&#8217; Reply: I think you get it. Cool.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Cadenas</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-115254</link>
		<dc:creator>Daniel Cadenas</dc:creator>
		<pubDate>Mon, 24 Mar 2008 01:30:14 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-115254</guid>
		<description>It doesn't matter if the "best practices" are really best or not.  "best practices" is only the name we use to call them, ok, maybe it's a bad name but the important thing is that they teach you something, even if you don't agree with them.
&lt;em&gt;
[James' Reply: If it's a bad name, why are you using it? What is your motive? The only motives I can think of are dishonorable. And you can learn from any practice, even a bad practice. You can learn from anything even if it's not a practice. Learning has nothing to do with it.]&lt;/em&gt;

Knowing them is the important thing. They increase the knowledge you need to be good at what you do.

&lt;em&gt;[James' Reply: No. Knowing them as OBJECTS is not the important thing. Skill is the important thing. Being able to solve problems is the important thing. Collecting labels and rumors of practices, as if they were trading cards or something, does not make you able to do anything better.

I definitely study how problems get solved, but I do think in terms of practices, except as a linguistic convenience. Neither should anyone, I believe, unless their goal is to be a successful fake who can speak buzzwords but not solve problems.]
&lt;/em&gt;

The value best practices have is that they are things that some people think are important in most situations of a certain kind. That's enough to consider them and to know them.

&lt;em&gt;[James' Reply: I just made an argument that there is no such thing as a best practice, so your sentence is meaningless to me. You might as well say "the value of unicorns is that they improve the color of rainbows." You can't point to any practice and call it the best, therefore what you must mean is that you believe you have found certain practices to be useful in certain contexts. If so, then you must know why they are valuable, and you must know how they can fail. Talk about that, don't just tell me it's important to study that practice for some mystical reason that you can't explain.]
&lt;/em&gt;

They may be right, they may be wrong, the final decision is always yours, but knowing them is good.

&lt;em&gt;[James' Reply: Knowing WHAT is good? You aren't referring to anything. This is part of the reason why "best practices" is incompatible with competent engineering discourse. Many managers think they are offering sage advice when they suggest we go and find "best practices". They might as well ask for the Holy Grail. It's childish. Let go of the whole idea, please.]&lt;/em&gt;

I think the problem arises when someone justify a decision only because it's based in a best practice. This would be an authority fallacy, concrete reasons should always be given.

&lt;em&gt;[James' Reply: I've given you concrete reasons why there can be no best practices, but that hasn't helped much, has it? You can make yourself impervious to reason, if you want. People do it all the time. But how about trying to answer the arguments I made in my post, instead of ignoring them?]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>It doesn&#8217;t matter if the &#8220;best practices&#8221; are really best or not.  &#8220;best practices&#8221; is only the name we use to call them, ok, maybe it&#8217;s a bad name but the important thing is that they teach you something, even if you don&#8217;t agree with them.<br />
<em><br />
[James&#8217; Reply: If it&#8217;s a bad name, why are you using it? What is your motive? The only motives I can think of are dishonorable. And you can learn from any practice, even a bad practice. You can learn from anything even if it&#8217;s not a practice. Learning has nothing to do with it.]</em></p>
<p>Knowing them is the important thing. They increase the knowledge you need to be good at what you do.</p>
<p><em>[James&#8217; Reply: No. Knowing them as OBJECTS is not the important thing. Skill is the important thing. Being able to solve problems is the important thing. Collecting labels and rumors of practices, as if they were trading cards or something, does not make you able to do anything better.</p>
<p>I definitely study how problems get solved, but I do think in terms of practices, except as a linguistic convenience. Neither should anyone, I believe, unless their goal is to be a successful fake who can speak buzzwords but not solve problems.]<br />
</em></p>
<p>The value best practices have is that they are things that some people think are important in most situations of a certain kind. That&#8217;s enough to consider them and to know them.</p>
<p><em>[James&#8217; Reply: I just made an argument that there is no such thing as a best practice, so your sentence is meaningless to me. You might as well say &#8220;the value of unicorns is that they improve the color of rainbows.&#8221; You can&#8217;t point to any practice and call it the best, therefore what you must mean is that you believe you have found certain practices to be useful in certain contexts. If so, then you must know why they are valuable, and you must know how they can fail. Talk about that, don&#8217;t just tell me it&#8217;s important to study that practice for some mystical reason that you can&#8217;t explain.]<br />
</em></p>
<p>They may be right, they may be wrong, the final decision is always yours, but knowing them is good.</p>
<p><em>[James&#8217; Reply: Knowing WHAT is good? You aren&#8217;t referring to anything. This is part of the reason why &#8220;best practices&#8221; is incompatible with competent engineering discourse. Many managers think they are offering sage advice when they suggest we go and find &#8220;best practices&#8221;. They might as well ask for the Holy Grail. It&#8217;s childish. Let go of the whole idea, please.]</em></p>
<p>I think the problem arises when someone justify a decision only because it&#8217;s based in a best practice. This would be an authority fallacy, concrete reasons should always be given.</p>
<p><em>[James&#8217; Reply: I&#8217;ve given you concrete reasons why there can be no best practices, but that hasn&#8217;t helped much, has it? You can make yourself impervious to reason, if you want. People do it all the time. But how about trying to answer the arguments I made in my post, instead of ignoring them?]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin Makundi</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-108224</link>
		<dc:creator>Martin Makundi</dc:creator>
		<pubDate>Mon, 18 Feb 2008 11:26:53 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-108224</guid>
		<description>Hopefully not all idiomatic expressions get this much attack.

An idiom is an expression, that is a term or phrase whose meaning cannot be deduced from the literal definitions and the arrangement of its parts, but refers instead to a figurative meaning that is known only through common use.

This applies to the term "best practices", too. It is not exact code, it is just human language :)

&lt;em&gt;[James' Reply: I dealt with this objection in my post, already. "Best practices" does not make sense as an idiom or as a literal phrase. It's just plain sloppy and/or manipulative speech and we should not engage in it.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Hopefully not all idiomatic expressions get this much attack.</p>
<p>An idiom is an expression, that is a term or phrase whose meaning cannot be deduced from the literal definitions and the arrangement of its parts, but refers instead to a figurative meaning that is known only through common use.</p>
<p>This applies to the term &#8220;best practices&#8221;, too. It is not exact code, it is just human language <img src='http://www.satisfice.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><em>[James&#8217; Reply: I dealt with this objection in my post, already. &#8220;Best practices&#8221; does not make sense as an idiom or as a literal phrase. It&#8217;s just plain sloppy and/or manipulative speech and we should not engage in it.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ishmaeel</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-56175</link>
		<dc:creator>Ishmaeel</dc:creator>
		<pubDate>Mon, 23 Jul 2007 21:54:06 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-56175</guid>
		<description>Great post.

Here's a good counter example to the "seek to understand your problems.." thingy (I'm posting this because all your original counter arguments revolved around non-development tasks):

Let's say I faced an odd behavior while doing development on a framework. I do a bit of Googling and find out that the framework vendor has released a service pack that solves the exact problem I'm having. I do as I am advised and, whaddayaknow, my problem vanishes.

Now, suppose the reasons behind that problem is rooted in some kind of OS kernel arcana about which I know s**t. Do I seek to understand that problem, risk missing my deadline, and waste precious brain cells on knowledge I won't have any use except for small talk during coffee breaks?

Or do I just install the damn service pack and move along?

&lt;em&gt;[James' Reply: The answer depends on the nature of your problem. Sure you are not telling me that you CAN'T IMAGINE a situation where you would NOT install the service pack. I can think of a few. You may be in a situation where you have a golden master and you don't want to install any changes except exactly what is needed to fix the problem. It is not a "best practice" to install service packs. It's just a practice, and apparently one that you like (I like it, too). Perhaps if you have some bad experiences with service packs you'll decide that they aren't infallible.] &lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Great post.</p>
<p>Here&#8217;s a good counter example to the &#8220;seek to understand your problems..&#8221; thingy (I&#8217;m posting this because all your original counter arguments revolved around non-development tasks):</p>
<p>Let&#8217;s say I faced an odd behavior while doing development on a framework. I do a bit of Googling and find out that the framework vendor has released a service pack that solves the exact problem I&#8217;m having. I do as I am advised and, whaddayaknow, my problem vanishes.</p>
<p>Now, suppose the reasons behind that problem is rooted in some kind of OS kernel arcana about which I know s**t. Do I seek to understand that problem, risk missing my deadline, and waste precious brain cells on knowledge I won&#8217;t have any use except for small talk during coffee breaks?</p>
<p>Or do I just install the damn service pack and move along?</p>
<p><em>[James&#8217; Reply: The answer depends on the nature of your problem. Sure you are not telling me that you CAN&#8217;T IMAGINE a situation where you would NOT install the service pack. I can think of a few. You may be in a situation where you have a golden master and you don&#8217;t want to install any changes except exactly what is needed to fix the problem. It is not a &#8220;best practice&#8221; to install service packs. It&#8217;s just a practice, and apparently one that you like (I like it, too). Perhaps if you have some bad experiences with service packs you&#8217;ll decide that they aren&#8217;t infallible.] </em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Child care</title>
		<link>http://www.satisfice.com/blog/archives/27#comment-23258</link>
		<dc:creator>Child care</dc:creator>
		<pubDate>Wed, 24 Jan 2007 14:10:03 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/27#comment-23258</guid>
		<description>Secondly, you haven’t mentioned an obvious context: prototype code. Most of what I write is throwaway code for my own use. I write programs to solve logic puzzles or create test cases. My focus is simply not on maintenance. Sorry, I don’t care. It’s very rapid coding to solve ephemeral problems. A?...</description>
		<content:encoded><![CDATA[<p>Secondly, you haven’t mentioned an obvious context: prototype code. Most of what I write is throwaway code for my own use. I write programs to solve logic puzzles or create test cases. My focus is simply not on maintenance. Sorry, I don’t care. It’s very rapid coding to solve ephemeral problems. A?&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
