Bad legislation, bad government and IT project failure

| May 22, 2007

I ran across a blog entry this morning, Mark Steyn citing John Podhoretz regarding the uproar over the immigration bill being rushed through the Senate despite being incomplete, inconsistent and, by and large, incomprehensible. Here are the nested posts in full:

Given his general antipathy to the National Review line on illegal immigration, I thought JPod’s column this morning was very fair – and a much saner reaction than that of, say, Michael Chertoff. I liked this bit:

These comprehensive legislative solutions – the sorts of bills that run hundreds of pages in length and are written in impenetrable gobbledygook – are almost always disastrous.

Just so. If it’s unreasonable and electorally unviable for conservatives to maintain their enthusiasm for “small government”, we should at least insist on small legislation, or big government made up of lots of small bills, focused (as Mr Clinton would say) like a laser.

I swear that if you had been watching me read the above, you would have seen a GE Reveal 100W incandescent light bulb materialize over my head and then switch on. While I have previously written about how a classic work on conflict and strategy applies to IT (information technology) development and marketing, I had never thought of applying the common failings of IT systems engineering to crafting legislation and implementing it as government, despite the fact that most of my professional career since 1995 has been focused on why large-scale IT projects fail (hence the name of this blog).

And yet the parallels seem blindingly obvious in retrospect. Legislation is typically crafted using specialized language, including keywords that have particular meaning and power not apparent from their common usage. Legislation likewise tends to follow well-established structure and format (templates). It can have many different contributors, not all of whom coordinate their efforts with one another. And once the legislation is ‘put into production’, unexpected problems and consequences arise, requiring endless tinkering or even wholesale re-engineering in an attempt to fix things. And yet the new system, once actually in production, is seldom abandoned outright; it becomes too entrenched within the organization and its workflow.

Permit me to quote — unedited — from a book I wrote some 13 years ago on the pitfalls that organizations faced in rapid adoption of object-oriented software development technologies and practices. Many of these pitfalls are common to software engineering in general, or can be applied to any new technology that is seen as being a silver bullet in solving the challenges of IT systems development:

  • Not educating and enlisting management before the fact
  • Underestimating the resistance
  • Overselling the technology
  • Getting religious about object-oriented development
  • Not recognizing the politics of architecture
  • Betting the company on objects
  • Adopting objects without well-defined objectives
  • Cramming objects down the developers’ throats
  • Abandoning good software engineering practices
  • Attempting too much, too soon, too fast
  • Allowing the specification to drift or change without agreement
  • Allowing new features to creep (or pour) in
  • Mistaking feature prototyping with feature completion
  • Misjudging relative costs
  • Not identifying and managing risks
  • Lying to yourself and others
  • Using the wrong metrics
  • Using the wrong developers
  • Underestimating the need for analysis and design
  • Underestimating the difficulty of analysis and design
  • Pouring new wine into old bottles (or vice versa)
  • Not being aware of your blind spots
  • Building a too-general or too-complete solution
  • Having the wrong number of architects [i.e., none or too many]
  • Making things too complex
  • Pleasing the wrong audience

Now ask yourself: how many of these apply to the rising storm over the half-baked immigration legislation being rushed through the Senate?

There is at least one big difference between legislation and large-scale IT systems. A flawed IT system can be — and often is — abandoned without ever being put into production; or, if unacceptable problems arise only after it is in production, the organization can often shut the new system down and revert back to the old one. Legislation, once passed and signed, becomes the law of the land and is very, very hard to reverse and shut down.

Why, then, is legislation so often crafted in such a wretched and self-defeating manner? The same reason why billions of dollars’ worth of IT projects fail every year — to quote myself again (this time in testimony before Congress back in 1998):

Humanity has been developing information technology for half a century. That experience has taught us this unpleasant truth: virtually every information technology project above a certain size or complexity is significantly late and over budget or fails altogether; those that don’t fail are often riddled with defects and difficult to enhance….Most publications and books on IT since then have debated, discussed, and deplored these same problems. And they are with us still. Their causes stem not from technology but from human frailties. Indeed, when asked why so many IT projects go wrong in spite of all we know, one could simply cite the seven deadly sins: avarice, sloth, envy, gluttony, wrath, lust, and pride. It is as good an answer as any and more accurate than most.

Congress, anyone? ..bruce..

Be Sociable, Share!

Category: 2008 Election, Commentary, Information Technology, Main, Project Management, US Politics

About the Author ()

Webster is Principal and Founder at Bruce F. Webster & Associates, as well as an Adjunct Professor of Computer Science at Brigham Young University. He works with organizations to help them with troubled or failed information technology (IT) projects. He has also worked in several dozen legal cases as a consultant and as a testifying expert, both in the United States and Japan. He can be reached at bwebster@bfwa.com, or you can follow him on Twitter as @bfwebster.

Comments are closed.