<?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>Kerry Buckley &#187; Enterprise</title>
	<atom:link href="http://www.kerrybuckley.org/category/enterprise/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kerrybuckley.org</link>
	<description>What's the simplest thing that could possibly go wrong?</description>
	<lastBuildDate>Wed, 30 Nov 2011 11:26:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Defending Ruby and Rails in the Enterprise</title>
		<link>http://www.kerrybuckley.org/2008/06/12/defending-ruby-and-rails-in-the-enterprise/</link>
		<comments>http://www.kerrybuckley.org/2008/06/12/defending-ruby-and-rails-in-the-enterprise/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 09:42:52 +0000</pubDate>
		<dc:creator>Kerry</dc:creator>
				<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.kerrybuckley.org/2008/06/12/defending-ruby-and-rails-in-the-enterprise/</guid>
		<description><![CDATA[I consider myself fortunate that the previous two projects I worked on (the BT Web21C Portal and Mojo) were Rails-based (actually it wan&#8217;t just luck in the former case, as I had a part in selecting the framework). I love the expressiveness and flexibility of the Ruby language, the power and relative simplicity of the [...]]]></description>
			<content:encoded><![CDATA[<p>I consider myself fortunate that the previous two projects I worked on (the <a href="http://web21c.bt.com/">BT Web21C Portal</a> and <a href="http://mojo.bt.com/">Mojo</a>) were Rails-based (actually it wan&#8217;t just luck in the former case, as I had a part in selecting the framework). I love the expressiveness and flexibility of the Ruby language, the power and relative simplicity of the Rails framework, and the all-round awesomeness of tools like <a href="http://rspec.info/">RSpec</a> and <a href="http://capify.org/">Capistrano</a>, and I don&#8217;t particularly relish the thought of going back to Java (although I&#8217;m told that <a href="http://springframework.org/">Spring</a> is much nicer than last time I used it).</p>
<p>At our recent release planning session, I was assigned to a new project, which involves (among other things) exposing a CLI-based configuration interface as a web service. In our initial discussions, <a href="http://twitter.com/drpep">the</a> <a href="http://twitter.com/ddunwoody">four</a> <a href="http://twitter.com/moserp">of</a> <a href="http://twitter.com/kerryb">us</a> more-or-less agreed on a few initial decisions:</p>
<ul>
<li>The exposure should be <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a>. Fortunately the people developing the upstream system shared this opinion.</li>
<li>Rails is an ideal framework for RESTful web services.</li>
<li>Ruby seemed like a good fit for parsing the command responses too.</li>
<li>Asynchronous behaviour would be handled using queues (probably <a href="http://activemq.apache.org/">ActiveMQ</a>).</li>
</ul>
<p>Since we&#8217;d all been working on Rails projects when the new team was formed, we assumed that this wouldn&#8217;t be a particularly contentious route to go down, but unfortunately our director/architect/boss didn&#8217;t see things quite the same way. He had two main objections:</p>
<ul>
<li>Rails may make sense for GUI applications, but why on earth would you use it for a service? All our other [SOAP] services are written in Java.</li>
<li>At some point the application will need to go into support, and we don&#8217;t have support/operations people with Ruby or Rails experience</li>
</ul>
<p>I think the first point&#8217;s easier to address, as I&#8217;d argue it&#8217;s based on a misunderstanding: Rails isn&#8217;t really anything to do with GUIs, but is a framework for creating MVC web applications. Virtually all the heavy lifting Rails takes care of is in the controller and model areas, with the creation of the actual visible GUI being left to the developer to take care of with the usual mix of HTML, CSS and Javascript. The only thing Rails adds is the ability to insert dynamic content using <a href="http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/classes/ERB.html">ERB</a> &ndash; similar to the role of JSP in Java EE.</p>
<p>A RESTful web service is, to all intents and purposes, the same as a normal web application, but (potentially) without the HTML. All the power that Rails brings to web application development is also harnessed when creating RESTful services.</p>
<p>The second point represents a much more fundamental strategy choice. If the company makes the decision that all development is going to use Java (the language as well as the platform), then we inevitably lose the flexibility to choose what may appear (in a local context) to be the right tool for the job. Personally I think that would be a shortsighted and ill-informed decision: if that were the strategy, we&#8217;d presumably all still be developing in C, or COBOL, or Assembler. Or we&#8217;d have gone bust. But then I&#8217;m not an architect (incidentally, according to Peter Gillard-Moss, that&#8217;s <a href="http://jupitermoonbeam.blogspot.com/2008/06/10-things-that-should-get-devs-fired.html">reason number 10</a> why I don&#8217;t deserve to be fired), so what do I know?</p>
<p>However, if Ruby <em>is</em> considered an acceptable technology choice for &#8220;normal&#8221; web applications, we&#8217;ll still need people with appropriate skills to support those, so the problem doesn&#8217;t go away. I suspect even for a Java specialist, supporting a well-written Rails application with good test coverage is probably easier than supporting some of the spaghetti-coded Java I&#8217;ve seen.</p>
<p>Anyway, our arguments obviously weren&#8217;t totally unconvincing, because we were given a couple of weeks to show what we could produce before getting a final decision. That time runs out on Monday, so if I&#8217;m unnaturally grumpy after that it&#8217;ll be because we&#8217;ve been told to chuck all our work so far away and start from scratch in Java. Or possibly FORTRAN.</p>
<p><strong>Update, 16 June</strong> Well we made our case, and we get to stick with Rails. Celebration all round!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kerrybuckley.org/2008/06/12/defending-ruby-and-rails-in-the-enterprise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On being beaten with carrots</title>
		<link>http://www.kerrybuckley.org/2008/04/22/on-being-beaten-with-carrots/</link>
		<comments>http://www.kerrybuckley.org/2008/04/22/on-being-beaten-with-carrots/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 13:11:23 +0000</pubDate>
		<dc:creator>Kerry</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Rants]]></category>

		<guid isPermaLink="false">http://www.kerrybuckley.org/2008/04/22/on-being-beaten-with-carrots/</guid>
		<description><![CDATA[Traditional approaches to motivation tend to fall into one of two camps: the carrot ("do this and you'll be rewarded") or the stick ("do this or you'll suffer the consequences"). I guess I'm fortunate to work for a company (and in a country) where by and large there isn't a culture of firing people who [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.kerrybuckley.org/wp-content/uploads/2008/04/carrots.jpg' alt='Carrots' style="float: left; margin:0 10px 10px 0" />Traditional approaches to motivation tend to fall into one of two camps: the carrot ("do this and you'll be rewarded") or the stick ("do this or you'll suffer the consequences").</p>
<p>I guess I'm fortunate to work for a company (and in a country) where by and large there isn't a culture of firing people who don't meet performance targets &ndash; instead we have a system where an ever-increasing proportion of people's pay packet is made up of a performance-related bonus, rather than a fixed salary.</p>
<p>So, how do you go about getting your bonus each quarter? Simple: just meet your agreed targets.</p>
<p>Of course, nothing in a large corporation can ever be that simple, so in practice there's a complex tiered system of company, business unit, programme, project, team and individual targets, which are combined in a magic spreadsheet to generate how much bonus everyone gets. Each of these targets, and the performance against them, has to be agreed, monitored, quantified, audited and levelled. At each stage politics comes into play. Those that enjoy playing systems try to set targets they know they can achieve. People concentrate on meeting the letter of the objectives, possibly to the detriment of other activities, like helping colleagues or making process improvements.</p>
<p>Now step away from this corporate dystopia for a moment, into the world of Agile Software Development. A world where we <a href="http://agilemanifesto.org/">value</a> <em>Individuals and interactions over processes and tools</em>, and <em>Responding to change over following a plan</em>. A world where we <a href="http://agilemanifesto.org/principles.html">strive to</a> <em>build projects around motivated individuals, give them the environment and support they need, and trust them to get the job done</em>. Where <em>working software is the primary measure of progress</em>. Where <em>at regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly</em>. Where the self-organising team, accountable directly to it customer or product owner, is responsible for its own delivery and processes.</p>
<p>Now, when agile teams in large organisations are forced to jump through the externally-imposed hoops of objectives, development action plans and post-implementation reviews (which add little visible benefit and take up time that could be spent delivering business value), is it any wonder that the carrot of performance-related pay feels like it's more of a punishment than an incentive?</p>
<p>Technorati Tags: <a href="http://technorati.com/tag/agile" rel="tag">agile</a>, <a href="http://technorati.com/tag/performance+management" rel="tag">performance management</a>, <a href="http://technorati.com/tag/enterprise" rel="tag">enterprise</a>, <a href="http://technorati.com/tag/corporate" rel="tag">corporate</a>, <a href="http://technorati.com/tag/hr" rel="tag">hr</a></p>
<p><span style="font-size: 0.7em;font-style: italic">Public domain photo from <a href="http://commons.wikimedia.org/wiki/Image:Carrots_of_many_colors_cutout.jpg">Wikimedia Commons</a>.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kerrybuckley.org/2008/04/22/on-being-beaten-with-carrots/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to depress a geek</title>
		<link>http://www.kerrybuckley.org/2007/11/23/how-to-depress-a-geek/</link>
		<comments>http://www.kerrybuckley.org/2007/11/23/how-to-depress-a-geek/#comments</comments>
		<pubDate>Fri, 23 Nov 2007 11:10:51 +0000</pubDate>
		<dc:creator>Kerry</dc:creator>
				<category><![CDATA[Enterprise]]></category>

		<guid isPermaLink="false">http://www.kerrybuckley.com/2007/11/23/how-to-depress-a-geek/</guid>
		<description><![CDATA[This is what happens when you take an intelligent, technical, idealistic, web-loving software geek and force him to spend 12-hour-plus days locked in an intensive, corporate, jargon-driven, artificially-competitive workshop. Incidentally, a Google search for all lies maggots on toast currently returns Paul's tweet above the Wikipedia page for the character the words come from.Technorati Tags: [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://twitter.com/psd/statuses/428692182">This</a> is what happens when you take an intelligent, technical, idealistic, web-loving software geek and force him to spend 12-hour-plus days locked in an intensive, corporate, jargon-driven, artificially-competitive workshop.</p>
<p>Incidentally, a Google search for <em>all lies maggots on toast</em> currently returns Paul's tweet <em>above</em> the Wikipedia page for the character the words come from.<br /><p>Technorati Tags: <a href="http://technorati.com/tag/psd" rel="tag">psd</a>, <a href="http://technorati.com/tag/twitter" rel="tag"> twitter</a>, <a href="http://technorati.com/tag/hothouse" rel="tag"> hothouse</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.kerrybuckley.org/2007/11/23/how-to-depress-a-geek/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Software/geek symbiosis</title>
		<link>http://www.kerrybuckley.org/2007/06/09/softwaregeek-symbiosis/</link>
		<comments>http://www.kerrybuckley.org/2007/06/09/softwaregeek-symbiosis/#comments</comments>
		<pubDate>Sat, 09 Jun 2007 15:54:21 +0000</pubDate>
		<dc:creator>Kerry</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[BT]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Rants]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.kerrybuckley.com/2007/06/09/softwaregeek-symbiosis/</guid>
		<description><![CDATA[Yesterday I was lucky enough to get the chance to attend a talk/workshop on TiddlyWiki, presented by its creator Jeremy Ruston, with quality supporting acts from JP and Doc Searls. Jeremy has just joined BT as Head of Open Source Innovation, which is pretty cool in itself. One of the comments he made that particularly [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I was lucky enough to get the chance to attend a talk/workshop on <a href="http://tiddlywiki.com/">TiddlyWiki</a>, presented by its creator <a href="http://jermolene.wordpress.com/about/">Jeremy Ruston</a>, with quality supporting acts from <a href="http://www.confusedofcalcutta.com/">JP</a> and <a href="http://www.searls.com/dochome.html">Doc Searls</a>. Jeremy has just joined BT as Head of Open Source Innovation, which is pretty cool in itself.</p>
<p>One of the comments he made that particularly struck me was to the effect that a piece of software is a living thing, but is parasitic, requiring a 'geek host' to live on. Much of the value of software isn't what it <em>does</em>, but what it can <em>potentially</em> do. Once you separate the software from its geek, it starts to die, because it can no longer adapt to changes in its environment.</p>
<p>I think this is something that we're losing in the world of corporate IT.<span id="more-125"></span> In the old world the systems the business used tended to be huge, developed in-house, and come with a whole team of geeks attached. Unfortunately in those days we also had heavyweight waterfall processes which made it hard to react to new opportunities for the software to create business value.</p>
<p>These days the big systems tend to be assembled around so-called COTS (commercial, off-the-shelf) products from external vendors. In the real world, of course, COTS products rarely work 'off-the-shelf', so there's usually still plenty of code to be written. Since this is not considered 'core business', it gets farmed out to whichever outsourcing company puts in the cheapest bid.</p>
<p>The systems still have large teams attached, but somehow we lost all the geeks. The software's new hosts are programme managers, project managers, delivery managers, architects, solution designers and who-knows-what else. Actually interacting with the code is considered almost menial &ndash; something that can be done by anyone with the appropriate technical skills, regardless of whether they have any knowledge of the specific application or its business context.</p>
<p>It's much harder to unlock the potential in a piece of software when the people the business talks to aren't the ones who understand how the code works. It's even harder when <em>no-one</em> understands how the code works.</p>
<p>On a completely different note, it's embarrassing how low the turnout seems to be for events like yesterday's, and the talk by Martin Fowler and Dan North last year. Maybe people are just busy or don't hear about them, but I can't help thinking it's partly down to the fact that we just don't have many geeks left. On the plus side, at least it meant that those of us who <em>were</em> there got a decent chance to chat to Jeremy and Doc afterwards.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kerrybuckley.org/2007/06/09/softwaregeek-symbiosis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cultural blocks to adoption of agile development</title>
		<link>http://www.kerrybuckley.org/2007/02/17/cultural-blocks-to-adoption-of-agile-development/</link>
		<comments>http://www.kerrybuckley.org/2007/02/17/cultural-blocks-to-adoption-of-agile-development/#comments</comments>
		<pubDate>Sat, 17 Feb 2007 16:15:16 +0000</pubDate>
		<dc:creator>Kerry</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Enterprise]]></category>

		<guid isPermaLink="false">http://www.kerrybuckley.com/2007/02/17/cultural-blocks-to-adoption-of-agile-development/</guid>
		<description><![CDATA[A recent article in the New York Times describes the issues of introducing 'The Toyota Way' to non-Japanese factories. Amongst others, these paragraphs caught my eye: "For Americans and anyone, it can be a shock to the system to be actually expected to make problems visible," said Ms. Newton, a 38-year-old Indiana native who joined [...]]]></description>
			<content:encoded><![CDATA[<p>A recent article in the New York Times describes <a href="http://www.nytimes.com/2007/02/15/business/worldbusiness/15toyota.html">the issues of introducing 'The Toyota Way' to non-Japanese factories</a>.</p>
<p><span id="more-87"></span></p>
<p>Amongst others, these paragraphs caught my eye:</p>
<blockquote><p>"For Americans and anyone, it can be a shock to the system to be actually expected to make problems visible," said Ms. Newton, a 38-year-old Indiana native who joined Toyota after college 15 years ago and now works at the North American headquarters in Erlanger, Ky. "Other corporate environments tend to hide problems from bosses."</p></blockquote>
<blockquote><p>Worse, some executives like Mr. Konishi complain of managers at Toyota factories who have not adhered to some of the company’s most basic creeds, like allowing workers to stop factory lines when they spot defects. Empowering factory workers has long been central to Toyota’s quality control.</p></blockquote>
<p>It strikes me that this is very similar to the problems faced when trying to introduce agile development into large enterprises. Managers are used to controlling what people do and how they do it. Developers, testers and designers have learned that when something goes wrong, covering your back is more important than cooperating to put things right.</p>
<p>In my experience it's also a big problem when trying to combine agile with outsourcing, especially to suppliers with a corporate tradition of command-and-control management (and &ndash; shudder &ndash; <a href="http://en.wikipedia.org/wiki/CMMI">CMMI</a> level 5). As Toyota have obviously concluded, the answer seems to be a combination of education with a very strong message from the top.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kerrybuckley.org/2007/02/17/cultural-blocks-to-adoption-of-agile-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.365 seconds -->

