I think the general view throughout development is that it is often easier to rebuild something from scratch than it is to fix/understand someone else’s tortured logic.
Personally I find that even more true for spreadsheets, I routinely re-copy and paste formulas across blocks rather than check they are consistent, for example.
But I wonder if spreadsheets are a special case?
I think its generally quicker to build most systems in a spreadsheet than in a more mainstream technology (database or code). And I think its harder to test/check/understand someone else’s spreadsheet than it is someones code or database. I don’t think this is just down to the skill of previous developers. I really think that spreadsheet technology itself is challenging to un-pick.
This seems like a double whammy, easier to build + harder to adapt surely means very few spreadsheets will get maintained?
what do you think?
My experience is that as business requirements change it is very common the throw away a spreadsheet and commission a replacement. But maybe when I think about it I am given the choice, and I usually choose to use only very limited parts of the legacy app.
I also wonder if this ‘disposable’ mentality is self fulfilling? No one expects the model to last long so no-one is prepared to invest a decent amount of effort to get a solid, adaptable version?
Or is it desirable, as per Fred Brooks suggestion to plan to build 2 systems, because you will anyway?