Thursday, November 11, 2004

Why agile development and outsourcing don't mix

If you're involved in IT you must be aware of two trends in the market - the move to more agile methods of application development, and the move by large enterprises to outsource more and more.

I believe that there is a fundamental conflict between these two trends, as do many of the gurus of the agile world. (For example, read Scott Ambler's article Outsourcing Examined in the April 2003 issue of Software Development Magazine ).

The most important factor in agile IT projects is the quality of communication. (See Alistair Cockburn's Agile Software Development).That includes communication within the team and communication between the team and outside stakeholders.

We can assess the quality of communication in terms of a few key measures. These measures are the same as those you would use to assess an electronic communications network. The measures are
  • Bandwidth
  • Latency
  • Reliability
  • Availabity
Of these measures, we want latency to be low and the others to be high.

Let's look at these in relation to a spectrum of application development styles.

At one end we have an XP team.

All four measures are likely to be very good. The team members are physically close, so bandwidth is high and latency is low. Reliability of communication is high, not least because because the team is likely to develop a common culture. By culture, I mean the customs, conventions, codes and values that are shared by the team. These all help to make communication faster and more reliable.

At the other end of the spectum we have an outsourced team that's located in another continent, and from a different company.

All four measures are likely to be very bad.

Bandwith is low. If we use email to communicate, we lose about 95% of the information our brains get when we interact with someone within touching distance.

Latency is high. If the person we want to interact with is available only via email and is seven time zones away, we may need to wait for 18 hours for a reply even if the person we're interacting with replies as soon as they see our email. If they are busy, or want to avoid the issue we've raised, we may have to wait much longer.

Reliablilty is low, both for technical reasons and because our cultures are different.

Availability is low. In the most extreme case, some countries pretty much close down for two weeks or more in the summer!

While this is an extreme example, any outsourced development will suffer from a significant degradation of all four measures of communication.

Conclusion: agility and outsourcing are incompatible.

Anyone who tells you otherwise is probably trying to sell you something.


Tuesday, November 09, 2004

Wot - no SVG?

I've recently started using SmartDraw for some architectural diagrams in my current project. It's a nice piece of software - intuitive, simpler than Visio, and with a huge and useful library of templates. But why won't it export scalable vector graphics (svg)?

I do most of my graphics in SVG these days. Because it's an XML language I can easily transform it or generate it from other XML documents. Because SmartDraw won't import or export SVG, it's hard to merge SmartDraw diagrams with documents that I've created previously. It's a surprising limitation in what is otherwise an excellent, if commercial, program.

In my copious free time I'm planning to take a look at an alternative called Inkscape. I've heard good things about it. It uses SVG, and it's open source.

Monday, November 08, 2004

The plot thickens.

Yesterday I followed my own advice and installed Firefox. Things went pretty smoothly, except for two interesting problems.

One became apparent immediately. Firefox had trouble importing my cookies, favourites and passwords from IE. Since IE was causing such intolerable problems after I installed XP SP2 that I decided to press on regardless.

The other became apparent this morning when I tried to access my wish list at Amazon. (After all, Christmas is coming, and so is my birthday!). The XP SP2 firewall appears to block SSL from Firefox (but not Netscape or IE). As soon as I turned the firewall offI could access my account at Amazon again.

Could SP2 be targetted at Firefox, designed to stop non-technical users from adopting an alternative to IE?

Of course not. A moment's reflection on Microsoft's unblemished track record of concern for fair competition and openness tells us that they would never stoop to such a trick.

Sunday, November 07, 2004

OK - I give in..

Over the last few weeks I've felt that the whole world has been telling me that I need to blog. Today I gave in.

Setting one up has taken longer than it should do. That's in part because Mr Gates has blessed my laptop with XP Service pack 2 and now nothing with scripts in it works with IE.

I've now created more mis-configured blogs on blogger than you can shake a fist at, and I cannot currently delete them. (I'm not worried, though, becase the blogger site tells me that "engineers are aware of the problem" and will be fixing it Real Soon Now).

I finally realised that I should have used Netscape, not IE, to set up the blog acount; as soon as I did everything worked fine.

Has Microsoft shot itself in both feet with XP SP2? It stops so many things from working that even MS diehard fans (not to mention non-technical computer users) will consider migrating to Nestcape or Firefox. All we need now is a similarly disruptive service pack for another widely-used product and Linux will positively fly onto everyone's desktop.

Memo to self - download and install Firefox today, and make it my default browser.

Second memo to self. How hard would it be to migrate all our desktop machines to Linux? Our three production servers already run Linux, and we could use VMWare to keep any non-portable Windows apps available.

There are plenty of signs that Microsoft is really concerned about the threat from Linux. If their comparison of TCO for Linux and Windows doesn't convince you, take a look at their annual filing with the SEC.

Then try the simple test below.

Question: In how many of their main markets does Microsoft indicate that they face significant competition from Open Source Software (OSS) , or software derived from OSS?

Answer: In 5 out of 7, including the client (desktop) software market.

How sad.