Solving the Excel problem by embracing it

An all too common site, having engineers spend hours transcribing a SME's spreadsheet into scalable code. There must be an easier way, and I think it looks something like this: https://excelanalysis.herokuapp.com/

The context: people turn to spreadsheets to solve their day to day analytics. This is great because excel offers great flexibility and fast iteration. These are the reasons business' depend on Excel.

The problem: day by day the spreadsheet grows.... one day finance wants a sheet for NPV inserted the next engineering want to assess a project feasibility. Your sheet gets sent around the whole organisation, everyone adding their own spin, their own logic. Some of these modifications make it back, some float around the organisation.

The outcome: Thousands of slow spreadsheets, constantly breaking, "v101.3 B CB --change v1". We've all seen business decision based on spreadsheets like these. Often to codify the logic built up in these invaluable cells the business brings in expensive consultants who spend months codifying the sheet into Python, only for the business requirements to change a month after they leave, making the app redundant. This cycle seems to always lead back to Excel, and it's obvious to see why to anyone who've tried writing a simple python script to do what can be done in 5 seconds in Excel.

The solution: We need to embrace the flexibility and pace of iteration offered by spreadsheets, not reinvent it. Something like my mock up gives business users a way to centralise their sheets, allows anyone to access it and speeds up the execution with horizontal scaling. By giving the SME these benefits we could fit version control over it (imagine a git commit every time someone uploads a sheet), and even implement global API's that reach into these sheets.

Excel has transformed the way we make decisions and fighting the human impulse to use this magnificent tool is a losing battle. Instead we should embrace it and enhance its shortcomings. We should enable faster development to keep the user engaged, while sneaking in wider business processes like version control. In the end the only tool worth building is one that will be loved and therefor used by the knowledge holders in the business.