Why spreadsheets are bad ======================== Don't get me wrong. I think spreadsheets are a great invention. No other technology makes it this easy to whip up an overview of, well, pretty much anything. At the same time, this low entry level is also one of the biggest problem with spreadsheets. If all you have is a hammer, every problem looks like a nail; spreadsheets are the only tool most people are familiar with. Spreadsheets pop up everywhere. That personal diet plan? Tracking and graphing your blood pressure at home? Spreadsheets are the way to go, and they'll allow you to set up things just the way you like, permitting you to quickly get an overview of whatever you fancy. But in a business context, spreadsheets will often do more harm than good. Here's why. - Spreadsheets are easy to do, but much harder to do right. It's easy to make a spreadsheet. But like any application, it's a lot harder to make a spreadsheet that guarantees that all data in there is consistent. People that make spreadsheets typically have no background in information theory and no clue about normalizing data models. As a result, the data in a spreadsheet is unlikely to be of high enough quality to be useful beyond that spreadsheet. Changes that would be simple to do in a properly designed database system (such as a change of the name of a person) will likely require a multitude of changes in a spreadsheet. Data needs to be maintained, and spreadsheets simply aren't a very good tool for modeling relational databases in. Once you've got around to adding all the needed input validation, you'll likely have tied yourself into paying yearly licensing costs to your spreadsheet vendor. - Poor support for automated interoperability Have you ever seen a spreadsheet that links to data that's in another spreadsheet? Even if it is possible (generally at the cost of vendor tie-in), in spreadsheet-land data duplication is the norm. Data duplication is bad because there is no guarantee that all copies of a piece of data are updated when the source changes. Soon it is impossible to tell which piece of data is correct. - Data protection vs. multi-user access Although some spreadsheet programs allow multiple users to access a spreadhseet at once, data access control is an issue. Where other solutions are able to present or hide certain data dynamically depending on the status of a database record, spreadsheets aren't designed to offer this sort of data protection. The result isn't just a data protection issue; also, if multiple users use the spreadsheet and dropdown lists are defined in it, most users will be presented with many dropdown options that don't apply to them. - Use of spreadsheets suggests manual labour and opportunity for automation Where a database-base application may be able to quickly pull in data from a variety of data sources in real-time, to do the same sort of thing in a spreadsheet typically involves boring, repetitive manual labour. And even if this manual labour wouldn't cost a penny to the business (but it does!) there are more productive, more interesting ways to spend your day. If a job is repetitive, often this is an indicator that it can be automated. - Poor cross-platform interoperability Despite all good intentions, spreadsheets are best viewed with the exact same software that was used to create them. Put more bluntly, unless I buy the same spreadsheet software that you have bought, they simply won't work. I may not have that choice, because the the operating system that I use may not support the same (version of) spreadsheet software that you use. - Updates are hard to roll out When multiple people are requested to use a spreadsheet, someone needs to keep the design and basic content (such as project lists) up-to-date. Every design change implies having to re-distribute the spreadsheet to every individual that uses it. Either email or a network share may be chosen as the distribution method of choice, which means people will only be running the lastest version of a sheet when they are aware of an update and choose to do so. Unless a "cloud based" spreadsheet solution is used, any design- and content update must be (manually) communicated to every user of the spreadsheet. Compare this with a web application where everybody automatically runs the latest version of the application. - Auto-correction of correct content into incorrect content Removing leading zeros from phone numbers https://science.slashdot.org/story/16/08/23/2222258/20-of-scientific-papers-on-genes-contain-conversion-errors-caused-by-excel-says-report etc - Spreadsheets are a business liability Spreadsheets are not intended to develop mission-critical business applications, and because they're typically developed by people without an IT background. Safeguards such as version control, backups etc. are often ignored. Since spreadsheets tend to be self-contained files, they are easily slapped onto a thumb drive and forgotten in the pub. Spreadsheets grow from simple tools to the point where their complexity is out of control... at which point they're handed over to the IT/development department, who would have been able to do a far better job keeping the complexity under control by writing an application from scratch. Using spreadsheets instead of an internal application may imply sending spreadsheets by email. This comes with the risk that the domain name of the recipient is misspelled, potentially causing any sensitive information in there to fall in the wrong hands.