It is going back about 26 years now since I had a conversation with a client of mine about why it was so hard to make the simplest change to the software that I was developing for him. After all, he only wanted a few “little” things on the screen changed, so he couldn’t understand how it could be so difficult.
So, I started to explain to him about data and tables and memory variables, etc., none of which resonated with him. He still didn’t see how it could possibly take so long to do so little.
I stopped and thought about how I could explain this in terms that he might be able to understand. Now, this guy was in the printing business, and printers love their presses—monster machines with LOTS of gears, lot of things turning, pushing, and pulling in every direction, and paper flying through it at 15,000 sheets per hour. They are truly a modern marvel of 19th century technology.
So I asked him about making a simple change to one of his presses, maybe changing the sheet size from 40 to 41 inches—that should be pretty easy, right? Well, maybe not. He mumbled something about how any idiot could SEE what’s involved in doing something like that, as in essentially build a new press from scratch, and walked away to continue depriving our green planet of its trees.
The next day, while continuing my apparently too easy job of developing software, I heard my printing friend yell from across the office, “It’s because it don’t weigh nothing!”
Having pondered the problem for the past 24 hours, he had figured it out. You see, he explained, a printing press has weight, it has substance, it’s got stuff inside. Any idiot can look at it and intrinsically understand that re-engineering the press to accommodate a sheet size 1 inch larger would entail a major amount of work. But software, he explained, don’t have no “stuff” and, in fact, doesn’t even weigh anything. On top of that, it might be doing something but it ain’t moving.
So, since nobody can see any “stuff,” nor anything moving, there must not be much behind it, right? My buddy had solved the now decades-old riddle of the disconnect between software developers and software consumers. With this information now publically exposed, maybe all software development projects would come in on budget and on schedule.
Nope, didn’t happen.
After 26 years, us software developers are still over budget and behind schedule on every project, and you software consumers are still pondering what those developer geeks are doing with their time.