h1

Feature bombs

April 4, 2008

A devious plot by the CIA to sell bug-ridden hardware and software to the Soviet Union contributed to the end of the cold war in dramatic fashion:

In January 1982, President Ronald Reagan approved a CIA plan to sabotage the economy of the Soviet Union through covert transfers of technology that contained hidden malfunctions, including software that later triggered a huge explosion in a Siberian natural gas pipeline

This blast was so big it could be seen by U.S. Satellites and it shook the Soviets in more than explosive terms once they learned that they had been buying tampered goods:

In time the Soviets came to understand that they had been stealing bogus technology, but now what were they to do? By implication, every cell of the Soviet leviathan might be infected. They had no way of knowing which equipment was sound, which was bogus. All was suspect, which was the intended endgame for the entire operation

This modern day Trojan horse got me thinking about software projects and their applications – when you inherit an application there are many assumptions that you make and one of them is about the quality of the code involved.
Everyone codes in a different way and some inherited applications are better than others, however sometimes something strikes you as really bad.
Really, really bad.

In that instance do you assume it’s isolated to that one area or do you, like the Soviets in 1982, think the worst of all areas of the application?
If it’s a large project, do you know if you can make the changes you’ve been directed to do and trust in the rest of the application to hold up under the pressure?

I’ve found that features are a big part of the problem where they have been tacked onto an existing application or parts of the code have been mutilated to incorporate them.

Instead of pipeline hardware bombs these are feature bombs silently applying pressure to the application joints and waiting for the next code change to simply explode the application and be seen by your satellites – the client / your boss / the business owner (delete as appropriate).

I’m sure feature bombs are not the only kind – does anyone have any funny, pertinent or downright crazy examples?

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: