Application Analysts - How Reasonable?
Update - Permanent Link here
In the IT industry, the various analysts have a large amount of influence. They have analysts who follow all aspects of the IT industry - server platforms, development tools, operating systems, the whole gamut. This raises a question
though - with how influential they are, how accurate are they? It should be pointed out that I am hardly an unbiased observer - as the Product Manager for Cincom Smalltalk, I am obviously going to have a distinct point of view on what people should use for developing software. Still, over the last few years I've watched the analysts go negative on Smalltalk, and I decided to start looking at what they say and how they justify it.
The best place to start is with an analyst report put out at the end of September: Leading Languages for IT Portfolio Planning. This report looked at what development languages are in use, and what development languages are likely to be in use. Additionally, it makes recommendations on what languages should be used - and also on which should not be used. The report was written by the analysts at the analyst firm in question who follow development tools. Here's the table of language penetration they came up with in their survey:
|Language||IT Shop Penetration|
These are the languages that they classify as mainstream. They consider Java, VB, and (to a lesser extent, C++) to be mainstream, with C# soon to enter that state. To quote them, they say the following about this table:
"Other languages and integrated development environments such as Pascal, Delphi, PowerBuilder, Smalltalk and Natural have already been pushed
into a niche area, where we expect them to remain. We recommend that
enterprises consider a migration to Microsoft or Java languages and
technologies. Qualifying factor in their assessment would be the degree
to which their vendors align their strategies with Microsoft or Java.
Bottom Line: Enterprises must balance specific language requirements
with the mainstream critical mass of skills. When possible, mainstream
IT enterprises should first look to align application development
initiatives with Microsoft.NET or Java-related technologies, tools and
programming languages. They should consider niche tools only when the
risk is far outweighed by the limited use of these specialized toolsets"
What they recommend here is that IT shops should strive to be in the mainstream, where it will be easier to find skilled developers and tools. That sounds reasonable, until you notice these comments made to the press by an analyst who follows aplication development tools: made in an interview
"A September survey by the Gartner Group, a technology consulting company, revealed that approximately 40% of information technology (IT) projects do not produce their intended results, an indication of how badly some companies need the consulting services of a tech-savvy CPA. Gartner's prediction that global IT spending will reach $3.3 trillion by 2002 highlighted the broader implications of this finding"
This is in line with other reporting; the statistics on project failure
tend to range between 30% and 40% depending on whom you ask. Where it gets interesting is when you see the same analyst quoted above saying this to the press:
To date, around 70 percent of initial Java implementations have been
unsuccessful, according to new research from Gartner Group.
"An inordinately large number of large-scale Java projects have been
failures," said Mark Driver, Gartner research director for Internet and
However, Microsoft shouldn't draw any comfort from those figures as it
seeks to promote its .NET technology strategy either. In all likelihood,
the failure rate for early implementations of .NET systems will be
similar, Driver said.
So let's recap here - analysts recommend that you use a
mainstream language for your development - Java, VB, or a .NET language is what they mostly recommend. They particularly recommend that you
migrate projects from Pascal, Delphi, Smalltalk (etc.) to Java or .NET
post haste - and they do so even though their own research shows that
the failure rates for that decision are inordinately high.
It's at this point that I have to question the value of their reporting.
They have the failure rates in front of them - they are quoted
reporting them. And yet, in an official publication, they
recommend that any shop using a non-mainstream tool should migrate in
order to mitigate risk. I have to ask, what risk? The statistics
show a 40% failure rate overall for IT projects, but a 70% failure rate
for Java (and likely .NET as well) projects. That means, logically, that
starting a project in anything but Java or C# has a lower than 40%
chance of failure, while starting in Java or C# yields a 70% failure
rate. This isn't my Smalltalk advocacy speaking; this is their very own
data speaking. In full view of all this data, these statements have been
made to my customers:
"Smalltalk has become a niche technology that will be used by less than
five percent of enterprises for another few years, mostly in the
"There are one or two reputable vendors that still support Smalltalk
(e.g. IBM) but they do not and will not introduce significant
enhancements, recognizing the niche status of Smalltalk."
"Smalltalk applications should be relegated in the maintenance mode: do
enhancements, do not do major new development!"
"As a strategic, long-term direction enterprises should choose a
mainstream technology: either (or both) Java or/and Microsoft
Now, these comments were made at a point when Cincom was about to
release VisualWorks 7, IBM was about to release VAST 6, Gemstone was
about to release Gemstone/S 6, and Object-Arts was about to release
Dolphin 5 - all with major new features you can easily read about by
visiting their sites.
So there you have it - the analysts recommend that you switch from
technologies that have (at least) a 60% rate of success in project
usage, to technologies that have a 30% success rate in project usage. Draw your own conclusions