Prototyping the Next Vision in Spreadsheets
Hello fellow #WorkplaceInnovators, busy prototyping your next vision in #spreadsheets. π Consider "Spreadsheet Dysfunction #1" on our top 10 list ...π
#Versioning. Did you know that the simple βSave Asβ feature can spread a bit of chaos and confusion? "How", you might ask? Versioning should be a good thing, right!?
Yes, it should be a great thing to version and store the history of your data. And done right, it can be. Versioning will allow you to dig through and ask β βwhat was that information ... at that time?" π€
But a few challenges may come up: βοΈ
Your teammates may become confused about the source of truth with multiple copies floating around
Uhhh, YOU may also become confused (never happened to me!), and start working from an older copy
Someone else may build other work products based on your model, and start their own development cycle β¦ only to come back to you later to find that your version is now completely different and won't link up
Inevitably, you may βforkβ your data model by making changes in only some versions, and a future reporting need may arise that only later exposes this weakness.
For example, if you save a monthly copy of a sales forecast, and then only later, accounting asks you to introduce an entirely new factor into your model β¦ you will have no way to easily modify all previous documents. You will have to #refactor dozens of documents, instead of one behemoth with all of the history in one place.
Ack, darn you βSave As!β You struck again ...
ββββββββ
Good news: you can take the sting out of it! Here are a few tips: π©βπ»
β Adopt a clear naming convention such as a #suffix with YYYYMMDD. That might be good enough to avoid the βFinal Final Copy 2.0β naming that youβve seen around!
β Be the nerd who defines #roles and responsibilities in a tab on the sheet, or in a footer in every email. Whose document is it to own? Who can send it along to others?
β Consider locking down the workbook entirely, providing only #readOnly access to others. You may feel like a control freak, but theyβll thank you later!
Lastly, consider what true versioning could look like in a proper #system. Ideally, a #relationalDatabase can help you:
version and distribute your models to others while tracking metadata (who versioned this, what is included, why and when),
allow you to revert a version, and
allow you to keep your data model fully intact for future needs that might arise!
Thank you for reading!!! More to come on this topic next week.