<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>let x=x &#187; business</title>
	<atom:link href="http://www.crazymcphee.net/x/tag/business/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crazymcphee.net/x</link>
	<description>programming idiom and methodology</description>
	<lastBuildDate>Tue, 13 Jul 2010 21:56:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>That&#8217;s the just the way it&#8217;s done round here</title>
		<link>http://www.crazymcphee.net/x/2010/07/14/thats-the-just-the-way-its-done-round-here/</link>
		<comments>http://www.crazymcphee.net/x/2010/07/14/thats-the-just-the-way-its-done-round-here/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 21:56:44 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[professional practice]]></category>
		<category><![CDATA[change]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[profession]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=576</guid>
		<description><![CDATA[Many of us hear this phrase in our workplace. When you hear it, what you&#8217;re really being told is that the company is afflicted with one or more of the following: is afraid of change not interested in improvement has a rigid top-down process development style doesn&#8217;t care what you think I think the greatest [...]]]></description>
			<content:encoded><![CDATA[<p>Many of us hear this phrase in our workplace. When you hear it, what you&#8217;re really being told is that the company is afflicted with one or more of the following:</p>
<ul>
<li>is afraid of change</li>
<li>not interested in improvement</li>
<li>has a rigid top-down process development style</li>
<li>doesn&#8217;t care what you think</li>
</ul>
<p>I think the greatest problem is the organisation basically doesn&#8217;t trust it&#8217;s employees to know what they are doing. It doesn&#8217;t matter that you may know something better or that you care about improving the company&#8217;s performance.  I find when I hear this sort of phrase from in companies I&#8217;m consulting at, you soon discover all manner of other issues, idiotic decision making processes, strange convoluted internal processes, inflexible management styles, complete reliance on reporting and long meetings for project visibility, and completely rigid thinking.</p>
<p>What the upshot of all this is, is usually a company that then is left with workers that accept their situation rather then improving it. Ultimately, when such companies confront the reality of their situation and require change to avoid failure, they fail because their employees don&#8217;t want change &#8211; they&#8217;ve had it ground down out of them over the years.</p>
<p>Stasis as a corporate strategy only works for so long.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2010/07/14/thats-the-just-the-way-its-done-round-here/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Modern management theory, explained</title>
		<link>http://www.crazymcphee.net/x/2010/06/26/modern-management-theory-explained/</link>
		<comments>http://www.crazymcphee.net/x/2010/06/26/modern-management-theory-explained/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 14:30:13 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[professional practice]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[poorly attempted humour]]></category>
		<category><![CDATA[profession]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=561</guid>
		<description><![CDATA[Oh &#8230; now I get it, courtesy of Errol Morris, who made the Oscar winning documentary Fog Of War, among many other excellent films, who explains in this New York Times interview with David Dunning (part 1): DAVID DUNNING: Well, my specialty is decision-making. How well do people make the decisions they have to make [...]]]></description>
			<content:encoded><![CDATA[<p>Oh &#8230; <em>now</em> I get it, courtesy of <a href="http://opinionator.blogs.nytimes.com/category/errol-morris/">Errol Morris</a>, who made the Oscar winning documentary Fog Of War, among many other excellent films, who explains in <a href="http://opinionator.blogs.nytimes.com/2010/06/20/the-anosognosics-dilemma-1/">this New York Times interview with David Dunning</a> (part 1):</p>
<blockquote><p>DAVID DUNNING:  Well, my specialty is decision-making.  How well do people make the decisions they have to make in life?  And I became very interested in judgments about the self, simply because, well, people tend to say things, whether it be in everyday life or in the lab, that just couldn’t possibly be true.  And I became fascinated with that.  Not just that people said these positive things about themselves, but they really, really believed them.  Which led to my observation: if you’re incompetent, you can’t know you’re incompetent.</p>
<p>ERROL MORRIS:  Why not?</p>
<p>DAVID DUNNING:  If you knew it, you’d say, “Wait a minute.  The decision I just made does not make much sense.  I had better go and get some independent advice.”   But when you’re incompetent, the skills you need to produce a right answer are exactly the skills you need to recognize what a right answer is.  In logical reasoning, in parenting, in management, problem solving, the skills you use to produce the right answer are exactly the same skills you use to evaluate the answer.  And so we went on to see if this could possibly be true in many other areas.  And to our astonishment, it was very, very true.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2010/06/26/modern-management-theory-explained/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New software, old process, big mistake</title>
		<link>http://www.crazymcphee.net/x/2010/03/06/new-software-old-process/</link>
		<comments>http://www.crazymcphee.net/x/2010/03/06/new-software-old-process/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 07:37:54 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[architecture]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[professional practice]]></category>
		<category><![CDATA[business process]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[transformation]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=526</guid>
		<description><![CDATA[Its very common for software developers to be asked to build some software that is a straight port of an old software package, or to faithfully model (i.e. completely identical to) an existing process that the customer has. This is a huge mistake &#8211; try to avoid these projects. I hold that if the customer [...]]]></description>
			<content:encoded><![CDATA[<p>Its very common for software developers to be asked to build some software that is a straight port of an old software package, or to faithfully model (i.e. completely identical to) an existing process that the customer has. This is a huge mistake &#8211; try to avoid these projects. I hold that if the customer wants software, either custom developed or &#8220;off the shelf&#8221; purchased from a vendor, they are <em>already</em> changing their business model (aka their &#8220;process&#8221;). It&#8217;s the worst possible to thing to build or buy software and just model what is already done (perhaps it is actually impossible). As an senior developer or architect, my riposte to these requests is always &#8220;well don&#8217;t spend any money and just do whatever it is you do now&#8221;.</p>
<p>I don&#8217;t hold that software makes an existing business process &#8220;efficient&#8221; at all. Rather I think software makes possible a new process, which should be more &#8220;efficient&#8221; in terms of money gained less dollars spent &#8211; but its a <em>new</em> process, not the old one. In effect, new software creates new business opportunities. New software will only make an existing, unchanged process, <em>less</em> efficient, if a new business process is not designed along with the new software. If the business just wants new software without changing &#8220;what they do&#8221; they are wasting their money, IMHO.</p>
<p>Of course there is the possibility (probability?) the business doesn&#8217;t actually understand what it is they <em>actually do</em> anyway. This is not an uncommon position for many businesses that are happy to cruise along in neutral making some marginal profit on some marginal activity. Usually these businesses are also found to be beating their workers with sticks (usually only metaphorical ones unless they &#8216;offshore&#8217; their operation to countries where killing your workers is just a part of &#8216;Business as Usual&#8217;. Typically they hold that marginal process can be made &#8216;better&#8217; simply with just more exhortation (or threats) to greater and greater efforts at a totally demoralized (if not actively hostile) workforce, but I suspect that&#8217;s a story for another day!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2010/03/06/new-software-old-process/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Out of the box experience</title>
		<link>http://www.crazymcphee.net/x/2009/10/06/out-of-the-box-experience/</link>
		<comments>http://www.crazymcphee.net/x/2009/10/06/out-of-the-box-experience/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 03:44:47 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[infrastructure and frameworks]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[wizards considered harmful]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=483</guid>
		<description><![CDATA[Every now and again we get some customers who expect that they can get a custom website, portal, or services integration done by looking at a vendor&#8217;s &#8220;out of the box&#8221; experience. This can be very frustrating for us, as we need to get into their heads that no platform will delivery any website, portal, [...]]]></description>
			<content:encoded><![CDATA[<p>Every now and again we get some customers who expect that they can get a custom website, portal, or services integration done by looking at a vendor&#8217;s &#8220;out of the box&#8221; experience. This can be very frustrating for us, as we need to get into their heads that no platform will delivery any website, portal, or integration &#8220;out of the box&#8221;. I classify this as a species of magical thinking.  This sort of thinking is so persuasive among many IT systems users that they will spend $500,000 on the infrastructure and $50,000 on the development effort. They are often shocked to discover that to get all the features they demand &#8211; even when those features can be delivered trivially from the chosen platform, costs time (and therefore money) often to the equivalent value of the software licensing. The &#8220;out of the box&#8221; approach can deliver excellent results in terms of a single-point-system, let&#8217;s say a CRM (e.g. sign up for a Salesforce account) but they don&#8217;t see to integrate that CRM into their custom warehousing system (for example) and linking all of that into a comprehensive product website involves completely customised software development. Every website, portal or integration scenario is custom &#8211; always. Unless it is somehow the case that you don&#8217;t mind that your website is the default &#8220;Welcome to Apache Tomcat&#8221; page.</p>
<p>In recent times I&#8217;ve seen this often enough that I think it&#8217;s really a failing of the IT industry in general, and we need to educate business IT users about the various scenarios and categories of software.</p>
<p>The simplest analogy I can think of is to say the website or portal is the letter, and the platform is the word processor.  Regardless if you use Word, Wordperfect, Pages 09, your email program or just plain old &#8216;notepad.exe&#8217;, at the end of the day the time to write the letter is pretty much the same effort and therefore the task is basically identical. If you said &#8220;I want you to help me to write a letter to my member of parliament&#8221;, should  I ask you whether you&#8217;re using the new letter wizard in Word? Have you seen this great &#8220;clippy&#8221; feature? Have you considered the new upgrade to Office 2007? Tell you to buy a Mac? Or would I be better off asking who is your member of parliament and what&#8217;s the matter about? When we get these sorts of naive clients we need to concentrate their minds on what their actual problem is and the best way we can solve it, when they&#8217;ve got their head in the sand thinking about that great drag-and-drop wizard feature the vendor showed them they totally thinking about the completely wrong thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/10/06/out-of-the-box-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile and assembly lines</title>
		<link>http://www.crazymcphee.net/x/2009/09/26/agile-and-assembly-lines/</link>
		<comments>http://www.crazymcphee.net/x/2009/09/26/agile-and-assembly-lines/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 02:19:55 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[professional practice]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=477</guid>
		<description><![CDATA[Coder Friendly&#8217;s got an interesting article about Agile Evangelism. First I&#8217;m not going to take issue with the article itself but something that he quotes from DanC&#8217;s Lost Garden on Managing Complexity: The repetative (sic) steps that a single worker performs on an assembly line is a good example of a simple task This is [...]]]></description>
			<content:encoded><![CDATA[<p>Coder Friendly&#8217;s got an <a href="http://www.coderfriendly.com/2009/09/24/agile-evangelism-can-be-dangerous-focus-on-your-needs/">interesting article about Agile Evangelism</a>. First I&#8217;m not going to take issue with the article itself but something that he <a href="http://lostgarden.com/2006/04/managing-game-design-risk-part-i.html">quotes from DanC&#8217;s Lost Garden on Managing Complexity</a>:</p>
<blockquote><p>The repetative (sic) steps that a single worker performs on an assembly line is a good example of a simple task</p></blockquote>
<p>This is a terribly Fordist/Taylorist view to take of assembly work. That most beloved of industrial examples, Toyota, takes weeks to train its process-line workers to be able not only to do the simple repetitive steps of assembly, but also to be able to identify and rectify problems with the assembly-line. As <a href="http://chasingtherabbitbook.mhprofessional.com/apps/ab/">Steven Spear</a>, author of <a href="http://www.amazon.com/Chasing-Rabbit-Outdistance-Competition-Christensen/dp/0071499881">Chasing the Rabbit</a> (<a href="http://www.crazymcphee.net/x/2009/03/08/achieving-high-velocity/">my review here</a>) might say, anyone who thinks that &#8220;assembly line&#8221; work is simple task probably doesn&#8217;t understand the nature of their process enough to keep up with their more innovate competitors, let alone outdistance them. Understanding your process, well more importantly, your organisational goals and how your process does or does not fulfil those goals, is critical to improving your organisation, and it leads me onto the idea of &#8220;evangelism&#8221;.</p>
<p>I both agree and disagree with Coder Friendly&#8217;s position:</p>
<blockquote><p>Don’t become an evangelist yourself : look at your project and decide which methodologies is the most adapted. Sometimes, Agile is not the right one but if you see that your requirements are far from agreement or certainty, Agile approaches are probably a good choice.</p></blockquote>
<p>I agree that &#8220;evangelism&#8221; can be politically off-putting.People don&#8217;t react well to being told their old kool-aid contains poison, and to uncritically drink this new kool-aid instead. However the main problem I have with a statement like this is that non-Agile companies use this &#8220;adaptation&#8221; argument and approach, in order to keep their poor contexts alive. This is the fallacy that&#8217;s found in &#8216;scrum butt&#8217;: &#8220;Oh we do Scrum, but &#8230;&#8221;. The clauses after the &#8216;but&#8217; are typically critical. The organisation concerned is usually trying to keep some essential organisational dysfunction alive, because of politics, resistance to change, simple misunderstanding, lack of understanding about their own process, or maybe even simple laziness. I&#8217;ve got no problem with an organisation that is mature in its use of an agile method adapting it to their local circumstance &#8211; in fact if you are doing it properly, with its emphasis on empowering teams to own their process and carrying out regular &#8216;inspect and adapt&#8217; at the end of every iteration, after six or twelve months of this the process will most certainly be adapted to the local conditions.</p>
<p>However, the real danger is at the <em>start</em> of the agile adoption process, when you have people hand-waving about &#8220;can&#8217;t do that here&#8221;, for whatever value of <em>that</em> there is. I&#8217;ve seen it said about: pairing; story boards; acceptance criteria; automated testing; retrospectives; daily stand-up; adaptive and emergent design; and just about every other aspect of XP or Scrum process. The reason is, I think, that these organisations rarely understand what the real organisational goals actually are, and they understand even less about their existing process, to the point they just &#8220;do&#8221; the process that &#8220;is&#8221;. &#8220;It is what it is&#8221;, is a great term, and if anyone says this to you it&#8217;s just a fatalistic attempt to accept as unchanging something you <em>can</em> change. <em>Accept the bad. Don&#8217;t think it could be better</em>.  Attempts to meddle in the process, i.e. change it, induce fear, and with fear often comes timidity.</p>
<p>This is where you need a <em>real</em> agile evangelist. This is not someone who just thinks that Scrum or XP or whatever other process should be blindly substituted for the existing one, but someone who understands that process is about competitive advantage, eliminating waste, and that you have to start from a known position and continuously work towards improvement. Change is not just good, but necessary, and you <em>need</em> those change agents. <em>Passion for doing things better is bad?</em> Only in a change-averse company. So learn your existing process, thoroughly, and then learn the proposed agile process, thoroughly, and only then will you be able to &#8216;synthesise&#8217; a replacement. Only I think you&#8217;ll find that replacement will look a lot more like the plain old agile process than your existing unagile process. After all, if your existing process already has adequate inspect-and-adapt cycles within it (not lip-service ones, real ones), probably you are already doing and agile or lean process even if you don&#8217;t call it that, and you&#8217;re already number one in your marketplace. If not, perhaps you require the passion of an evangelist.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/09/26/agile-and-assembly-lines/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile is hard</title>
		<link>http://www.crazymcphee.net/x/2009/07/22/agile-is-hard/</link>
		<comments>http://www.crazymcphee.net/x/2009/07/22/agile-is-hard/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 01:42:52 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[professional practice]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodology]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=427</guid>
		<description><![CDATA[Johanna Rothman on agile adoption for the organisation: Agile requires the discipline to move projects through teams. Multitasking is nuts in agile. Moving team members around to have the “best” specialist available for a particular team is nuts. Performance reviews for individuals is nuts. Managers have to change everything they do, if they want to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://jrothman.com/blog/mpd/2009/07/plunge-in-or-dip-your-toe-for-managers.html">Johanna Rothman on agile adoption for the organisation</a>:</p>
<blockquote><p>Agile requires the discipline to move projects through teams. Multitasking is nuts in agile. Moving team members around to have the “best” specialist available for a particular team is nuts. Performance reviews for individuals is nuts. Managers have to change everything they do, if they want to move the organization to agile. Managers need to see the problems exposed by any given project’s transition to agile and work to remove those obstacles before transitioning to agile.</p></blockquote>
<p>It&#8217;s too easy to think that just because you can get one of your teams to use an agile approach, that your organisation is now Agile. Too many managers &#8220;see the problems exposed by given project&#8217;s transition to agile&#8221; and decide to <em>blame the agile process</em> for the problems thus exposed.In far too many organisations I&#8217;ve seen have extremely capable teams delivering quality software in an agile process but remain &#8211; in some cases years later &#8211; completely unsupported by their senior management (and in some cases with very little support even from their CIO level).</p>
<p>That&#8217;s a very sad situation as it is and takes all your selling skills to get the management to &#8220;get with the program&#8221; so to speak. But this situation can be even more compounded when the management have been convinced that Agile is some sort of silver bullet that will cure all their issues. Whenever you are trying to sell agile to management, never waver from the fact that <em>agile is hard</em> (as everything worth doing is nearly always difficult anyway!). Agile takes discipline.</p>
<p>Johanna&#8217;s right to say you can&#8217;t adopt agile across an entire organisation in a big bang approach. But you can&#8217;t also adopt it without skill and commitment to doing so from managers and executives.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/07/22/agile-is-hard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The realities of &#8216;ROI&#8217; for developers</title>
		<link>http://www.crazymcphee.net/x/2009/05/01/the-realities-of-roi-for-developers/</link>
		<comments>http://www.crazymcphee.net/x/2009/05/01/the-realities-of-roi-for-developers/#comments</comments>
		<pubDate>Fri, 01 May 2009 03:21:33 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[ROI]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=347</guid>
		<description><![CDATA[Once, the CEO told the software team I was in working on in regards to a proposed feature &#8230; &#8220;Basically the feature&#8217;s ROI has to beat the cash rate. If I can get a better return by leaving this million dollars on deposit at the bank then I owe it to my shareholders to do [...]]]></description>
			<content:encoded><![CDATA[<p>Once, the CEO told the software team I was in working on in regards to a proposed feature &#8230; &#8220;Basically the feature&#8217;s ROI has to beat the cash rate. If I can get a better return by leaving this million dollars on deposit at the bank then I owe it to my shareholders to do that instead.&#8221; &#8230; ouch! &#8230; The realities of business and &#8216;Return On Investment&#8217;. Just like a managed investment fund has &#8220;beat the index&#8221; as developers the ROI on our features have to &#8220;beat the cash rate&#8221;.</p>
<p>On the other hand I have also worked with lower-level product owners who simply could not quantify the ROI for any particular feature. When they asked for (effectively inessential) features which doubled the size of the effort required they would have a meltdown (i.e. emotional pressure to get us to &#8216;magically&#8217; reduce our estimates) rather than admitting that perhaps we could delivery 95% of the business value and nearly 100% of the projected project revenue  with only 50% of the effort.</p>
<p>We once proposed a software feature that would vastly increase the efficiency of a business&#8217;s payment handling, eliminating several costly manual steps. We thought we were doing good. But &#8230; Our Bad!!! <em>Our Very Bad</em>. The very <em>inefficiency</em> of the process meant that the business in question could hang onto the revenue &#8211; 90% of which was passed from consumer to ultimate supplier &#8211; for a much longer period. <em>It added days if not weeks. This is very very good from the CFO&#8217;s point of view</em>. Much more money earnt on interest earnings and inflating the cash-at-hand than cost-base savings that could be made making a process &#8220;efficient&#8221;. <em>Leave it alone and don&#8217;t ask about it again</em> was the general message!</p>
<p>In a similar view, many years ago I was a programmer at the technology arm of a futures broker; rather than making most of its money from brokerage or its own trading activities (or software technology), in fact the best and most consistent revenue came from the interest earnt on aggregating the client&#8217;s trading accounts (which had a minimum deposit level, and of course, did not pay interest to the client).</p>
<p>Sometimes you work for a business, and their <em>business</em> isn&#8217;t really what you <em>think</em> it is.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/05/01/the-realities-of-roi-for-developers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Oracle to buy Sun &#8230;</title>
		<link>http://www.crazymcphee.net/x/2009/04/20/oracle-to-buy-sun/</link>
		<comments>http://www.crazymcphee.net/x/2009/04/20/oracle-to-buy-sun/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 13:33:04 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[glassfish]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[wizards considered harmful]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=329</guid>
		<description><![CDATA[Yes, it&#8217;s true. Oracle and Sun have both announced the marriage. Techcrunch has the full press release. ZDnet some other commentary. A few people seem to be sweating about MySQL. It would not be stressing about MySQL too much. It could get spun off, who knows. It&#8217;s even possible, as some commenters on Techcrunch say, [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, it&#8217;s true. Oracle and Sun have both announced the marriage. <a href="http://www.techcrunch.com/2009/04/20/oracle-to-buy-sun-hold-on-to-your-hats/" target="_blank">Techcrunch</a> has the full press release. <a href="http://blogs.zdnet.com/BTL/?p=16598" target="_blank">ZDnet</a> some other commentary.</p>
<p>A few people seem to be sweating about MySQL. It would not be stressing about MySQL too much. It could get spun off, who knows. It&#8217;s even possible, as some commenters on Techcrunch say, that Oracle might use the free MySQL offering to hammer Microsoft&#8217;s database market from the bottom-up</p>
<p>It&#8217;s more touch-and-go in the app-server market (what Oracle likes to call &#8216;middleware&#8217;) which is already suffering a little from Oracle&#8217;s transition over to BEA Weblogic from its older products. Sun has excellent products in that area, i.e. Glassfish. I have used all of these products (plus Websphere and JBoss) and Glassfish is <em>easily</em> the nicest (in fact I would say it&#8217;s the best app-server I&#8217;ve used, apart from plain old Tomcat).</p>
<p>And what will happen to Java? Of course, Oracle wants Java, that&#8217;s part of the reason they are buying Sun in the first place (as well as their hardware business). But will IBM play along now it&#8217;s most critical competitor owns Java (and IBM has previously bet its software integration farm on the Java stack)? And what of the JCP?</p>
<p>Even more worrying for some, is what will happen in the IDE space. Of course, I&#8217;m a confirmed Eclipse man, but it is always a worry when competition is reduced. What will happen to Netbeans? And dare I say it &#8230; JDeveloper is fairly horrible compared to Netbeans but will that save either of them? Oracle&#8217;s got a lot invested into it&#8217;s tooling, which all runs on JDeveloper. As much as I prefer to just write <em>code</em>, that use <em>wizards</em>, Oracle does seem to have at least some customers in that area. Oracle&#8217;s development model tends to focus a <a href="http://www.crazymcphee.net/x/2009/02/14/gui-builders-modern-development-practices-and-vendor-lock-in/">little too much on magic wizards</a>. From the IDE-JDeveloper-to-the-app-server single click-to-deploy, drag-and-drop to create-the-control, easy-peasy wizardry, which I hate, because I think it gets in the way of <em>craftmanship</em>. It&#8217;s the Bunnings Warehouse of software development. Show me the command-line Oracle! you should remember, that Sun is most definitely a company built around the Unix shell prompt. Even with Oracle middleware, it&#8217;s definitely possible, I&#8217;ve just been working on command-line deployment automation for their older Orion-based app-server, they just don&#8217;t like to promote it.</p>
<p>I&#8217;m hoping that Sun can reverse-ferret them on that score and teach them about <em>Ant</em>, <em>Maven</em>, <em>/bin/sh</em> and the goodness of installations that are as simple as <em>tar xcf </em>in the spot you want to install it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/04/20/oracle-to-buy-sun/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Burning down your value, not your story</title>
		<link>http://www.crazymcphee.net/x/2009/03/17/burning-down-your-value-not-your-story/</link>
		<comments>http://www.crazymcphee.net/x/2009/03/17/burning-down-your-value-not-your-story/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 13:20:04 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[professional practice]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[information radiators]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[stories]]></category>
		<category><![CDATA[value]]></category>
		<category><![CDATA[waste]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=241</guid>
		<description><![CDATA[What&#8217;s the problem with reporting the amount of work we&#8217;ve completed the last iteration in story points? Story points are a somewhat arbitrary, but consistent measure of the technical complexity to implement a feature. But that&#8217;s not the problem with reporting them to management. The thing is, it&#8217;s not what management are interested in. Consider [...]]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s the problem with reporting the amount of work we&#8217;ve completed the last iteration in story points? Story points are a somewhat arbitrary, but consistent measure of the technical complexity to implement a feature. But that&#8217;s not the problem with reporting them to management. The thing is, it&#8217;s not what management are interested in.</p>
<p>Consider the following scenario.</p>
<ol>
<li>You&#8217;ve got two parts of the code base. One part is beautiful code, written TDD, used continuous integration, pair programming, well written stories were used to produce it, clear acceptance tests, all the good stuff. The other part is horrific, hardly any tests, when the build failed, you disabled the tests that failed, the stories were written as technical tasks, acceptance tests vague, etc.</li>
<li>You are asked to deliver two medium-value stories in the next iteration. One story is most done in the good part of the code base. The other story in the bad part.</li>
<li>Correspondingly, your estimates will vary according to the complexity of the code base &#8211; the story in the &#8220;good&#8221; code might be 5 points, the story in the &#8220;bad&#8221; code is 15. But the value to the business delivered is the same!</li>
</ol>
<p>The point is, the amount of effort that you do (20 points) to deliver 2 medium value units, is actually not a measure of your <em>progress</em>. It&#8217;s a measure of your <em>waste</em>. The next iteration you might be able to deliver 4 medium value points, if they are all in the &#8220;good code&#8221; base! Same effort, twice the return on value. Software developers know this about well designed code bases combined with good engineering practice, of course. The point is about directly exposing the effects of bad engineering as it manifests itself as a barrier to progress.</p>
<p>What if you told the business instead, you&#8217;ll deliver <em>x</em> business value points instead? That is, your burn down and burn up charts don&#8217;t show story points of <em>effort expended</em>, but directly indicated <em>value delivered</em>. What impetus does this lead us to? Well, now we&#8217;ve got a direct measurement of story points over business value, which is the proportion of waste to value. The ultimate story is infinite in value and takes zero points to deliver!</p>
<p>I think this is not all; because it directly establishes the ratio of waste to value, it gives you an impetus to eliminate waste, that is, to practice good, professional, software craftsmanship of the type that Robert C. Martin talks about in the <a href="http://www.crazymcphee.net/x/2009/03/17/im-not-making-this-mess-anymore/" target="_self">video I linked to earlier tonight</a>. Software that allows you to change efficiently to meet new needs now becomes not an abstract principle that you must kick back at your managers every time the demand to see &#8220;more features&#8221; and less engineering, but becomes a direcly correlated measurement of productive output.</p>
<p>It&#8217;s not all plain sailing, for the really hard nut has to be cracked. How the hell do you measure business value in units like &#8220;points&#8221;? I don&#8217;t have a cheap and easy answer right for it right now. But I don&#8217;t think this very hard question should go unanswered. For me, it&#8217;s the missing piece of the agile software delivery puzzle. I&#8217;ve been asked countless times, to estimate effort on whole swathes of stories where I think it&#8217;s obvious that the business value is actually highly dubious &#8211; or at least cannot be quantified by the product owner. On one level, that&#8217;s fine, they pay the bills and get to set the priorities, but on another level, I think that having to produce a quantifier for the value will help the product owner focus their minds onto the outcome in a much better way.</p>
<p>And it enables them to directly see the correlation between bad engineering practices and the inefficiencies they engender. Those bad practices are certainly our fault for putting them in place, don&#8217;t get me wrong, I&#8217;m not shirking our personal and professional responsibilities in that regard. However reducing outside pressures will certainly also help by giving us a little breathing space to demonstrate with hard numbers the value of taking care with our craftsmanship. And it reports the thing the business are most interested in &#8211; the value you deliver.</p>
<p>If my post is a little unclear, forgive me it&#8217;s late at night as I write this. Better blog entry than code in the tired state I&#8217;m in!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/03/17/burning-down-your-value-not-your-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Achieving high velocity</title>
		<link>http://www.crazymcphee.net/x/2009/03/08/achieving-high-velocity/</link>
		<comments>http://www.crazymcphee.net/x/2009/03/08/achieving-high-velocity/#comments</comments>
		<pubDate>Sun, 08 Mar 2009 06:40:31 +0000</pubDate>
		<dc:creator>Scot Mcphee</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[professional practice]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[process improvement]]></category>
		<category><![CDATA[profession]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[test driven design]]></category>
		<category><![CDATA[xp]]></category>

		<guid isPermaLink="false">http://www.crazymcphee.net/x/?p=215</guid>
		<description><![CDATA[Sprint to the lead in your industry &#8211; and stay there! So says the back of the dust cover on Chasing The Rabbit: How market leaders outdistance the competition and how great companies can catch up and win by Steven J Spear (McGraw Hill, New York, 2009). I referenced this book last week in my [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Sprint to the lead in your industry &#8211; and stay there!</p></blockquote>
<p>So says the back of the dust cover on <em>Chasing The Rabbit: How market leaders outdistance the competition and how great companies can catch up and win</em> by Steven J Spear (McGraw Hill, New York, 2009). I referenced this book last week in my post <a href="http://www.crazymcphee.net/x/2009/03/01/let-it-fail-then-learn-to-succeed/" target="_self">&#8216;Let it fail then learn to succeed&#8217;</a> which is about using failure as a signal for process improvement.</p>
<p>It&#8217;s a great book. Obviously it is not addressed directly to software development, and as I said, Spear covers its application in a range of different settings, including engineering and health-care as well as manufacturing. There&#8217;s a distinct lack of focus on the buzzwords <em>kanban</em>, <em>kaizen</em>, and <em>just-in-time</em>, all of which Spear says are merely artifacts of a deeper underlying approach that he proceeds to illustrate extremely well in the course of the book.</p>
<p>The approach might be illustrated by the asking of some fairly simple questions: &#8216;What did you do?&#8217;, &#8216;What happened then?&#8217;, &#8216;What did you expect to see?&#8217;, &#8216;Was it successful?&#8217;, &#8216;What did you do to correct it?&#8217;, &#8216;What did you learn?&#8217; (my list is not exhaustive). Spears characterises it as:</p>
<blockquote><p>&#8230; a systematic approach to designing and operating systems, a simple set of rules for problem solving and improvement, a clear way to share learning, and a well-defined role as a manager. (p 358)</p></blockquote>
<p>More formally, the organisation exhibiting these qualities shows two characteristics and four capabilities.</p>
<p>Two characteristics:</p>
<ol>
<li><em>Managing the functions as parts of the process.</em> A high-velocity organisation orientates its processes away from functional &#8216;silos&#8217; (without ignoring the necessary competency of individual functions), and towards &#8220;the way the work of individuals, teams and technologies will contribute to (or impede) the process of which they are part&#8221; (p 20). For example, Spear describes his own experience while at Toyota: he is asked what a particular factory he is being trained at makes. At first he interviews the management of the factory, and returns with a list, only to be told he doesn&#8217;t really know. Then he looks at invoices of the shipped items, which is still said to be wrong. In response to this, he examines what the receiving factory actually paid for, but he is still told he doesn&#8217;t know what the factory makes. Finally, he stands at the shipping dock, as as each shipment was sent out, ignoring the shipping label, took a note of the part number stamped onto the part. Then he checked that the factory actually possessed the die for stamping the part number. In response, he was told; &#8220;Well, that&#8217;s probably not wrong. But I have another question: How are these parts made?&#8221; (p 280).</li>
<li><em>Continually improve the pieces and the process.</em> High-velocity organisations are always learning about all the work they do. Workarounds, tolerating problems, putting out fires, and heroic efforts are simply not tolerated. Every time you have to put out a fire, or devise a workaround, or engage in a heroic measure to get work done, you&#8217;ve found a process problem that should be eliminated. Your highest priority isn&#8217;t engaging in the workaround, or performing heroic efforts of late-night last-minute production delivery effort. Your highest priority, and that of your management, is swarming the problem to fix the <em>process</em> that led to the situation. Doug South described it to me as &#8220;not tolerating things&#8221;. Instead you should fix their <em>causes</em> rather than developing a workaround to the immediate problem.</li>
</ol>
<p>Four capabilities:</p>
<ol>
<li><em>Specifying design to capture existing knowledge and building in tests to reveal problems.</em> Make explicit the most effective approach currently known to you to successfully achieve the task. Make sure that the approach has the capacity to detect failure as soon as it occurs. You need to be sure what outcomes you expect, not from a &#8220;perverse Taylorism&#8221; (p 23) but as an investment. By specifying expectations, you can more easily capture when something unexpected happens &#8211; that is, what the gaps in your current knowledge are. Go out of your way to build in these tests. Alcoa for example, focused exclusively on improving safety &#8211; with the goal of zero injuries, because this &#8220;meant perfect processes based on perfect knowledge of how to do work&#8221; (p 94). The test therefore, was the occurrence of workplace accidents. When an accident occurred, it highlighted a dangerous ignorance, and had to be rectified.</li>
<li><em>Swarming and solving problems to build new knowledge.</em> When you encounter problems, at the time and place of the encounter, the problem should be swarmed. Contain the problem to prevent it from spreading. Diagnose and treat the cause so the problem cannot reoccur. Problem-solving skills are built by solving actual problems, and those doing the work are responsible for improving the process by which the work is done.  Doing this will allow you to &#8220;build ever-deeper knowledge about how to manage the systems for doing [your] work, converting inevitable up-front ignorance into knowledge&#8221; (p 24). For example, at Alcoa, it was made a rule that business-unit presidents had to not only inform the Alcoa CEO within 24 hours of an injury or injury near-miss, &#8220;but within two days they had to report what the initial investigation had revealed about its causes and what was being done to prevent the problem from recurring&#8221; (p 96). This ensured a discipline, a warp-speed cycle involving real-time problem recognition, diagnosis and treatment.</li>
<li><em>Sharing new knowledge throughout the organisation.</em> It&#8217;s not just that <em>you</em> learn. It&#8217;s that the <em>entire organisation</em> learns. Toyota did this for a joint-venture plant it created with General Motors. Toyota&#8217;s approach was a one-variable-at-a-time tuning. The American plant would make an existing model and not an all-new car. Rather than creating an entirely new plant, or swarming the old GM plant with Toyota managers, it took newly hired American managers and coached them in the Toyota way. They didn&#8217;t just drop them into the plant. They first made similar products (Corollas) at a Toyota plant. Then they went back to the American plant and Toyota gave the new managers continuous support from Japanese experts. The joint-venture plant was far more successful than the old General Motors plant it replaced. In 2003, in order to be abale to accelerate organisational learning, Toyota created the Global Production Center, which was staffed with experienced cadres of trainers in areas identified as critical to production success. They developed standardised practice equipment and had other groups test the new equipment to identify problems with it. And because these practices are orientated around the <em>discovery</em> of solutions via practical experimentation, and rapid cycles of concepts and validaty testing, they can &#8220;smoothly converge on solutions that were agreeable across disciplines&#8221; (p 253). Having done all this, it shared it&#8217;s newfound knowledge with representatives from factories around the world, and trained managers and group-leaders who were setting up a similar centre for Toyota&#8217;s North American operations. Just as important as creating new knowledge and sharing information about particular capabilities, it&#8217;s just as critical to spread <em>problem-solving capability</em> throughout the organisation.</li>
<li><em>Leading by developing the first three capabilities.</em> Managers are not there to measure, berate, and exhort their workers in a command-and-control environment. The role of management is to ensure their organisation becomes &#8220;ever more self-diagnosing and self-improving, skilled at detecting problems, solving them, and multiplying the effect by making the solutions available throughout the organisation&#8221; (p 26). The process of finding out what the plant made which I outlined above was part of learning this fourth capability by observing a system at four levels &#8211; output, pathways, connections and activities.</li>
</ol>
<p>At the end of the book is an illuminating conversation about golf. Now personally I can&#8217;t stand golf but I suppose lots of middle-aged businessmen do, and the conversation was about the simplicity of the game. Despite protestations about bunkers, traps, and hazards, roughs and fast greens, and how difficult it really is, in the end it&#8217;s actually a simple game with very simple rules. <em>Keep hitting the ball with a club until you get it into the hole</em>. Simple rules that require a <em>lot</em> of practice to do it right. And like golf, making your organisation high-velocity might run with a fairly simple set of rules, but they require a great deal of practice at the various skills needed to make it happen.</p>
<p>That gives a general overview of the content of the book. It&#8217;s written in a very accessible style which communicates the essential concepts very well without trivialising them. If you are a software developer who is interested in thinking about development process, and general business process, then I definitely recommend this book. Sometime in the next few weeks I will try to produce a further post relating some of these specific concepts that Spear has identified and apply them to software development process. In the meantime, buy and read this book.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crazymcphee.net/x/2009/03/08/achieving-high-velocity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
