Wednesday, May 28, 2008

Guys like us avoid monopolies

I just watched Bill Gates say this (look about 2m:30s into the second video stream):

"Guys like us avoid monopolies ... avoid them because we compete."

This comment is bookended by Steve Ballmer, sitting next to Bill, who has just finished explaining the perils of a potential advertising monopoly from Google.

Wow. What can you say to that?

M@

Sunday, May 25, 2008

SOA What?

I was asked recently to talk to some executives about Service Oriented Architecture. In doing some research for the conversation, I found that there was a lot of information about the technical aspects of SOA, but not so much about the business/technology crossover. So I decided to write a white paper: SOA What?

Click here to see it, and let me know what you think. I've also included a brief precis below.

Precis
: Describing technology from a business perspective can be a challenge. It is much easier to talk about or justify technology when it supports an existing business process because it is relatively straightforward to frame the benefits in terms of return on investment, time saved, or dollars spent. It is much more difficult when the technology provides support for other components, guides the way systems are built and integrated, or attempts to insulate pieces of infrastructure or application that face very different rates of change. In many ways, Service Oriented Architecture (SOA) falls into this second, intangible category. This paper attempts to demystify SOA by examining it from a business perspective. It presents some background and an executive definition, and then outlines some misconceptions before exploring the strategic business outcomes presented by SOA. It then looks at some of the headline business impacts, costs, and risks associated with SOA rollout, along with a real world example that highlights how SOA fits into and supports modern business architecture.

M@

Thursday, May 22, 2008

What I read last week 5.1

[1] Better than Free
Free is the new black

[2] A computer scientist who doesn't include 'give up' in his lexicon
Wow

[3] Google App Engine for Developers
If only they had a Grails version

[4] The technology that will save humanity
I wish I had a lazy bar or two to build a solar thermal power station on the farm

[5] Coal saver
Is it coal that it's saving? Or something bigger?

Wednesday, May 21, 2008

Murals and Skyscrapers

I think that everyone knows that the "like building a skyscraper" metaphor is thoroughly wrong for describing the process of building software. However, it doesn't seem to stop it being used again and again (and often clueless project managers are the worst offenders). I have a hunch that attachment to this metaphor might have something to do with why the same project managers have such a love affair with Microsoft Project. But that's another story altogether.

However, today I heard a thoroughly great metaphor for software, one that I haven't heard before, and it really resonated with my experiences building software. I really wish I could claim credit for coming up with this, but sadly, it was a colleague at my current consulting engagement. Tip o' the hat to Andrew. Nice work.

Anyway, the metaphor is a simple one and it goes like this: Software is like a bunch a people painting a mural. You all stand around for a while, maybe pencil out a rough outline, maybe mix some colours and sample how they look on the wall. Then you split up, and some of the team works on one part, and some on others, perhaps individually or in small teams. You come together regularly to assess progress and decide where to go next. There's generally someone in charge, in some form or other (or maybe not), and they might work on their own section, perhaps one of the most challenging bits. Every now and again, you take a step back, and there are some parts that you have to rub out, paint over and redo. It's collaborative and non-linear. Sure, you need an outline and some sort of plan to start, but the way it ends up is very much influenced by the process.

Not only is this a good metaphor for software in general, I think it's an espescially good metaphor for agile software development because it emphasises collaboration and iteration. I will be sure to use it next time I am trying to explain to someone why traditional project management tools are such crap for managing software development.

M@

Tuesday, May 20, 2008

Twitter?

I just hooked up with Twitter. I've heard a lot about it recently, in particular how it is written using Ruby on Rails (I need to confirm if that's true - yep, it is: [1]). It's an interesting idea, in a weird kind of way. I'm not at all sure if I get the process yet (if there is anything really to get about it), but two things stand out for me after about 14 hours of Tweeting, one very interesting and one a little bit left field.

Firstly, I love the fact that from within Twitter I can click a button that miraculously adds my current Twitter state of mind directly into my Blogspot blog. It's not actually the low level technical details of that that impress me (not to devalue them in any way), but what that action represents. What's intriguing is that when I make that connection between my tweets and my blog, I'm actually creating a semantic connection between Twitter and Blogspot. Ok, I know that's kind of stating the bloody obvious, but the point is simply that this connection is basically the Vic 20 of the Semantic Web, and it makes me really wonder what the 8-core MacPro version will look like!

The second thing I've noticed (and this really does have nothing to do with technology) is that Twitter reminds me of a peculiar idiom that pops up every now and again in conversations. Wierdly, this seems to occur most often with Americans. I'm not sure what it is about American sensibilities that makes this the case, but that just seems to be my experience. The idiom I'm referring to is the way some people vocalise their internal monologue. For example, if I am going to sit down on a chair, I simply sit down. I don't generally find the internal decision making process about which chair to sit on and when particularly relevant to anyone else. However, some people really do find it necessary to tell you about it. "I'm just going to sit down over here, Ok?" And like that last sentence, often ask innocent bystanders for approval or confirmation. Unfortunately, I get a little bit of that sense from Twitter.

M@

[1] Apparently, Twitter does use Rails. "By various metrics, Twitter is the biggest Rails site on the net right now," Alex Payne, Twitter Developer.