<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Nerdherding for Beginners</title>
	<atom:link href="http://www.nerdherding.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nerdherding.net</link>
	<description>Working with nerds for fun and profit</description>
	<pubDate>Sun, 18 Feb 2007 10:50:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>How to get that role you want</title>
		<link>http://www.nerdherding.net/2007/02/08/how-to-get-that-role-you-want/</link>
		<comments>http://www.nerdherding.net/2007/02/08/how-to-get-that-role-you-want/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 10:07:49 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[How to get promoted]]></category>

		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2007/02/08/how-to-get-that-role-you-want/</guid>
		<description><![CDATA[This is one of those chicken and egg problems.  You are a nerd working on a team and you think that you&#8217;d all do well if there was someone responsible for the architecture (or design or builds or tests or&#8230;).  In fact, you think that you are the perfect candidate.  There isn&#8217;t a job opening.  [...]]]></description>
			<content:encoded><![CDATA[<p>This is one of those chicken and egg problems.  You are a nerd working on a team and you think that you&#8217;d all do well if there was someone responsible for the architecture (or design or builds or tests or&#8230;).  In fact, you think that you are the perfect candidate.  There isn&#8217;t a job opening.  Nobody has announced the need.  What do you do?</p>
<p>Should you talk to you boss and suggest that you starting doing it?  What if she says that she can see that such a role might be needed but that you don&#8217;t have any experience?  What if she says that your teammate Max would be better at the job and calls him into her office?</p>
<p>As you might guess I think that the best thing to do is to starting doing the job on the side.  It will probably mean extra work.  It will probably mean needing to convince co-workers that your ideas are worth it.  However, the best way to show that you can do something and that its needed is to do it.  Be careful not to be sneaky and be sure that you aren&#8217;t stepping on anyone&#8217;s toes too hard.  Unless you work in a toxic environment your efforts will be appreciated and rewarded even if you aren&#8217;t successful in changing you role.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2007/02/08/how-to-get-that-role-you-want/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Five things you didn&#8217;t know about me</title>
		<link>http://www.nerdherding.net/2007/02/08/five-things-you-didnt-know-about-me/</link>
		<comments>http://www.nerdherding.net/2007/02/08/five-things-you-didnt-know-about-me/#comments</comments>
		<pubDate>Thu, 08 Feb 2007 09:54:37 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2007/02/08/five-things-you-didnt-know-about-me/</guid>
		<description><![CDATA[Dwight Shih has tagged me with the surely dead (except for me) five things meme.
So in order to not be too curmudgeonly here I go:

I&#8217;ve got two kids, a 5yo and a 13mo and a lovely &#038; intelligent wife.
I live in Canberra, Australia.
I love cooking even more than I love nerdery and software development.  [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="external nofollow" href="http://ideoplex.com/">Dwight Shih</a> has tagged me with the surely dead (except for me) five things meme.</p>
<p>So in order to not be too curmudgeonly here I go:</p>
<ol>
<li>I&#8217;ve got two kids, a 5yo and a 13mo and a lovely &#038; intelligent wife.</li>
<li>I live in Canberra, Australia.</li>
<li>I love cooking even more than I love nerdery and software development.  That&#8217;s a lot.</li>
<li>I&#8217;ve worked part-time for about five years now and I recommend it to anyone who can afford the cut in income.  Especially if you are a parent - there is nothing like having a spare/bonus/free day every week to spend with your kids.  That is until they start full-time school like one of my kids just has.</li>
<li>My first job after I finished university was working for a startup working on an expert system shell in Prolog (and C).  Much fun and hilarity ensued.</li>
</ol>
<p>I take it I&#8217;m supposed to pass the meme onto some others so here goes - <a href="http://thejjjj.blogspot.com">Justine</a> and <a href="http://www.financialcryptography.com/">Iang</a> your numbers are up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2007/02/08/five-things-you-didnt-know-about-me/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Implementation by feature or vertical development</title>
		<link>http://www.nerdherding.net/2006/12/05/implementation-by-feature-or-vertical-development/</link>
		<comments>http://www.nerdherding.net/2006/12/05/implementation-by-feature-or-vertical-development/#comments</comments>
		<pubDate>Tue, 05 Dec 2006 09:48:59 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2006/12/05/implementation-by-feature-or-vertical-development/</guid>
		<description><![CDATA[I&#8217;ve just started leading an internal workshop on Incremental Development.  In the workshop I describe and delve into the difference between orienting development vertically (by use case) versus horizontally (by software layer or service).  By use case is the clear winner since it allows progress to be tracked in a user meaningful manner [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just started leading an internal workshop on Incremental Development.  In the workshop I describe and delve into the difference between orienting development vertically (by use case) versus horizontally (by software layer or service).  By use case is the clear winner since it allows progress to be tracked in a user meaningful manner and encourages a smooth flow of client value.</p>
<p>Johanna Rothman <a href="http://www.jrothman.com/weblog/2006/12/measuring-project-completion-progress.html">describes the different orientations</a> as <strong>implementation by feature</strong> and <strong>implementation by architecture</strong>.  These are clearer phrases.</p>
<p>I think I&#8217;ll be making a few minor edits tomorrow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2006/12/05/implementation-by-feature-or-vertical-development/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The training course scam</title>
		<link>http://www.nerdherding.net/2006/12/03/the-training-course-scam/</link>
		<comments>http://www.nerdherding.net/2006/12/03/the-training-course-scam/#comments</comments>
		<pubDate>Sun, 03 Dec 2006 00:05:38 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2006/12/03/the-training-course-scam/</guid>
		<description><![CDATA[Software development training courses are a waste of time, money and effort and don&#8217;t equip people to do meaningful work. Supposedly they pass on new skills and knowledge to developers.  In reality training courses are about:

padding resumes,
allowing managers and staff feel like they can tick the &#8220;staff development&#8221; box in a yearly evaluation form,
sucking [...]]]></description>
			<content:encoded><![CDATA[<p>Software development training courses are a waste of time, money and effort and don&#8217;t equip people to do meaningful work. Supposedly they pass on new skills and knowledge to developers.  In reality training courses are about:</p>
<ul>
<li>padding resumes,</li>
<li>allowing managers and staff feel like they can tick the &#8220;staff development&#8221; box in a yearly evaluation form,</li>
<li>sucking money from companies,</li>
<li>giving people a 3-5 day break from work,</li>
<li>letting developers off the hook for not doing their own professional development, and</li>
<li>&#8220;rewarding&#8221; developers in a low-effort (for developers and managers) way.</li>
</ul>
<p>In my experience as both a nerd and manager of nerds I&#8217;ve never attended a training course that has taught me anything that I hadn&#8217;t already known or that I couldn&#8217;t have learned in a fraction of the time with a little bit of effort. When I&#8217;ve sent developers on courses they often admit the same thing.</p>
<p>Lets look at some of the things wrong with training courses:</p>
<ol>
<li>Training courses are aimed at the lowest common denominator - this is why they are so mind-numbingly slow, otherwise the guy in your course who can&#8217;t turn on his computer will complain and the training company will lose money.</li>
<li>Training courses are often inconveniently timed - how often is the right course run?  Probably not when you need it.</li>
<li>Training courses are often a poor match for the actual need at hand - ever seen a course about the replacement of a Java servlet application with a PHP-based blogging tool to provide a corporate intranet?  Me neither.  But I have seen plenty of kitchen sink courses with lots of irrelevant junk.</li>
<li>Training courses are generally expensive.  &#8217;nuff said.</li>
<li>Training courses have a short retention half-life - unless you teach yourself or put into genuine practice things you learn you will forget stuff.  Quickly.</li>
</ol>
<p>Instead developers should be given time and resources (the Internet, books, self-paced learning CD&#8217;s, mentoring and guidance, access to others, etc) and a goal relevant to their upcoming work and asked to teach themselves.  Does this take more effort?  Sure.  Is it more effective?  That&#8217;s the wrong question - it will actually be effective where training courses aren&#8217;t.</p>
<p>We all need to stop pretending and bite the bullet.  Managers should create customised training plans for developers that provide a combination of on-the-job activities, self-paced learning and guidance from existing experts.  Developers should expect that they need to apply effort.  Its okay to ask for help to create your training plan but its up to you to do it.  You are a professional and its your career.  Sitting in a room with a bunch of other bored developers really isn&#8217;t going to do the trick is it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2006/12/03/the-training-course-scam/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Great quote</title>
		<link>http://www.nerdherding.net/2006/10/12/great-quote/</link>
		<comments>http://www.nerdherding.net/2006/10/12/great-quote/#comments</comments>
		<pubDate>Thu, 12 Oct 2006 10:05:06 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2006/10/12/great-quote/</guid>
		<description><![CDATA[This is a great passage from Cryptonomicon by Neal Stephenson:
&#8220;Your younger nerd takes offense quickly when someone near him begins to utter declarative sentences, because he reads into it an assertion that he, the nerd, does not already know the information being imparted. But your older nerd has more self-confidence, and besides, understands that frequently [...]]]></description>
			<content:encoded><![CDATA[<p>This is a great passage from <a href="http://www.amazon.com/Cryptonomicon-Neal-Stephenson/dp/0060512806">Cryptonomicon</a> by Neal Stephenson:</p>
<blockquote><p>&#8220;Your younger nerd takes offense quickly when someone near him begins to utter declarative sentences, because he reads into it an assertion that he, the nerd, does not already know the information being imparted. But your older nerd has more self-confidence, and besides, understands that frequently people need to think out loud. And highly advanced nerds will furthermore understand that uttering declarative sentences whose contents are already known to all present is part of the social process of making conversation and therefore should not be construed as aggression under any circumstances.&#8221;</p></blockquote>
<p>I don&#8217;t think the above is <em>always</em> true but there are a good number of our fellow nerds for whom this is pretty accurate.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2006/10/12/great-quote/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Watching a team form</title>
		<link>http://www.nerdherding.net/2006/10/03/watching-a-team-form/</link>
		<comments>http://www.nerdherding.net/2006/10/03/watching-a-team-form/#comments</comments>
		<pubDate>Tue, 03 Oct 2006 10:49:23 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2006/10/03/watching-a-team-form/</guid>
		<description><![CDATA[Over the past weeks I&#8217;ve been watching a team form.  Its been a joyful experience.  They&#8217;ve gone from being a set of individuals with no commitment to each other and very little trust to a true team that trusts each other&#8217;s expertise and motivations.
I think that a few things have helped this particular [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past weeks I&#8217;ve been watching a team form.  Its been a joyful experience.  They&#8217;ve gone from being a set of individuals with no commitment to each other and very little trust to a true team that trusts each other&#8217;s expertise and motivations.</p>
<p>I think that a few things have helped this particular team form:</p>
<ol>
<li>The team members realising that while they worried about each other the project was getting late.</li>
<li>The addition of a new team member who shook up the existing relationships enough to allow the team to re-form.</li>
<li>The acknowledgement and recognition by the team that  it was up to them and that they have the freedom to decide how they will do their work.  Nobody else was going to do it for them.</li>
<li>The injection of some agile management principles and ideas (courtesy of <a href="http://en.wikipedia.org/wiki/Crystal_Clear_%28software_development%29">Crystal Clear</a>).</li>
</ol>
<p>The new team member is going on a long holiday in a couple of weeks.  Hopefully, this won&#8217;t drop the team back into its old habits.  I&#8217;ll keep you posted.</p>
<p>P.S.  Perhaps someone should phone Steve Yegge and ask for his opinion on whether this is <a href="http://steve-yegge.blogspot.com/2006/09/good-agile-bad-agile_27.html">good agile or bad agile</a>.  I guess it must be bad agile since I don&#8217;t work at Google. <img src='http://www.nerdherding.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2006/10/03/watching-a-team-form/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Silent Treatment</title>
		<link>http://www.nerdherding.net/2006/08/17/the-silent-treatment/</link>
		<comments>http://www.nerdherding.net/2006/08/17/the-silent-treatment/#comments</comments>
		<pubDate>Thu, 17 Aug 2006 10:44:10 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2006/08/17/the-silent-treatment/</guid>
		<description><![CDATA[So you find yourself in your boss&#8217;s boss&#8217;s office.  He&#8217;s sitting there in his nice suit and cufflinks smiling nicely.  Its been about 5 seconds since you finished answering his question about that troublesome project you&#8217;re managing and he hasn&#8217;t said a word.  Not one.  Maybe you didn&#8217;t answer the question? [...]]]></description>
			<content:encoded><![CDATA[<p>So you find yourself in your boss&#8217;s boss&#8217;s office.  He&#8217;s sitting there in his nice suit and cufflinks smiling nicely.  Its been about 5 seconds since you finished answering his question about that troublesome project you&#8217;re managing and he hasn&#8217;t said a word.  Not one.  Maybe you didn&#8217;t answer the question?  Perhaps he&#8217;s annoyed at you?  Maybe he didn&#8217;t understand?  Perhaps you explained yourself so poorly that he&#8217;s stunned?</p>
<p>Probably not.</p>
<p>He&#8217;s probably just an arrogant jerk playing power games with you.  You see there&#8217;s this technique that &#8220;important&#8221; people sometimes use on those who they are sure are in awe of their power and all round importance.  They stay deliberately quiet when you indicate using non-verbal or verbal queues that you&#8217;ve finished talking.  The hope is that since you are a normal person inbued with social graces that you&#8217;ll pick up the slack and keep talking.  Then, as you grope around your little brain, you&#8217;ll spill the beans on your secret plans or whatever. After all you&#8217;ll be so flustered.</p>
<p>What should you do.  Don&#8217;t panic and choose one of these two options:</p>
<ol>
<li>Talk about anything even obliquely related to the subject.  Go into enormous, banal detail.  If you&#8217;re talking about a project schedule then list every task you can think of.  Don&#8217;t forget to give a history of which people have had anything to do with each individual task.  Most importantly, try not to pause for too long for at least a few minutes.  The idea is to apply a bit of aversion therapy.  He goes silent.  You babble.</li>
<li>The alternative is to sit there quietly as well.  After all he asked a question and you answered.  If Mr Bossman has more questions then he should be able to ask shouldn&#8217;t he?  After a while if he doesn&#8217;t get a flustered reaction from you he&#8217;ll probably not try it any more.</li>
</ol>
<p>Hopefully you&#8217;ll never face the situation.  I&#8217;ve only had it tried on me a few times.  The first time I was flustered and madly groped around for a while trying to answer the question.  By the next time I&#8217;d worked it out by reflecting on how uncomfortable I was the first time.  I used the babbling technique which worked - no more attempts from that guy.  The last time, with a different person, I tried the going silent technique.  I also tried to smile knowingly at him.  He gave up on the discussion (probably because he thought I was a deranged axe murderer).</p>
<p>P.S. If you&#8217;ve ever used this technique on someone then please stop reading my blog.  We don&#8217;t want your kind around here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2006/08/17/the-silent-treatment/feed/</wfw:commentRss>
		</item>
		<item>
		<title>All Managers are Clueless (lament of a new manager)</title>
		<link>http://www.nerdherding.net/2006/07/12/all-managers-are-clueless-lament-of-a-new-manager/</link>
		<comments>http://www.nerdherding.net/2006/07/12/all-managers-are-clueless-lament-of-a-new-manager/#comments</comments>
		<pubDate>Wed, 12 Jul 2006 10:13:03 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2006/07/12/all-managers-are-clueless-lament-of-a-new-manager/</guid>
		<description><![CDATA[Everyone knows that managers are clueless.  They set impossible deadlines, they can&#8217;t delegate properly, they keep changing priorities and so on.  Google has 1.8 million pages when searching for clueless manager.  Clearly there is a lot of cluelessness going on.  In fact managers are so clueless that most nerds don&#8217;t bother [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone knows that managers are clueless.  They set impossible deadlines, they can&#8217;t delegate properly, they keep changing priorities and so on.  Google has 1.8 million pages when searching for <a href="http://www.google.com/search?q=clueless%20manager">clueless manager</a>.  Clearly there is a lot of cluelessness going on.  In fact managers are so clueless that most nerds don&#8217;t bother waiting to see if you&#8217;ll turn out to be clueless or not - they simply flip the clueless bit as soon as you are introduced.</p>
<blockquote><p><em>New manager&#8217;s manager</em>: Hi everyone, this is Manager, your new manager.</p>
<p><em>Everyone</em>: [Clueless.  Another bloodly manager the last one was so clueless.  This one looks the same.]</p>
<p><em>New Manager</em>: Hi everyone, as NMM said I&#8217;m your new manager.  I&#8217;m looking forward to working with you all and finding out how I can help.</p>
<p><em>Everyone</em>: [Clueless.  Just as I thought empty platitudes.  Clueless]</p></blockquote>
<p>Now since you are reading my blog you clearly aren&#8217;t clueless are you.  <img src='http://www.nerdherding.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Unfortunately, unless you are joining an extraordinary organisation the chances are that lots of people will assume a lack of capability based upon their experience with others.  Of course given your boundless ability you&#8217;ll turn these people around.  Eventually.  Until then you&#8217;ll have to deal with the consequences.</p>
<p>People who assume you are clueless will be less likely to come to you for help.  Why would they bother?  You&#8217;ll have to work hard to discover when people need help and be careful to actually provide genuine help.</p>
<p>People will assume that you aren&#8217;t equipped to understand their nerd problems. Be prepared for lots of slow explanations about how computers work or what XML is.  Worse, you&#8217;ll find that people will assume that you don&#8217;t care about quality and will sacrifice long-term benefits for short term &#8220;progress.</p>
<p>Good luck.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2006/07/12/all-managers-are-clueless-lament-of-a-new-manager/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The telephone test</title>
		<link>http://www.nerdherding.net/2006/07/05/the-telephone-test/</link>
		<comments>http://www.nerdherding.net/2006/07/05/the-telephone-test/#comments</comments>
		<pubDate>Wed, 05 Jul 2006 10:10:53 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[General]]></category>

		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2006/07/05/the-telephone-test/</guid>
		<description><![CDATA[I have a simple test that tells you a lot about the culture of any organisation.  There are two questions you need answer:

If you are talking one on one in their office do managers generally answer the phone when it rings (thereby interrupting your conversation) or do they leave it for voicemail?
Do managers regularly choose [...]]]></description>
			<content:encoded><![CDATA[<p>I have a simple test that tells you a lot about the culture of any organisation.  There are two questions you need answer:</p>
<ol>
<li>If you are talking one on one in their office do managers generally answer the phone when it rings (thereby interrupting your conversation) or do they leave it for voicemail?</li>
<li>Do managers regularly choose to delay or stand-up multiple subordinates when summoned by their superordinates?</li>
</ol>
<p>If your answers are <em>interrrupt</em> and <em>stand-up</em> then you have a management culture that believes that they are central to getting things done.  This is, of course, pretty bogus, selfish and arrogant.  If you have only one of <em>interrrupt</em> and <em>stand-up</em> then you have a warning sign.  Hopefully, things are trending away from the arrogant management culture.  Managers exist to enhance the performance of others - if they do their job then they become less necessary.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2006/07/05/the-telephone-test/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The flexibility trap or why doesn&#8217;t corporate software have an opinion?</title>
		<link>http://www.nerdherding.net/2006/06/12/the-flexibility-trap-or-why-doesnt-corporate-software-have-an-opinion/</link>
		<comments>http://www.nerdherding.net/2006/06/12/the-flexibility-trap-or-why-doesnt-corporate-software-have-an-opinion/#comments</comments>
		<pubDate>Mon, 12 Jun 2006 10:56:12 +0000</pubDate>
		<dc:creator>Michael Harmer</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.nerdherding.net/2006/06/12/the-flexibility-trap-or-why-doesnt-corporate-software-have-an-opinion/</guid>
		<description><![CDATA[Have you ever felt that terrible sinking feeling?  The one where you realise that the latest upgrade of Super Corporate BlahBlah has broken a huge chunk of the loving customisations you did the year before last?  Its a trap -  the flexibility trap.  Unless you are careful or lucky lots of [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever felt that terrible sinking feeling?  The one where you realise that the latest upgrade of Super Corporate BlahBlah has broken a huge chunk of the loving customisations you did the year before last?  Its a trap -  the flexibility trap.  Unless you are careful or lucky lots of corporate software forces changes to existing customisations and integrations.  So all those special screen hacks you did will break.  Those database queries that you use to feed the latest figures into your ERM system - dead.</p>
<p>The trap isn&#8217;t triggered when you decide to do a customisation.  No its long before that.  Its triggered when someone decides to buy software that:</p>
<ol>
<li>needs to be significantly customised to suit your needs; or</li>
<li>needs to be customised before it can be used at all.</li>
</ol>
<p>So what should you do?  There isn&#8217;t a great deal you can do right now - most corporate software assumes customisation and or massive implementation efforts.  Witness PeopleSoft for example.  The idea of <a title="Interview with DHH at UK Builder.com" href="http://uk.builder.com/architecture/oop/0,39026558,39297360-4,00.htm">Opinionated Software</a> as espoused by <a title="DHH's personal blog" href="http://www.loudthinking.com/">David Heinemeier Hansson</a> offers some hope in the future:</p>
<blockquote><p><font size="-1" face="Helvetica">Opinionated software was a term I coined to describe the rebellion against the fallacy of objective software. That software should be as configurable as possible from the outset to allow every user to bend it exactly to their needs. Opinionated software dares say the customer is not always right. That not everything should be a preference, that decisions can be made once for the better.</font></p>
<p><font size="-1" face="Helvetica">I&#8217;d like to see that idea take a stronger hold. Be a master chef, prepare me a meal of code that you think is the best it could be. Spare me the construction kit.</font></p></blockquote>
<p>If your corporate software was sensibly opinionated then you&#8217;d have less customisation to do (as long as you agreed with its opinion).  Ideally opinions would be obvious and shared by salespeople (&#8221;only buy our stuff if you believe that bug tracking should be a simple three stage process&#8221;).</p>
<p>The second trigger of the flexibility trap is software that is an empty shell waiting for you to fill it.  Lots of toolkits fit into this category as does some software.  For example,  I&#8217;ve been working with a product that is supposed to provide help-desk style support.  It has a workflow engine built into it which must be used.  The bloody thing doesn&#8217;t even come with a simple workflow process out of the box.  Its infinitely customisable, so it can do anything but can you get it to help without becoming an expert in helpdesk processes?  No way.  A waste of everyone&#8217;s time during setup/install and a real pain when it comes to upgrade time.  Even if they had a menu of half a dozen standard processes (and optionally customised for those truly special cases) to choose from it would be so much better for everyone (except for their consulting arm).  GRRRHFDHHFDHRHEHJHHHH!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nerdherding.net/2006/06/12/the-flexibility-trap-or-why-doesnt-corporate-software-have-an-opinion/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
