Comment: Mastering the soft skills


7 Jul 2004

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+Pin on PinterestShare on RedditEmail this to someone

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+Pin on PinterestShare on RedditEmail this to someone

The software industry is hugely important to Ireland’s economy. The sector employs 30,000 people while software sales account for over 14pc of total exports and are worth in excess of €13bn. Alongside the US software giants such as Microsoft and Oracle that have based their European operations here, there are literally hundreds of indigenous software firms developing new products for the Irish and world markets.

In the last two or three years, a new and troubling phenomenon has cast a long shadow over this sector, namely the emergence of low-cost software development locations such as China, India and Eastern Europe. The worry is that the Irish software sector will not be able to compete against these code factories, whose costs run at a fraction of comparable operations in Ireland or Europe for that matter, and will gradually wither away.

Ireland’s salvation may lie in an unusual source: the complexity of the software development process itself. The fact is that while certain routine coding jobs can be done swiftly and cheaply and can thus be reduced to commodity status, it takes a lot of skill to develop the underlying architecture and manage the whole software development process.

So just how complex is the software development process? Well, very, according to one authoritative source who recently visited these shores. US software guru Grady Booch was chief software architect at Rational Software, one of the original developers of the Unified Modeling Language (UML) and Rational Rose and is now an IBM Fellow. His opinions about software cover a lot of ground but many of them relate to the possibilities and limitations of the software development process itself. These thoughts were brought together in a lecture he delivered last month at Dublin City University.

According to Booch, software systems are becoming increasingly complex, characterised by “rising levels of abstraction”. As such, the task of software development team is “to engineer the illusion of simplicity” even while the environment grows more complex. “Software development has been, is, and will remain hard,” he noted.

Booch also quoted figures that suggest that software engineers are a highly unproductive breed. “The average code warrior spends just 20pc of their day writing code,” he pointed out. “That’s appalling; it suggests that there’s a horrendous amount of friction in the development process.”

A number of factors are responsible for this friction, he believed. “For many large systems it’s not the technical problems that keep us from moving forward; it’s simply we don’t know how to build it,” he said, identifying inefficient software design as one culprit.

The most intractable challenge of all, he believes, is how best to get software engineers working together to make new products. “If more than one person is required to build something, the challenge lies in finding the optimal way to organise these folks. If you look at the average enterprise system where you have potentially hundreds of people involved in building it, the architectures are not rocket science but the problem is getting the right teams of average and less than average developers who change over time.” Compounding this problem, he notes, is the issue of ‘technology churn’, which means that underlying technical architectures are in constant flux and are never totally stable.

To create order out of such chaos takes rare skill. This role usually falls to chief software architects. What the best of them have in common, Booch feels, is not only that they have the necessary vision and technical skills but also the ability to articulate this vision to each member of the development team. Contrary to popular perception, therefore, the gods of the software world are generally not geniuses working in isolation but charismatic team-players who can create the vision and then bring it to life.

There have been several such personalities in the history of the Irish software industry: Chris Horn of Iona Technologies, Jim Mountjoy of Euristix, Gilbert Little of Aldiscon and Raomal Perera of Isocor (now CEO of Valista) to name but a few. They all built highly innovative jewels of companies that developed groundbreaking software. They had no interest in making run-of-the-mill product to order from other people – the positioning that is now being taken by the low-cost countries.

It would be going too far to say that the Irish software sector has nothing to fear from low-cost countries because who is to say that over time they won’t develop innovative software clusters of their own? But we must not lose a sense of perspective either. The sector’s success to date has been built upon innovation and quality. The best strategy for Ireland’s software firms is surely to continue positioning themselves as orchestra leaders rather than just members of the band.

By Brian Skelly