Pet Tricks

June 22, 2008 by
Filed under: People 

Have you ever run into a situation where all else seems to fail, so you resort to measures that you hope will work, but really don’t know if they will make a difference? Of course you have. If you have ever worked on Windows before, you probably know the most common pet trick of all: ctrl-alt-del.

Even on a Mac I have a few pet tricks that I try when an application freezes up (despite what people might say, Macs are not perfect – though most application freezes still come from Office). I’ll put the thing to sleep and wake it up again, I might close the offending application, I might even – gasp – reboot. These pet tricks are far more common that many people may think, and they can be a valuable sign to watch for.

There are certainly times when these tricks are appropriate. If we have just installed a new application under Windows, for example, it can be perfectly appropriate to reboot the system to make sure everything is registered correctly. If we are about to define goals for a new project, it is fine to remember the acronym SMART to ensure that the goals are specific, measurable, attainable, realistic, and time-bound. Indeed, the more of these tricks we have up our sleeves, the better equipped we are at handling any situation that is thrown at us.

The problem lies when we use these tricks we have to try to fix something where we don’t really understand what is happening. If we don’t really understand what is happening, it is very unlikely we will be able to correctly deal with the issue.

We have all started out with these pet tricks early in our careers. As we are developing code, there will be times when we try to compile our application, and we have this feeling of hope (or dread, depending on experience): we don’t know for sure whether it will compile cleanly, but it sure would be sweet if it did. In this situation we are usually disappointed, and we fall into the trap of addressing each compiler error (or warning, if we haven’t turned these off completely) until it is error free. We’re no longer developing our module with the intent of making it do what we want it to do, we are fixing problems until there are no apparent problems left. It is a safe bet that we still don’t have an application that does what we originally intended. Our focus has shifted to fixing bugs, not solving our original problem.

The pet tricks exist for everyone in the enterprise, and for consultants as well. No matter where we are in the hierarchy, no matter our job function, there will be times when we are not equipped to understand the root cause of the problem and hence provide a reasonable solution.

Project managers that don’t understand the interplay between estimates and constraints will often cram all expected scope into the time constraint provided, then use pet tricks like negotiating down these estimates to try to make the system work. Testers without a strong foundation in equivalence cases will throw everything but the kitchen sink at a problem, but still miss some key cases.

One of the most memorable pet tricks I have seen in action came from a consultant, many years ago. We had a management coach in to help us resolve some issues within our organization, and we got to a point where the situation was quite intense: very strong emotions on all sides, many of these emotions quite negative and adversarial. The coach, who was clearly versed in how to handle the ‘happy path’ of management coaching, fell back on a pet trick: “Usually, when I am in this situation, I rely on the acronym…”. I can’t recall the acronym he suggested, but I do recall that it clearly didn’t help the situation. Pathetic.

We need to watch for pet tricks in everything we do, and watch for them in others as well. No trick will work in all situations, and the over-application of these tricks are clear signs of desperation and a lack of understanding of the underlying problem. While the three-finger-salute will probably go down in the annals of history as the most commonly applied pet trick, there are many others to watch for. If we see them, we need to step back, understand the real issue at hand, and apply a solution when we have confidence that it will address that real issue. Grasping at straws can make the situation even worse. – JB


Feel free to leave a comment...

  • What’s Happening

  • On The Road Again

    Jim frequently travels across Western Canada for engagements, and welcomes opportunities to meet, run a workshop, Diagnostic or Lunch and Learn session.

    Contact Jim if you would like to connect around any of the upcoming dates:

    • Blissfully at home in Vancouver, BC over the summer!
  • What People are Saying

    If your desire is to effect change or have more influence on a software team, you could either stumble around in the dark for a few years, experimenting with different techniques, or you could buy, read, and apply the techniques in this book. This choice, of course, is up to you.

    — Matt Heusser