My Rules for Using Spreadsheets(leancrew.com) |
My Rules for Using Spreadsheets(leancrew.com) |
* Machine name / number
* Owning technician’s name, shift, photo, and phone number
* Owning engineer’s name, shift, photo, and phone number
My team had something like 250 machines spread across 4 shifts. We had to redo cards anytime we gained or lost someone on any team, which often included rebalancing the workload. Luckily, someone had made an Excel macro that connected to a MSSQL DB that had employee information (IIRC, it didn’t have confidential information like pay in it; I think it was used for generating badges), pulled all of the required fields, and automatically filled the template. Send them to the printer, cut them apart, and go place them.
My contribution while there was to implement a crude pathing optimization that tried to assign contiguous machines to a given technician, to minimize the amount they had to walk for weekly checks. It kinda worked; better than nothing, anyway.
Checklist:
#1 Are you doing calculations?
Yes: Use a spreadsheet
No: Use another toolI've never seen a better explanation of the tool than that one sentence
The key value IMO - as other have said - is that it's sharable to non-technical folks.
That's a lot like reviewing someone's regular expression. Like I'm not going to read through a 100 character regex to see if it matches semantic versions, I'm just gonna pull it up on a regular expression tester and see if it does what it should.
And I have used them as an alternative to a UI with very poor UX that developers came up with for a team of material scientists to use. This thing was basically unusable. Sometimes, it's just easier to go where the users are rather than to try to get them to use something new or different. These people were dealing with a lot of specifications in PDF form. Loads of tables basically. So, spreadsheets were a good fit as that was what they were doing anyway. They loved it. Soon after they discovered databases, python and sql. So there is that.
The reason spreadsheets are widely used is because nothing better really came along that did the same job for everyone. There were of course lots of tools for specific use cases that are somewhat widely used now. But most of these tools are fairly niche compared to spreadsheets.
These days getting data in and out of spreadsheets is not that big of a deal with AI coding tools. A lot of white collar workers are starting to use those. So, switching to something better/appropriate is much less of a challenge now than it used to be.
Luckily AI can update junky spreadsheets but I think "don't" is the best position I've heard yet.
Non-technical workers can build functional tools rapidly, outperforming traditional software development speeds massively. Engineering CS types completely miss the point on this. If Im making a model for finance I need to see the data live, update fast, get my charts done without messing about with matplotlib etc. Get to solutions and decisions.
Spreadsheets are still prolific bc they enable rapid prototyping, visibility and flexibility that is to this day completely unmatched.
But when one of your arguments is "Excel has complicated nested formulas that are difficult to follow" I don't think showing off a Python one-liner as an alternative is the greatest example. That one-liner is doing about five things that could have been separated into steps to show off the relative clarity and flexibility of the approach. It is better...that example just doesn't do a good job showing it.
I find engineers almost never using spreadsheets, ever for clearly tabular data. My coworkers certainly never use nested-ifs. Many times they will put a crappy table into jira instead, which multiple team members will be overwriting each other's work.
First sentence of the post?
>My fundamental rule is Don’t, but a single word wouldn’t make for much of a blog post.
That said the gist of the article is that don’t use spreadsheets for things that are too complicated. If you restrict yourself to simple things then Numbers is perfectly cromulent with a nicer UI than Excel.
>gist of the article is that don’t use spreadsheets for things that are too complicated.
the OP appears to have never, ever, met a problem where his solution wasn't "make it way more complicated than it needs to be" - go look at the first page of his blog for proof.
Spreadsheets are good for ad-hoc tasks on small-to-medium amounts of data (let’s say the old 64k row limit) of medium-to-low complexity. In practice, that covers a lot of tasks.
The problem is that Excel is the only flexible tool many people have so they bend it to do everything in lieu of anything better.
Most of what is in TFA is correct but it only begins to describe the problem.
My takeaway is very simple: the world runs on broken spreadsheets that are full of bugs and wrong assumptions. And the PowerPoint presentations are shown to business people taking decisions based on the wrong numbers coming from those spreadsheets. And it's the world we live in.
> It was common for the data to be split over two or more sheets.
And when the sheet are separated, for example, by years, that's even more bugs. Stuff is counted twice. Others not at all. The concept of when an entry should be "closed" when it's opened on year X and closed on year "X + 1" is something that bewilders spreadsheets users.
> and errors as the spreadsheets grew or were adapted to new data
Errors in spreadsheets are the big one: spreadsheets are full of errors.
> Another problem with spreadsheets is that the amount of data they can contain is more limited than when you use other data analysis workflows.
Another gigantic issue is that the notion of time is broken in dynamic spreadsheets: not because a spreadsheet cannot be written to correctly deal with it. But because the spreadsheet users don't know how to properly model how values relates to varying time (typically the spreadsheet shall work, for the cell that fetches the value, for the time value of "now" and that's it).
> I know there are lots of people who love using spreadsheets.
It's because you can cosplay being an actual programmer when you're not. The result, sadly, is exactly what you'd expect: buggy spreadsheets full of broken assumptions.
Which are then sent to those meaning real business to be rewritten as dedicated apps...
P.S: as of now I'm working on finance stuff... Same old story: a spreadsheet that has overstayed its welcome, it became gigantic. It's a pure mess of fetching values (and fetching way too many values, which creates technical issues) and bogus little things left and right. So what are we doing, again? Porting that spreadsheet to a proper dedicated app that can, correctly, deal with a proper amount of data, while fixing all the little glitches and gotchas too complicated to fix in a spreadsheet.
I find Excel slower than Python for analysis but I share a lot of data modelling with non technical people, and we both like being able to verify the results with pivot tables and functions typically (I need my work to be easily “defensible” because often facts are different from someones “feelings”). So workflow has become something like:
plan -> code -> generate outputs -> generate an XLSX -> verify with pivots/functions ->share with stakeholders
Python pipeline does the transformation and modelling, excel is review/verification, sharing layer.
The (sorta) issue is that the workbook becomes an output, not a source of truth.
People can add pivots and review tabs, but I ask that they provide corrections/feedback outside of generated sheets (otherwise those changes will disappear the next time I run the pipeline and recreate the workbook).
Unfortunately I’ve never found a SQL UI tool that optimizes for fast data entry in interactive use. Most UI don’t even allow the use of arrow keys to move between cells.
OTOH, there are people who have no background in computational thinking or software development churning out spreadsheet nightmares w/ no regard to accuracy or maintainability. Anecdotally, they seem to be the people most attracted to glitzy formatting features, "no code" automation tools, and frightening nightmares of "linked" spreadsheets.