Coding With Blinders On

I saw a horse pulling a carriage the other day and noticed that the horse had blinders on. Blinders are those square pieces of leather on the side of each of the horse’s eyes. It prevents the horse from becoming distracted and allows it to focus on moving ahead when trotting among the city traffic.

I’ve seen developers trotting along with blinders on too. They are working so intently on a piece of code that they only see one aspect of a problem or one way to interact with a screen. I certainly experienced it myself back in the days when coding was my primary work focus. I remember developing a truly elegant screen with highly optimized and concise logic. A true piece of art! I tested it vigorously and it worked flawlessly just as I had expected. So, I handed it off to that project’s Independent Verification and Validation (IV&V) team for testing. The IV&V team’s role was to review and test the different aspects of the system from inception to final deployment and beyond. They were an independent, extra pair of eyes that placed themselves in the end-user’s shoes and ensured that the system worked as the client (not the developer) was expecting.

I fully expected to get nothing back from them but praise and accolades. However, within minutes, they had broken my beautiful screen, causing a dreaded system error. “What did you do to my baby?!” I asked. All they had done was use the Enter key after typing in some data instead of using the mouse to click save. The logic just wasn’t prepared for that.  In all my testing, I had always used the mouse. My coding blinders had given me tunnel vision and it took an outside person to find the defect. I was actually quite grateful since I certainly wouldn’t want a data-entry end-user to have experienced that error in production.

I’m sure we’ve all experienced something similar.  Like when you are stuck on a crossword puzzle. What’s a four-letter word for “to expel rapidly”? It has to be “spew” but that just doesn’t fit with the other words. Then, someone comes along and casually says, “gush”. Why didn’t I think of that? The answer is “blinders”!

Clearly, blinders are good for horses but not so much for coders. An IV&V function offers a different perspective that effectively counteracts the tunnel vision caused by developer blinders and is critical for delivering high-quality solutions.

Leave a Reply

Your email address will not be published. Required fields are marked *