Guest post: An ode to the humble spreadsheet

Guest blog: Bob Warfield has founded three startups, run R&D at Borland, developed software for Callidus and Oracle and created tools for Rational/Pure Atria. He currently works for SaaS customer service company Helpstream.

Guest blog: Bob Warfield has founded three startups, run R&D at Borland, developed software for Callidus and Oracle and created tools for Rational/Pure Atria. He currently works for SaaS customer service company Helpstream.  He is responsible for Quattro Pro, the Borland spreadsheet, and is the inventor of the notebook tabs you see on all modern spreadsheets today. For more posts, see Bob's SmoothSpan blog.

There’s been a fascinating discussion going back and forth among the Enterprise Irregulars about customization, configuration, and enterprise software.  Inevitably, the spreadsheet came up when Thomas Foydell suggested that a small business could do a lot with Quick Books and Excel.

That statement touched off a minor storm of comment.  Spreadsheets were immediately taken to task as being far too error prone.  That’s an oldie but a goodie.  Yes, there are lots of errors in spreadsheets.  But, any programmable tool involves code, even if it’s just a few spreadsheet formulas.  And, all code has bugs.  Repeat after me:  ALL code has bugs.  So unless you can find a tool that involves no code (and those visual diagrams are code too, by the way), this is no special Achilles’ heel of spreadsheets.  It is more a reflection on the human condition:  we make errors.  The spreadsheet merely accelerates our ability to turn those errors into real problems.  But again, that is what computers themselves do too, right?   To err is human, but to really screw up takes the computer.

Here is where it starts to get interesting:  once you realize writing a spreadsheet is coding, a light goes on.  For some reason, this kind of coding is so much easier than most of what we think of as coding that we forget we are coding.  Mere mortals can do it.  I would submit that the mere mortals are not even any more prone to introducing bugs in their spreadsheets than any of the superstar developers I’ve worked with over the years doing any flavor of programming you’d care to name.

What does this have to do with enterprise software and customization?  It’s pretty simple really.  In enterprise software we have the dual concepts of customization and configuration.  Customization is that kind of coding that is “hard”.  It is expensive.  It’s what legions of professional services people do on a big expensive ERP installation.  Configuration is the “easy” coding.  Similar to what we do in spreadsheets.  An Excel power user can do that kind of coding with a day or two of training.

If you think about it, there are more “programmers” who can write spreadsheets than any other language in existence.  And they’re not trivial exercises either.  Giant spreadsheet models get built every day that model the operations of large corporate entities in intricate business logic detail.  Huge decisions are made on the basis of these tools.  They deliver nimbleness because the same mind that conceives the business strategy or has the domain knowledge can often create the financial model without any need to do an elaborate requirements and specification dance. Larry Dignan mentioned in the discussion that BI vendors often say to him that spreadsheets are their biggest competitor.  I completely agree.  I’ve deployed simple and complex reporting and analytics solutions to the enterprise audience.  Aside from a few “quants” that really know how to make the OLAP tools sing, the vast majority of these folks just want to suck the data out of the enterprise app and deliver it to a spreadsheet where they can be left in peace to massage, model, forecast, fold, spindle, and mutilate the data in any way they see fit.

Long ago no less a luminary than Alan Kay wrote a wonderful treatise on spreadsheets.  He described them as being the most egalitarian programming language and called spreadsheet authors, “pilots of their binary biplanes.”  The image has stuck with me.  Spreadsheeters have a certain freedom to roam the information skies strafing at whatever problem they wish to solve and being largely unfettered.  Sure their aircraft are unsophisticated by today’s standards, they’re grounded by inclement weather (read big hairy scalable enterprisey problems) but they are cheap and cheerful, and they get many jobs done well.

It’s amazing just how little progress we’ve made with spreadsheets since the days when I worked on Quattro Pro at Borland during the late 80’s and early 90’s.  What was the last major innovation in the field?  What is there in Excel of today that is very commonly used but didn’t exist in the spreadsheets we had 20 years ago? Not too much, I’d venture to say.  Pivot tables are a little nicer, but we had them back then.  There’s a gaggle of Internet functionality that is mostly demo quality.  More important than the prospect of enhancing the power of spreadsheets themselves is that almost nobody has managed to make them a more effective part of the customization/configuration experience for enterprise software, despite the fact we’ve known for years that they’re powerful and almost universally loved by the business users.

Perhaps this is an opportunity for the SaaS world.  They need to break through the complexity barrier of customization and deliver the benefits without the costs.  A clever vendor that sees how to build the notion into the fabric of their application would have a tremendous advantage.  As for me, there is little question whether it is nobler in the mind to suffer the outrageous slings and arrows of customization.  It isn’t.  I’ll be out flying my binary biplane.