4 minute read

Feeling Fobbed Off

Next Article
Client'Ell

Client'Ell

Lew gets frustrated with bug diagnosis.

A few years ago, the CD/radio in the family car stopped working (yes, it was an old car with a CD player). It simply stopped switching on. So I popped open the fuse box and began taking out all the fuses, looking for that burntout melted one and hoping for a quick fix.

To my surprise, all the fuses were fine. But the weird thing was when I unplugged the fuse for the boot locking system, the radio worked. Meaning I could listen to music but couldn’t open the boot. When the boot worked, the radio didn’t.

To my amateur mechanic brain, this looked like an electrical fault; wiring, corroded connectors or perhaps a dead mouse curled up in a secret panel.

I bobbed the car down to my local auto electrician, explained the problem as he looked perplexed and left the car with him. Several hours later, he called me to collect it.

The poor chap had spent ages looking at the electrics, the fuse boxes, the wires and consulting with his colleagues in the garage.

When I arrived, he explained that it was none of the obvious but the key fob, which had unpaired itself from the boot locking mechanism, so the doors unlocked and locked by pressing the button, but the boot did not. For some unknown reason, this caused the radio to stop working, as that also relied on the key fob. He reset the key fob and paired it back up, and everything sprang back to life.

What turned out to be a 10-minute fix took hours to hunt down. And this is what it’s like with bug fixing and LMS development. As a PHP developer, I spent more time locating the bug than I do fixing it, much to the client’s dismay. “Surely it’s a simple fix”, they say. “It shouldn’t take that long, should it?”

But that’s the weird thing with software development: people accept when a mechanic or electrician spends ages locating the issue, and we all pay whatever invoice we get as a result. We may moan about the cost, but we are grateful because we needed the fix, and we couldn’t do it ourselves.

So why, then, are people surprised if I charge them for my time locating a bug in software I didn’t write? I wrote an article in DirtyWord a few issues back called “Charging your worth”, which covers this very topic. I had to pay the auto electrician for the time he took to find the bug and the time he then took to fix it. Luckily, he didn’t “fob me off” (I’ll get my coat).

Finding bugs is an art in itself. Replicating another user’s browser, their JavaScript settings, caching and operating system just to replicate the issue is just one step in the process. This is before we trawl through millions of lines of matrix-style code. Then we update the code, test and retest before finally asking the client to give it a “refresh”. Only to be told it doesn’t work on their system still!!! And then we try something else. Sometimes, it feels like a sick game of “whack-a-mole”.

Learning Management Systems are complex beasts, much more complex than a blog site or simple CRM. LMS platforms do more than one job, and there are so many dependencies - this is why bug testing and fixing takes so long. It can often turn out not to be the code but the bloody key fob. And it doesn’t matter how experienced you are or how many cars you’ve fixed, there’s always something new to surprise us and have us looking in the wrong place.

When it comes to our cars, we appreciate that even seasoned mechanics will need to put in the hours to diagnose a problem. An LMS? Maybe not so much. Making clients aware of this at the start of a contract should help to smooth out any difficult diagnoses further down the road. It’s also an opportunity to point out the importance of regular maintenance and testing, so potentially a chance to sell a service and support package. If it’s good enough for car dealers, it’s good enough for e-learning devs.

Now, does anyone know why my tyre pressure sensor keeps beeping at me?

This article is from: