In my first job out of college I worked at a timesharing firm. For those of you who don’t know, timesharing, whose heyday was in the late 1970s, allowed companies to use large mainframe-based systems without themselves having to purchase these huge computers and hire an army of support staff.
Once signed up, a company shares a multitasking mainframe machine with hundreds of other customers, giving each user, seated at a dumb terminal, the illusion of being connected to his or her own personal mainframe.
For this, customers would pay towards development and support costs for the systems and, more importantly, cough up for usage costs based on the number of processor minutes they clocked each month. This was a very profitable business — until the advent of the PC and desktop computing.
The eventual fate of my employer became clear to me after one colleague left the company: he ported the huge, wildly complicated accounting system that cost one of our clients tens of thousands of dollars a month in usage and maintenance costs to ... a VisiCalc spreadsheet running on an Apple II.
To our former customer, this meant instant savings of a good half-million dollars a year. Mainframes, even for companies that owned their own, became dinosaurs almost overnight. They were massively big, expensive, lumbering machines that despite their size still couldn’t do many of the things a PC could.
The advent of the client-server model (to run systems that were too large for a desktop machine, or had to support many users) meant a tiny step back in the direction of the terminal, but desktop computing had nevertheless firmly taken hold. In the investment banking business where I worked, the spreadsheet was a magical thing whose arrival happened to coincide with the rise of super-sophisticated financial products.
VisiCalc: Those were the days...
With VisiCalc (and later Lotus 1-2-3, and later still Excel), traders could bang out prices and work through complex scenarios whenever the mood hit them, and without any assistance from developers. By the 1990s, spreadsheets were as important a part of traders’ lives as desk calculators had been a couple of decades earlier. Today, it’s inconceivable for a trader, especially someone on a derivatives desk, not to have advanced knowledge of Excel. Some traders go much deeper than that, to the point of having Visual Basic skills on par with a mid-level developer.
While the most difficult spreadsheets are now built by dedicated development and quantitative analyst teams, trading desks are more or less in charge when it comes to the daily management of their Excel libraries. Having direct control over the “calculators” they use means traders don’t need to put in a formal request for every minor formula-tweak they need implemented, or every slight change to the scenarios they want to run, and then wait for someone else to implement it — a process that would make much of their day-to-day work impossible given the speed of market movements.
A well-designed spreadsheet leaves plenty of room for users to fine tune it on their own as new kinds of deals are negotiated and trading conditions shift. And of course, many spreadsheets are built and maintained by traders with no assistance at all. Still, there will always be times when a requirement is complex enough that it calls for a change to the underlying code by a full-time quant or tech team. However, considering that speed is of the essence even when traders can’t implement sheet changes themselves, the rules for formal “change management” are generally far more lax for spreadsheet work.
The bad old days of change management
Anyone who has worked for even a medium-sized financial firm knows that pushing through changes to a production system at these companies can be enough to send you over the edge. In the worst case I’ve seen, the process entailed, at a minimum, filling out a web-based form, submitting your change request to a long line of managers (every one of whom had to approve it, in turn), and sitting in on a conference call to discuss the change and get it cleared by the production-support team. If your change had to go live on a Friday evening, it had to be approved on the previous Wednesday’s conference call.
This process was mandatory for all changes, no matter how trivial. The web form was literally the most complex I’ve ever come across, so filled with arcane codes and cross-references that I never saw anyone go through the process from scratch; standard practice was to take the form you’d submitted on some previous occasion and update the relevant fields to reflect this week’s change.
That previous change form was based on an earlier one, and so on back to some primordial request page that an unknown, intrepid developer had filled out in the distant past. Requiring your change to go through the full chain of approving managers was semi-pointless, since many of them were so senior they had no idea what the change was about, or worked in an entirely different area of the firm, and as a result automatically pushed the APPROVE button.
Nevertheless, these managers had to be chased down if they’d been too lazy or busy to approve your change as the deadline approached. Then there was the chance that one of them was on holiday, or that you’d missed filling in one of the form’s forty fields, or any number of other problems.