There are probably very few people in the developed world that never have heard of Microsoft Excel. It is the de facto spreadsheet industry standard and has been around for more than 30 years now (and before that there was Lotus 1-2-3 for those old enough to remember). It is a very powerful piece of software (too powerful, some might argue) that, when used correctly, can help you get a lot of work done quickly.
This power and the fact that so many people in businesses around the world are familiar with spreadsheets can create a series of problems that we see quite frequently in our line of work. When faced with a problem it is only natural to turn to what you are familiar with for a solution, even if there might be more suitable ones. Like the saying goes: “When you have a hammer everything looks like a nail”.
In this article we would like to highlight some common problems we have come across, when working with our clients, that might help you decide whether or not your organization is using spreadsheets correctly and to propose some alternatives that may help boost your business.
Don’t Tie Your Business to a Spreadsheet
Tim used to work for Super Corp. As can be expected, Tim was a super guy that created a super spreadsheet that soon became an integral part of the workflow at Super Corp. Unsurprisingly, the competitors paid attention and soon made Tim a super offer that he got super excited about and, as we already know, Tim is super elsewhere these days. Super Corp is super unhappy because now they have a super outdated spreadsheet that is super complex and super hard to modify without Tim.
In this (super) annoying little story we highlight a common problem some of our clients have. Instead of using spreadsheets as a tool doing isolated work and to compile and present data they let it become a business driving force with too much complexity, created by one or a few persons with no programming experience. Over time knowledge about the spreadsheet was forgotten or lost when these people changed roles or companies.
As a general rule, logic or data that is essential for your business should never be locked inside a spreadsheet.
Sharing Problems and Duplication
If you run a small one-person business a single or a couple of spreadsheets may be all you need. However, as soon as you need to share that information with more people you run into a number of problems. Do you copy the file and each work on separate copies? This creates duplication and you end up with separate data sets that can be very hard to re-integrate. Do you put the file on a shared network drive? This will work better since you only keep one copy of your data but can be, at worst, risky since you may end up overwriting the work of your colleagues or, at best, inefficient since you have to wait for your colleagues to finish their modifications before you are allowed to make yours. Do you put the file in the cloud, using something like Google Docs? This is certainly a more convenient solution since it allows you to work in parallel on the same document without stepping on each others toes.
All these methods come with problems though. It is impossible to dynamically share a subset of your data with a third party. For example, the warehouse guys might need to update the inventory status of a product but shouldn’t be able to modify (or even see) the price or other details.
Data Inconsistent, Error Prone and Untestable
Data inconsistencies is another common problem when working with large spreadsheets. Since everything is inserted and maintained manually, mistakes do happen and can be very hard to find and correct. One wrong value in a cell somewhere can have cascading consequences for your calculations and be very costly.
There is also generally no way of automatically testing or proving that your spreadsheets do what they are supposed to. Sure, you can double check that known parameters give an expected result but there are often edge cases that are hard and/or time consuming to test for. Then you have to remember to re-test everything as soon as you make a change somewhere since you might have, unintentionally, broken something.
Another side of the data inconsistency problem that we often come across is not a direct fault of the spreadsheet software but the use of it. As software engineers we are used to think in abstractions and a large part of our job is to simplify things by removing duplication. A typical spreadsheet user, however, doesn’t have a background in computer science and will use the software by copying and pasting values and formulas. This is of course convenient and simple but has the drawback that when you need to make a modification to a value or formula you have to remember all the places you used it or end up with the wrong result.
Limited System Integration Possibilities
Although modern spreadsheet software give you some possibilities of integrating your data with other systems, they are quite limited and often labor intensive. If you need to share data between your systems and third party systems (and who doesn’t these days) you will find that a spreadsheet is not an optimal solution.
Information wants to be free is a common slogan in computer circles but just as true in a business setting. If you look at some of the large companies of today (such as Google, Facebook and LinkedIn) they all have one thing in common; their value is tied to the data they have managed to gather, not necessarily to what they sell or the platforms they provide.
As soon as you have well organized business data in a structured format all sorts of new possibilities open up and it becomes possible to see synergistic effects, both within your own business and through integration with third party services or B2B collaborations.
Alternatives and Solutions
We have seen that, while powerful and convenient, spreadsheets are not always the right solution. So what kind of alternatives can we offer you to achieve a more flexible business, ready to face the future with confidence?
The short answer is “whatever you need” but, although true, that might seem vague or even impossible. The longer answer is that it depends on you and your business. Every business is in in a different stage and has individual needs and this is one of the reasons why we believe ready-to-go solutions are rarely a good fit. Sure, they might get you up and running relatively fast but they will never do exactly what you need and as your needs evolve and change you will be running into more problems than benefits.
We believe in taking an Artisanal Approach to Software Development. We would like to work closely with you and develop tailor made solutions for your exact needs while keeping as many doors open as possible for future changes. Don’t hesitate to contact us to get to know more about how we can help you grow your business!