I'm interested in polling K5 readers that are programmers.
Think back over all the software you have written during your career.
Ignore software you wrote for fun. Include only software developed
for your employer, or if you are self-employed, at the request of a customer.
Approximately what percentage of this software has ever actually been used
in a production environment?
A demo for a customer does not count, nor does a "trial". In order for
it to count, some actual end user must have voluntarily used the software for
its intended purpose.
If you developed a particular feature for a product, then the question
becomes, has anyone in the field voluntarily used that feature for its
My own career spans a little over 20 years, and I have worked at six
different companies. I estimate that about 10% to 15% of my software has
ever actually been used in a production environment. Am I just unlucky?
A colleague of mine estimates the percentage in his case at about 25%.
Don't get me wrong. In today's economy, it's a blessing to have a
job at all, and my salary is not directly affected by whether anyone uses
the software. But still, as a professional, I'd rather be writing software
that gets used.
What causes "shelfware"? Why would a customer pay good money for software
and then not use it? A reasonable inference might be that the customer was
not satisfied with the product for some reason, but didn't want to go
through the hassle of trying to get their money back.
On the other hand, I had an experience about 10 years ago that suggests
at least in some cases, the problem is more fundamental. At the time, I
was a programmer for a vendor of IBM mainframe software. In this world,
a software package would often be priced in six figures, and this in itself
was a new phenomenon for me. Previously I had written software for PCs,
where a product might sell for a few thousand dollars.
When we were doing a beta at a customer site for one of our products, it was
normal practice for us to send a developer to do the installation. On one
occasion I volunteered to be that developer for a beta installation at
a bank on the west coast. I won't mention any names, but it was a large
well known bank.
This was to be the second of our products they were purchasing. The first
had already been installed about a year earlier. When I got to the customer's
office, I went to the manager of the group that was going to be using the
software. I expected to get right to work on the beta installation.
But the manager said, "We're not quite ready yet. It's a nice day. Why
don't you leave the tape with me and just head down to the beach? I'll cover
for you if your boss calls." So I went to the beach for a few hours.
Later, they were finally ready for me. I went through the installation
procedure, and then looked around for someone in the group to give it a try.
But no one seemed interested. They all had other things to do.
I thought, okay, maybe people are busy now, and they'll get to it later.
But I was only going to be at the site for a limited time, and one of my
responsibilities was to get first-hand feedback from users.
Then someone came up to me and said, "as long as you're here, could you
take a look at the older product? It doesn't seem to be working too well."
The older product had been installed a year earlier, and now they wanted
me to get it working. At least they were showing some interest. So I
tracked down and resolved the problem with the older product. It was
a configuration issue.
I went back to the guy and said, "I fixed the problem with the older
product. So, you have a fairly immediate need for it?" He replied,
"yes, we are demoing it for upper management tomorrow." That's great,
I thought. They care about our products when it's demo time.
I couldn't help noticing that our sales rep for this customer was
quite an attractive woman. The cynical part of my mind started spinning.
I thought, for over $100k? Nah...it can't be...or could it? But I could
Occasionally, customers would ask us for a feature that would keep track
of usage statistics for our products, so they could get an idea of how often
people used the software. We would always reply that we had no plans to
develop such a feature.
Anyway, that was 10 years ago. But the issue of shelfware keeps
There's a lot of talk in software methodology circles about
reusing code. Maybe instead we should be focusing on
actually using code for the first time.