Precise and Robust

February 2017 ยท 2 minute read

Last night I booked a haircut online. Not the first time with this local place. Within walking distance and full of staff makes it appealing. Today I went in spot on time and the person I booked had already started with someone else. Confused I looked at my watch and at the reception guy. He started clicking and mumbling - “this is the misunderstanding around the ‘booking’ system.” Still confused he said “well we look at your history and since you saw someone else the last few times we figured it’d be…”. The sentence never really ended. I said “I saw the same person I booked last time?” to which he jumped in and said “no you didn’t, you saw Steve”. Lets be clear here. I saw a girl named Kerri last time and after a good chat about her IT boyfriend and her mission to fix the worlds sense of style one haircut at a time, I’m pretty confident it wasn’t a Steve telling me these words.

I confess I told him his booking system was bad. I believe the words I used were “pretty screwed”. He took it a little personal and showed me the screen. But my words were quite specific. He was telling me I was wrong based on a system that had previously not stored my phone number correctly, not used my Facebook details correctly and now was reporting that I was remembering wrong about my last haircut.

My problem with all of the above wasn’t that the hairdresser was arguing with me as part of a customer experience encounter (sure not great). It was not that I wasn’t going to see the person I had expected to. It was that in a time where we have such interconnected systems and technologies, how did this error prone system exist?

Every single IT person that exists in this modern time should expect more and deliver better. We should not think about 80% success rate as good enough. Our unit testing of error handling should demonstrate we are at the 99% level with the occasional solar flare being the only known reason for a technical glitch and even then our alarming helped us find the error.

Make your code precise and robust, then prove it with automation.