Getting Good at Being Bad

[article]
Summary:

Everyone should know by now that a problem caught early is cheaper to fix. But how many companies behave as if this is really true? In this column, Linda Hayes explains why protecting management from the truth about project problems may not be the wisest course of action.

Have you ever heard the saying: If you don't have time to do it right, how will you find time to do it over?

But the reality is that we do, in fact, seem to find enough time to react to problems but very little time to prevent them. Everyone supposedly "knows"—or should by now—that the earlier you catch problems the cheaper they are to fix, but how many companies behave as if this is really true? Few, in my experience, and it seems to be getting worse.

Instead, I see elaborate (and expensive) coping mechanisms for recovering from mistakes. I've seen two complete versions of the production environment maintained so that anytime a change causes an unexpected issue, processing can be rapidly cut over to the pre-change state. Recovery can be so quick that management may not know there was a problem.

Ironically, these same companies can't seem to afford stable, controlled test environments and enough time and people to provide the test coverage it takes to avoid these hiccups.

I also hear hair-raising tales of a tidal wave of projects, not enough time or people to test, close calls and errors that escape like lunatics into production…followed by late-night pages, frantic fixes, and one more bullet dodged. I've listened to managers deny vacation time scheduled around a major release because everyone has to be at their battle stations. I'm stressed out just hearing about it, yet everyone acts as if this is normal.

Maybe the reason management doesn't invest in quality improvements is because they aren't feeling any pain. We're so good at coping with, recovering from, or covering up disasters that from management's point of view, things are working fine as they are. Why should they change?

It reminds me of a story about Catherine the Great of Russia. She planned a cruise down the river to survey the empire and members of her court actually arranged for a team to precede her, building fake village fronts and rounding up peasants to pose as happy, healthy, and loyal subjects who cheered her as she floated by. Of course the opposite was true, the peasants were living in desperate poverty. The ultimate irony was that once she grasped the actual situation, she proved to be a formidable force for social change and improvement in living conditions. Hence, the Great part.

So, are we really doing management—or ourselves—any favors by creating an illusion? If it is really true that we end up spending much more time and money trying to fix problems in production than we would earlier in the lifecycle, then aren't we shooting ourselves in the foot to avoid and deny the reality? Are we robbing resources from improvements and wasting them on defenses?Now, I'm not advocating that we become whiners, wallowing in past mistakes or dwelling on dire predictions. But there is a big difference between dealing with issues and covering them up. Successfully dodging a hail of bullets on your way home is not the same as living in a safe neighborhood. Just because production wasn't down (or at least not for long) doesn't mean there was no impact: There is a very real cost in terms of loss of productivity, lower morale, and increased stress. And, of course, every so often there is a problem that can't be covered up or recovered from quickly enough.

The best strategy is somewhere in between whining and denying. It should be imperative to identify any issues that occur in production and perform some degree of root cause analysis—not for placing blame but for figuring out how it could have been prevented. These incidents should also be tracked for trends—is production becoming more or less stable over time? Are process improvements having any effect? One of the most successful test managers I know of consistently receives his requested budget by demonstrating a direct impact on production incidents.

What is the culture in your company? Is everyone so focused on how things look that they are ignoring how they really are, or is honesty permitted, even encouraged, as a means of improvement? Does your management really grasp the risks of cutting quality corners along the way, or do they think they are getting away with it?

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.