False finishing touches


I just spotted a comment over on El Reg that really made me think. The story was about some possible plastic bag law they are on about implementing in London. Living about as far away from London as is possible whilst staying in England, the bag thing is likely to have a minor (if any) impact on my life.

But the comment – its just a ‘false finishing touch’ designed to make you think all the higher priority issues have been resolved. And we are invited to look around for other examples. That really caught my eye.

Well one springs straight to the front of my mind:

I’m thinking of one spreadsheet model in particular that I had the misfortune to maintain. With a lovely graphical flow chart front end that looked total quality professional. And some of the roughest production VBA I have ever seen behind. (FFT for sure)

I use that code as an example of what not to do in VBA training sessions. At the conf last year another maintainer of that app sat smirking all the way through my slot. I could only show some mild examples for confidentiality reasons, he knew the full gory mess. He left the country to get away from maintaining it.

I’ll be demoing it again this year in my VBA quality slot as I still haven’t come across anything worse.

The visual beauty of most spreadsheets I see is inversely proportional to the underlying quality. The more polish, the more ugly underneath. Of course there are exceptions, but I have learnt to be wary of attractive spreadsheets.

Of course, I’ll hold my hands up to not being a UI guru which may influence my views.

Oh – I’ve just been reminded of another (bit of a cheap shot maybe?). Most people would agree Excel 2007 is pretty easy on the eye, and there do seem to be many eye candy developments, shame then that the code adding up bit didn’t quite work eh? Bit of premature beautifying maybe?

What about you? any other examples of FFT? seen any ‘lipstick on a pig’ spreadsheets recently?



5 Responses to “False finishing touches”

  1. Marcus Says:

    Umm… what’s FFT stand for?
    (you’ll have to pardon my ignorance)

  2. Marcus Says:

    Sorry – ignore that. I’f I’d only read the title properly.
    (Hanging head in shame)

  3. Rob Bruce Says:

    Er, look at the title of the post, Marcus.

  4. Marcus Says:

    Hmm. I don’t know if the correlation holds completely true. I’m sure we’ve all seen crapping code with a pretty interface and prose of code with a crappy interface but it doesn’t automatically imply that under the bonnet of a Porsche beats the heart of a Lada.

    Cheers – Marcus

  5. Rob Bruce Says:

    Around a decade ago I was asked to build a dashboard application for the board of directors and senior management for a major retailer. Unfortunately, no one could agree on specifications or even scope for the project, so, having had my schedule completely cleared to work on such a vital project, I was at a bit of a loose end. I took the opportunity to mock up a user interface. Using my experience of the kind of management requests I’d had over the previous couple of years, I added all of the features I thought they’d be interested in. This was total UI fluff, no actual business code at all, but it taught me a huge amount about usability, so the time wasn’t wasted.
    Eventually my boss and I got called into a meeting where the specs were finally to be signed off. In order to contribute, we took along a Powerpoint presentation to demonstrate some of our UI ideas.
    By pure fluke (or maybe by my skill and intuition with business systems) I had pretty much covered all of the reporting requirements in the mock-up, and they were bowled over by the finely-honed design of the UI.
    You know what’s coming, don’t you? Because from the screen shots the application looked so finished, it was impossible to convince anyone that the application wasn’t even started yet in any meaningful way. We were awarded an impossible deadline to get the thing up and running, and as a result hacked together the most atrocious rubbish you have ever seen, just to get something out that appeared to work on the desktops of the board.
    I clearly remember hard-coding stuff that would be guaranteed to break at the end of that calendar year. I also recall including several Y2K issues (this was 1997), and working on several big assumptions that we knew were simply wrong. At the end we didn’t even have time to tidy up recorded macros – if they worked with screenupdating turned off, they were in.
    All of this was done with the intention that “once it’s out there we can go back and gradually patch it up”. What actually happened was that we had to assign someone for three to four hours every morning to fix up the previous day’s bugs.
    A couple of years later when I left the company, much of the application was still as we had written it. Indeed, some of the worst code had actually been copied and pasted then tweaked in order to respond to business expansion. Only those sections of the application that were just plain wrong were ever re-written.
    So, not really false finishing touches, more like, false starting touches, or, as I always used to describe it, building a skyscraper from the top down.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: