I am currently involved deeply in a project that replaces an exisiting spreadsheet-based production-planning system. The existing user-maintained document is one of the most dangerous spreadsheets I have ever seen.
But when contacted to help on this I made a terrible mistake right up front by not applying one of my most iron-clad rules of development – namely:
“The results are ALWAYS better for the client, the Business Process and for myself when I do an application from scratch rather than trying to fix an existing model or database with chicken-wire and bandages…”
In this case we have several long-term employees who are very afraid of change and who rely on this document for all their planning and ordering for a series of manufacturing plants. And I caved…
Whether this should be done in a spreadsheet is a legitimate question, and considering I kind of agree with that, I have integrated data automatically downloaded from Corporate EDI systemsinto the backend and now a process that took 2 people the better part of a day to do manually (and with a HUGE potential for error) the population now takes about 25 seconds, eliminates errors in transposition and leaves them time to do the analysis and real planning they should be doing. But by integrating the old 800+ row model as the presentation layer the process has taken much more time and effort in design and rconciliation than if I’d stood my ground up front.
Another lesson re-learned ….
I think it’s harder to sell the client on that rule than sell myself. They’ve invested so much in their monster spreadsheet that they think it has value. What they don’t get is that it’s the lessons from the monster spreadsheet that have value, not the spreadsheet itself.
Yep – and this is the kind of situation that gives spreadsheets a bad name. Unfortunately the IT manager there is a long-time client and friend and it’s virtually impossible to say no… Life sucks sometimes..
I rarely get to design from scratch, and that just seems to be where the business is for consultants. On the plus side, they do learn more when you fix their designs, then when you build it from scratch – sure the design is not as efficient and clean, but they get to see better ways of doing something they started
Hey Charlie …. I guess that’s some consolation :-). But most times the problem is still there and the support becomes a serious “tar-baby” for as long as they use the model or app that is NOW you’re responsibility …
Personally I don’t risk the added tension at the beginning of a relationship to convince them to use me and to convince them they need to rewrite it from scratch – once I have done enough work for them, then there is that level of trust. And I do like them to feel that they can continue to modify the application on their own (makes my rates more tolerable) and if I design from scratch they really feel that it is beyond their capabilities