The Existential Pleasures of Flogging

  1. Posted on May 6, 2007 12:17:PM by Earl Beede to Practicing Earl
  2. humor, defects, flog, Management

In my last post I spoke about how some moron is going to cause you to go Arrrgg! by doing something stupid with your product. Unfortunately, that appears to be a fundamental truth. I have been pondering why some moron does the stupid thing when Steve McConnell's inaugural post lead me to another conclusion: it is as fun as heck to flog somebody else's product.

That is just it. Whipping and beating your own product is about as enjoyable as a warm tuna sandwich with way too much mayo. You can eat it if have to but you rather not. However, flogging some other poor soul's attempt at product perfection is a way to bring them down to their existential, earth-bound reality. When I have to flog my own work, I call it testing and I hate it. When I get to flog somebody else's stuff, well, then it is play time! I don't have to check out every part of it, I don't have to calculate coverage or trace back to every requirement, I can pick and choose the spots that seem interesting; the spots that are mostly likely to cave. I can invoke moron creativity and try clicking on that button while holding down the print screen key just because I can.

I had one of you flog me recently. That person (who will remain nameless but I will call Bruce) attempted to use this site's email system to send an email after he had 1) composed a system email 2) opened up a new tab and 3) logged off the system. So, surprise-surprise, when he tried to send his email, the system said something like, "You need to be logged in, you bozo." It probably didn't say the "bozo" bit but it should have. Then -- as he writes me oh so formally -- the system had the audacity to return him to a blank email form after he logged back in. "It should have populated the system email with the original text," wrote Bruce-who-is-nameless (I guess in some other email system). I personally am not sure how, since there was no database connection to save the text but, hey, this is where the existential pleasure of flogging comes in.

When I flog, it is not about what is best for some undefined customer or world peace or the improvement of humanity. It is doing what I want to do in the way I want to do it. It is a fully self-focused, down-to-earth, gritty reality of my own best interests when I flog. I don't have to limit it just to software or products, I can flog away at any personal injustice that I deem worthy of my attention. I am sure that many governmental rules are the result of flogging. I recall that a once mighty sports stadium in Seattle, the Kingdome, had to change its railings because some drunk climbed up on them and fell off. That is flogging at its finest; morons do something stupid so we all need to change. Think of the overload of politically correct speech and you can see flogging at work.

The obnoxious point is that it would be better if the system populated the email, the Kindome didn't kill people (even if they are unbelievably stupid), and that we all respected each other. A good flog isn't wrong, it isn't even necessarily petty (though it often is). It is, however, the exception rather than the rule. It is what happens to the one rather than what happens to the many.

I believe it was the comedian George Carlin who pointed out that all people driving faster than you on the freeway are maniacs and those driving slower than you are idiots. It is the rationalization that *I* am the special one that brings the true pleasure of flogging. It reflects well my experience with the world.

Only, don't flog my products, kay?

Earl Beede said:

May 9, 2007 4:07:PM

The Bruce-who-is-nameless has fessed up. If you want to see his reply, look here:

Mage2k said:

May 19, 2007 5:45:AM

I was going to suggest that we try to imagine what it's like to be inside the head of someone who gets paid to flog other peoples hard work.  Then I read Bruce's commentary linked above.

Blue Sun said:

May 19, 2007 11:22:PM

If it weren't proprietary, I'd send you the source to my slapUser() method.  Its handy when somebody tries to do something ingeniously idiotic, like enter a negative number for his age.  

For that matter, its amazing how many programmers never even test for errors of that sort, et alone apply an appropriate discouragement against repeating the experience.

Maybe we need a forum on the lost art of unit testing.

Wolfgang said:

May 20, 2007 4:30:AM

According to George Carlin the world consists only of maniacs and idiots (except for myself of course). Unfortunately, as software professionals, we have to deal with this reality. We have an obligation to account for the fact that other people think differently than we do and therefore they do things we may not anticipate. Slapping them for behaving like morons does not solve the problem.

For me, the topic of degrading poduct quality has become a preoccupation as of late. Since I left my company a few months ago I can no longer call the sys admin guy when something goes wrong. I now find myself spending an inordinate amout of time just working around problems in MS Windows. My 9 months old Dell laptop needed already a new keyboard and a new screen. My 4 week old HP printer had already to be replaced by a new one. MS Outlook just corrpted its own file system and is now temporarily unusable. At a recent routine check the imaging software of the CT scanner crashed. Granted, I may be a moron and have the Midas touch, but I am now approaching software and hardware systems with a lot of caution just to avoid running into time wasting defects.

The dilemma is obvious: software (and hardware) is getting a lot more complex and hence more difficult to develop and to test. In addition product cycles keep getting shortened due to financial and competitive pressures. These are the economic realities that drive our profession. My question: how long and how far can product quality diminish and how can we maintain or re-establish the status of a credible profession?

Earl Beede said:

May 20, 2007 11:02:AM

Flogging is not using the software in the expected way and complaining that it is not working. Flogging is when I do something that is so personal, so one off, that I should be surprised that it works at all. Like driving a car off a cliff then complaining that it didn’t fly. (Well, except for flying straight down.)

Flogging comes more from not taking the time to learn about what the program is supposed to do (granted that some things should be transparent), trying to make it do something it wasn’t designed to do, or doing something that very few people would do.

So to Wolfgang’s comments, it sounds like you are trying to use the software as designed and it is failing. That is not flogging, that is just poor quality and should be called out. And to Blue Sun’s comments, I doubt you really want to create a scenario for every possible exception case and test that. What you want to do is to create scenarios for most likely mistake scenarios and then a generic one (perhaps the slapUser) for the weird things. However, I agree that some developers don’t do enough thinking to even identify the most likely mistake scenarios. So, start a thread in the forums in the quality and testing section. It would be fun!

Post a Comment:


Earl Beede

Earl Beede, CSDP is a Senior Fellow at Construx Software, where he designs and leads seminars and provides consulting services on early project-lifecycle practices, estimation, requirements, quality assurance, contract management, and software methodologies.

With more than 20 years experience as a quality assurance representative, systems analyst, process architect, and manager, Earl has designed and written software development processes for companies across a wide variety of industries. Prior to joining Construx, he held quality assurance and systems analyst positions at organizations that include the Department of Defense, Boeing Computer Services and Verizon Wireless.

Earl has a Bachelor's degree from the University of Washington. He is a member of the IEEE Computer Society and a past coordinator of the Seattle Area SPIN (Software Process Improvement Network).


Contact Earl