6/15/2007

The Arrogance of Complacency

Nobody in the game of football should be called a genius.
A genius is somebody like Norman Einstein.
- Joe Theismann


Time machine: It's 1986. I'm on the 20th floor of an office building in downtown Orlando, where I work as a commercial real estate and mortgage broker for a national real estate firm. The top music video on MTV is Steve Winwood's "Higher Love" with Shaka Khan on backup vocals. Ella Fitzgerald , First Lady of Song, has died.

We are looking out the office window at the Challenger shuttle takeoff, and suddenly there is a large voluminous plume of white smoke going off in all directions.

I was the first and only one to say to my co-workers, "Something is wrong. I think the Shuttle just blew up." I believe this is when I first became aware of the arrogance of complacency. The reports that came out later, and the Columbia disaster report from the more recent disaster, were eerily similar:

"For both accidents there were moments when management definitions of risk might have been reversed were it not for the many missing signals -- an absence of trend analysis, imagery data not obtained, concerns not voiced, information overlooked or dropped from briefings..."
the report said.

There are parallels in the software development industry as well as in other industries. The Arrrogance of Complacency is partly responsible for Boeing being able to eat Airbus's lunch, and for companies who have otherwise great products and ideas that fail. To the outsider, it's often quite obvious what is wrong and yet, the insider's mind is so clouded by the Arrogance of Complacency that they fail to even get a hint. They are rearranging the deck chairs on the Titanic in the false belief that they are moving forward and progress is being made.

And of course, most recently, we've got computers that won't reboot up at the Space Station.

The signs of the Arrogance of Complacency are obvious enough: Managers / business owners who seem to have some kind of "holier than thou" attitude; who refuse to recognize / admit that their original business or marketing concept is no longer working and needs to change, who bully others in their organization into submission to their will.

Not long ago, I worked for a company that suffers from the Arrogance of Complacency: a company with a technologically superior product and the potential delivery system to bring it to profitable fruition. And I saw all the symptoms as I watched this company literally wither away and its stock begin to plummet as investors began to realize that management simply was too arrogant (and complacent in its position) to have a clue about the most basic things it needed to do in order to move forward. I'm talking about really basic things: A four year old startup that still cannot even do billing? With a top company official who believes the way you make your stock go up is to put out exciting press releases..

From the development perspective, you may see projects that are completed and tested, yet never seem to be able to make it into production, and you may see a lot of what I call "band-aid code".

While this is more of a philosophical concept, it still holds great import for you and me as programmers. When you see the signs, it's an almost unmistakeable metaphor for "time to get out of Dodge".