Hacker News new | ask | show | jobs
by andrewlgood 1779 days ago
Article covers a great point, just does not provide a framework to make decisions regarding when to use spreadsheets.

I am a CFO that has used spreadsheets my entire career (30+years). They can definitely have a vital role in any company and can also cause incredible problems.

A few thoughts that were not mentioned in the article:

   1) in many companies the users of spreadsheets are not allowed to use anything more powerful than spreadsheets (or maybe MS Access which causes more problems).  To get a SQL/Python (or other programming language) solution requires submitting a request to IT and then waiting two years to work up the priority queue.  This is not a complaint against IT and the priority process.  The reality is most spreadsheets do not start out as important enough to warrant high priority.  
   2) Spreadsheets are great containers.  Not only can they hold a model, but also the raw data, and even emails regarding the model/inputs/etc.  This makes them very handy for keeping everything in one file regarding an analysis.
   3) IME, most significant spreadsheets get rewritten as they evolve, especially when they change hands.  This is both good and bad.  While the rewrite allows correction of built up badness, it is rarely done with the discipline one sees with refactoring in more traditional code.  Moreover, when a hand off happens, the rewrite is generally done because the recipient does not fully understand how the existing model works.
   4) Large spreadsheets cannot be effectively audited outside of locking/password protecting non-input cells. Very rarely is this actually done.  As a result, you get the scenario the author describes of hard-coded values in cells that once contained formulas.  These are almost impossible to find in worksheets with large numbers of tabs and thousands of formulas.  
  5) Spreadsheets generally do not use true version control.  For most of my career, one simply used "File Save As" to create a new version.  In the early days it was due to a fear Windows would crash and you would lose your work.  Later, it became a way to step through changes and determine the impact of the change.  While this method provides some ability to go back to a prior state, people really do not track properly what each version contains and what are the true differences (would love to find a way to use Git effectively on spreadsheets).
   6) Most spreadsheets do not have test cases.  They certainly do not increase the test case universe as modifications are made.  As a result, cannot tell if things break when changes are made.  
Given all of these things, I recommend using spreadsheets for ad hoc analyses and to pilot analytics that will become part of a routine process. The latter point is the point the author is making (and the point of his title). I would add that the analysts need a plan and methodology to determine when they need to convert from the anything-goes freedom of spreadsheets to a more disciplined, maintainable, controlled program.