Lazy thinking: IT shibboleths, sloganeering, and sacred cows

At one company I worked, the executive team had worked up a list of core corporate values. There were 11 of these values, and they were mentioned and pushed in every company meeting.

In fact, “Goals and Values” wallet cards were handed out to each employee.  And let me make sure I affirm one important thing here, prior to what I’m about to say: these were, without a doubt, very worthwhile values: “Stay close to our customers”, “pursue excellence in all we do”, and so on. Note that I still carry this wallet card with me today, two decades later.

But here’s the thing: the values, despite all their great qualities, became cliches, overused, cited on every conceivable occasion and for every possible purpose. I remember the company president at the time: he even roamed the halls every once in a while, popping his head into random conference rooms, barking one or more of the company values at the nonplussed attendees: “Well? Are we staying close to the customer?” And in almost every meeting, people would spend substantial time itemizing earnestly how well a proposal fit in with the values, sometimes more than the time they spent explaining the actual pros and cons of the proposal itself.

Here’s where I’m going with this (and do hang in there for the connection I’ll draw specifically to IT): easy references to the goals and values became for many a substitute for actual thinking. And substitutes for actual thinking are seductive and rife.  But alas, good ideas and concepts, even when innately wise and useful, can turn counterproductive when simply used de rigueur and without thinking. Most insidiously: they can be used to justify what you want or don’t want to do anyway, often for reasons you can’t or won’t state transparently. [Read more…]

IT extremism strikes again: the odd resistance to bug tracking

In information technology and software development, how many of our wounds are self-inflicted?

Here’s what I mean.

What I’ve seen happen, recurringly, in IT over the years and decades: idealistic but inexperienced people come along (within IT itself or in other departments within a company), to whom IT systems and issues seem to be easier than they in fact are. They are smart and earnest and oh-so-self-assured, but they also seem blissfully unburdened by much real understanding of past approaches.

They are dismissive of the need for much (if any) rigor. They generalize often quite broadly from very limited experience. Most notably, they fail to understand that what may be effective for an individual or even a small group of developers often doesn’t translate into working well for a team of any size. And, alas, there’s usually a whole host of consultants, book authors, and conference presenters who are willing and eager to feed their idealistic simplifications.

Over the years, I’ve seen a subset of developers in particular argue vehemently against any number of prudent and long-accepted IT practices: variously, things like source code control, scripted builds, reuse of code, and many others. (Oh, yes, and the use of estimates. Or, planning in general.) To be sure: it’s not just developers; we see seasoned industry analysts, for reputable firms, actually proposing that to get better quality, you need to “fire your QA team.” And actually getting applauded by many for “out of the box thinking.” Self-inflicted wounds.

But let’s talk about just one of these “throw out the long-used practice” memes that pops up regularly: dismissing the value of bug tracking.

How can anyone argue against tracking bugs? Unbelievably, they do, and vigorously.

A number of years back, I came into a struggling social networking company as their first CTO. Among other issues, I discovered that the dev team had basically stopped tracking bugs a year or two before, and were proud of that. Did that mean their software had no bugs? Not when I talked to the business stakeholders, who lamented that nearly every system was already bug-riddled, and getting worse by the release.

Why did the development team shun bug tracking? That wasn’t quite so clear.

[Read more…]

IT does the moonwalk: our endless search for absolutes

Scene: I was CTO at a high-traffic social networking site, circa ten years ago. It was one of those times when our site got crushed by unexpected sudden volume, due to being mentioned in an article in a prominent newspaper. My infrastructure manager walked into my office the next morning, ashen-faced. “We’re gonna get killed tomorrow unless we add ten front-end servers to our prod environment,” he proclaimed. A fairly common IT reaction: absolute, adamant, ominous.

Ten new servers? That was a nice round pulled-from-thin-air number, obviously, and by the time we talked through it, we actually found other, more practical, more feasible ways first to estimate and then handle the increased load. But to the infrastructure guy as he walked in, the situation was both dire and absolute, and he saw only one solution that should even be considered.

So now let’s look at another data point on IT psychology. Take the latest iPhone brouhaha: the quick “cracking” of the iPhone 5s Touch ID fingerprint scanning technology.  Amazingly, Touch ID has turned out to be less than perfect. Someone with $1,000 of equipment, plus lots of time, motivation, and patience, could conceivably fool the scanner. Meanwhile, what gets lost in the outrage over this turn of events is the notion that the technology might indeed be “good enough”, or “better than the alternative”. We forget the simple fact that the technology is primarily oriented to people who currently don’t use passcodes at all, and that it vastly improves general security for those sorts of users.  As one article pointed out, “The point of any security system isn’t to be unbreakable – there’s no such thing – but to be fit for purpose.”

My larger point: if there’s a problem or a difficulty or even a nuance to a particular approach’s applicability, a common IT practitioner’s instant reaction is that the approach or practice is absolute junk and should be completely avoided.

Similarly, we often reject fundamental improvements to a situation, simply because they are not perfect. We let “best get in the way of better.” On this general theme, an amusing tweet crossed my screen the other day. @rands wrote, “I find when an engineer says, ‘Less than ideal’, they often mean ‘Complete fucking catastrophe.’”  I laughed at this, of course, but partly because I’ve more often experienced that scenario in reverse: an engineer deciding, and then loudly and profanely proclaiming, that a situation was nothing short of a complete disaster, simply because it was less than ideal.

[Read more…]

The One True Way syndrome exemplified: the overstated case against code comments

I write frequently, and not without some exasperation, about the perennial search for the “silver bullet” in IT: the holy grail, the end-all, be-all solution to preventing IT failure.

The silver bullet has a very close and similarly pernicious internal twin cousin: the One True Way. That’s a technique or practice that is (usually) adopted by its IT aficionados as the key to overall success, with the important insistence that it will work as long as you follow it to the letter, in all cases, no matter what.

So this post will seemingly be about a specific (and low-level) development issue, but it’s only to serve as an example to illustrate this One True Way syndrome that is so prevalent in IT. At core, my takeaway boils down to the same old message I usually have when it comes to IT matters: be wary of something promising to fix all your problems. Be wary of absolutes. And be especially wary of the combination.

[Read more…]

Valuable vs. fun: learning to love IT Asset Management

My attitude is that if you push me towards something that you think is a weakness, then I will turn that perceived weakness into a strength.

— Michael Jordan

As with so much in life, so it goes with IT: the parts that are fun aren’t always valuable, and the parts that are valuable aren’t always fun. Let’s talk about a hugely valuable side of IT that isn’t really much fun at all. And when it’s not fun, that means that it’s often neglected, and thus turns into a great weakness.

IT assets (hardware, software, systems, services) represent a major investment for most firms today. For “new economy” companies in particular, the cost of such resources (both bringing them on board and maintaining them as corporate assets) often exceeds expenditures in any area other than wages and benefits.

It’s astonishing, then, that firms (not to mention IT management specifically) don’t always embrace the ongoing hard work required to maximize the value of those expenditures and minimize the corporate risks involved. All too often, I see IT asset management (ITAM) neglected by IT executives because, well, it involves a discouraging amount of drudgery to do it right, especially over the long haul. This neglect occurs even more often when an executive succumbs to the latest faddish push for IT to focus on strategy and innovation to the detriment of fundamentals.

[Read more…]

IT entropy in reverse: ITSM and integrated software

Why am I an IT professional? Here’s one major compelling reason: you simply can’t rest on your laurels. You can’t stop learning and growing and examining and improving, in all aspects, or you stagnate and die. The best IT professionals, I’m convinced, work energetically and on an ongoing basis, actively striving to push the scales from their own eyes at every juncture. It’s part of the job.

Last week I had the opportunity to attend what was my first industry conference in almost 8 years, Knowledge12, put on by ServiceNow, a software-as-a-service (SaaS) provider of IT service management (ITSM) software. (See my post explaining why I’ve tended to avoid industry conferences in recent years). And to my surprise and delight, I discovered that it was well worth the time. Let me share my thoughts on why.

[Read more…]

Three IT behavior patterns seen in the wild

Assumed Omniscience, Chooser’s Remorse, and Fixation

With all due respect to the many fine folks I’ve worked with in the career I’ve spent decades pursuing: we IT types can be an idiosyncratic, even odd, bunch.  That’s actually well known to us all, and it generally makes great fodder for this blog.

I find the sociology of the profession—how people interact with one another—as fascinating as everything else about it.  Here are three interesting behavioral syndromes I’ve observed over the many years of IT projects and teams I’ve been a part of. And as with most of my observations of this nature, I’m not presenting them from “on high”: no, I’ve been at times as susceptible to these behaviors as anyone. They’re common, and easy to fall into, but all of them are things I strive to avoid. And all of them have a common thread, as you will see.

One CIO’s “lessons learned” in managing others

Here’s a shocker: none of us has failed to fail at times.

We’ve all screwed things up on occasion, and I’m no exception. And that’s especially true when it comes to managing others, which I believe is very much a learned skill. In that spirit, there are a number of things about people management (call them reminders, admonitions, lessons) that I’d especially want to tell my younger self if I had a time machine. Each one arises from a situation where I’ve learned a lesson the hard way over the years, either from mishandling something myself, or from watching a peer, colleague, or my own manager mishandle it.  As the saying goes, “Good judgment comes from experience; experience comes from bad judgment.”

So here are a few things to keep in mind when managing others.  These lessons have arisen from (largely) IT situations, but their scope and impact is hardly limited to IT.  They’ve become a capsule summary of how I want to manage, and how I like to see people around me manage others.  In fact, when I encounter an instance of “bad management”, or think back on my own missteps, I can almost always point to a deficiency in one or more of these specific areas as the underlying root cause.In no particular order: