About the State of the Software Development Industry in the US
by Systo's President Christian Donner
Recent history reinforced our awareness of a cyclical economy. After a boom, there always comes a bust.
After the dotcom bubble, there came the dotcom crash. It seems that, over time, people would become more cautious after
flying high and falling hard.
And yet, every time a new thing has been identified, everybody flocks to
embrace it like the proverbial lemmings as if, for the first time in history, the cycles were going to be broken.
That is why the booms, and the busts for that matter, are so strong in this country - because managers look no further
than the numbers for the next quarter, and nobody wants to be left behind.
Now, what is the next new thing? Well, thanks to the highly publicized leak of an internal IBM phone call to the media,
even the least informed among us are now aware of the trend to outsource IT to overseas and develop software off-shore.
This has in fact be going on for a while already, and it is being presented as the inevitable course of things. IT is considered a
fore-runner, and later other kinds of service industries are to follow, such as accounting, legal, financial, you name it. Pretty much
everything that all of us do, except for flipping burgers, which is hard to do off-shore, will be outsourced.
The IT services industry in particular has traditionally been prone to hypes. Hypes are created by salesmen, always with the hard
argument of cost savings.
Remember the days of the late 80s and early 90s, when the big consulting firms made billions by selling their methodology to
unsuspecting managers who were eager not to miss a beat? How many millions did your company spend on volumes of software and
documentation that have since then been collecting dust on the shelves, and how much did your company save by implementing a methodology?
Methodologies, new technologies and other hypes (such as Y2K) have been plaguing engineers and customers alike.
Of course, all the things mentioned above are fundamentally good and have their rightful place in the history of the IT industry, but did they
turn out to be anywhere near as important as salespeople made you think they were? Of course not.
For an insider, it is amazing to watch how managers, as a result of this new hype, frantically alter business plans, expose their companies to
risky mergers and lay off smart and hard-working engineers.
The author worked in the IT department of a bank in Vienna, Austria after the fall of the iron curtain.
He was a project manager, and
his projects ranged in size from $1 Million to $10 Million. Small software sweatshops were sprouting up all over the formerly
communist territories. They worked for a fraction of his internal rates, and no serious business manager could ignore the promising cost
savings by having software development outsourced to the east. He himself had one project where parts of the development tasks
were outsourced to a group of entrepreneurs affiliated with the Slovak Technical University in Trnava. The "offshore" team
(there is, of course, no body of water other than Lake Neusiedl between Vienna and the Slovakian territory) was intelligent,
knowledgeable and delivered good quality code. So why, the educated reader might ask, did this approach not revolutionize
the way software is developed all over Europe?
Because it did not pay off. Not in general, and not for every random project. There is of course a very rare species of
projects, that tends to be large, well defined and well documented, where outsourcing can lead to significant savings:
- Large, because the cost of the management overhead amortizes itself over the course of the project
- Well defined, so that the requirements do not change, which is more costly in an offshore setting
- Well documented, so that the offshore team can crank without having to ask questions with cycle times of 24 hours (which is the case if the team is located in China)
Unfortunately, this type of project is very rare. As a matter of fact, in my 20 year-long career I did not come across
a single one. Granted, IT projects are usually large, but they are not well defined and never well documented. This is a
fact, and despite all the efforts of scholars and other smart people, any attempt to make software development a true
engineering discipline has failed. The reason is right there in the mirror in front of you: because there are people involved,
and people cannot be engineered - particularly when they are business managers.
So, as long as the clients of IT consulting firms are real people, there will be local jobs. Clients will continue
to change requirements on the fly, miss deadlines for deliverables and review tasks, not know what their needs are and do a lot
of other things that cause IT projects to fall behind schedule, exceed the budget and, let's admit it, even fail. Such projects
are not good candidates for offshore-development. Unfortunately, it will take a while until managers do their math.