Skip to main content
Home
  • Agile
  • Manage
  • Test
Register
Log In
  • Home
    • TechWell.com
  • My Page
  • Communities
    • Agile
    • Manage
    • Test
  • Interact
    • Blogs
    • Forums
  • Resources
    • Articles
    • Better Software
    • Download Center
    • News Center
    • Podcasts
  • Solution Central
    • HP Solution Center
  • Events
    • Web Seminars
    • Conferences
    • Training
  • Jobs
  • Membership
  • Feedback
  • Contact Us

Oh, When Will They Ever Learn?

Blog Post

Oh, When Will They Ever Learn?

Blog Post by Lee Copeland | Comments: (2) | Mon, 12/12/2011 - 10:00
  • share
  • Print

I’d like to be a voracious reader, but I rarely have uninterrupted time to sit down with a stack of good books. Luckily, every so often, I take very long airplane rides and have a chance to read. Recently, I finished The Day the Phones Stopped by Leonard Lee. It’s a layman’s introduction to the world of software and its disasters, and an interesting read.

I was familiar with many of the software failures recounted in the book: the AT&T nationwide telephone switch failure, the Therac-25 radiation therapy system that emitted lethal doses of radiation, computerized baggage-handling systems that misdirected luggage, and the ineffectual performance of the Patriot missile during Operation Desert Storm.

Other failures, however, were new to me: faulty blood bank software that erased donor records, allowing AIDS-infected blood to be used in transfusions; the crash of the Saab-Scania Gripen jet fighter that didn’t respond to pilot commands; 747-400 airplane engine throttles that mysteriously shut off by themselves in mid-flight; the B-1B bomber with subsystems that interfered with each other’s operation; and the sinking of the HMS Sheffield during the Falklands War because the captain made a phone call using the same frequency as an incoming enemy Exocet missile, preventing its detection.

The book is chock-full of statements familiar to us: “[Computer programs] are more complex … than perhaps any other human construct” (Fred Brooks); “It’s impossible to test for one hundred percent of all possible conditions. There are so many conditions that you just can’t test for every conceivable situation” (Karl Blesh, AT&T); “As you approach the ‘drop-dead’ date when a program’s supposed to be finished, they often short-cut the testing” (Jim Wilbern, KPMG Peat Marwick); “Unrealistic testing and unanticipated situations are a common theme in the world of software problems” (Leonard Lee); “There’s no way you can guarantee a computer system’s going to do the right thing under all possible circumstances. No matter how carefully you’ve designed it, it’s probably not good enough” (Peter Neumann, SRI International). My favorite is “Complete review of software testing is often impractical” (Robert Britain, NEMA). According to Britain, not only is complete testing impossible, even reviewing the testing that was done but is not practical.

For me, the most interesting thing about this book is that it was published in 1991—eighteen years ago. The examples of poor software quality and complaints about development and testing documented in this book are the same complaints we hear today. It seems that two decades have passed and nothing substantive has changed.

What can bring about change? It is my experience that people and organizations change for three reasons. First, they are required to. Second, they are in so much pain that even change becomes more attractive than the status quo. Third, people develop a vision of a better future that inspires and motivates.

In the first case, “required to,” some external entity will “beat us with a stick” if we don’t change. Examples are “Become CMMI Level 3 by this date or lose the contract” or “Become a certified developer or tester or risk not being employable.” External forces can be effective in fostering change. (Typically, these forces have unintended consequences, neither envisioned nor understood, but that’s for another column.) But there seem to be few effective corrective forces in our industry: Projects fail to deliver, yet, we begin new projects; processes that produce failed projects are used for the next project; people who produced failed projects are employed on the next project. Einstein once said, “Problems cannot be solved by the same level of thinking that created them,” but we continue, stuck in our ways.

The second force to effect change is pain. As a consultant, I often help organizations quantify the pain they are suffering (defective software, market share loss, high personnel turnover, etc.). However, human beings seem capable of absorbing huge amounts of pain rather than making a change. As an example, reflect back on a personal relationship you’ve been in that went sour. How long did you remain in that relationship, absorbing the pain, rather than change?

And, as for creating a vision of a better future, we can all imagine a different and better future, but it seems so remote, it doesn’t inspire us. As Leonard writes, “The probability that [a] crisis could happen again without warning doesn’t seem to bother too many people. Even those who depend on the [technology] for their livelihood seem to simply take this all in stride as just another hazard of daily life in the modern age.” Not a vision that inspires us to a better future.

Are we, the IT community, willing to accept poor quality software and continue our complaining for another decade or two? Now is the time to become effective change agents, seeking allies with power to force changes, quantifying the cost we are paying for poor quality, and building a vision of a brighter future for all.

Originally published Jan. 13, 2010

  • Test & Evaluation
  • Safety-Critical
About The Author: Lee Copeland

Lee Copeland has more than thirty years of experience in the field of software development and testing. He has worked as a programmer, development director, process improvement leader, and consultant. Based on his experience, Lee has developed and taught a number of training courses focusing on software testing and development issues. Lee is the managing technical editor for Better Software magazine, a regular columnist for StickyMinds.com, and the author of  A Practitioner's Guide to Software Test Design. Contact Lee at lcopeland@sqe.com.

View More

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

#1 Submitted by sschwarm on Tue, 03/20/2012 - 17:06.

Why are you surprised?

I continue to find organization after organization that is surprised that their software does not work. They are not willing to do some of the most straight forward things to improve what they do. Can you imagine publishing a book or paper with out anyone reviewing it. But most code is never looked at by anyone but the author until it has a bug detected.

How about the languages we use. I find I make one tenth the errors when I use languages like Ada and Pascal compared to C and C++. But coders view them as too restrictive. Ada and Pascal also tend to generate faster code as well.

Few people really think about design. Simple things like structure charts and object diagrams are too time consuming. Once an implementation is started, the thought of redesigning something is not allowed even if it would save time.

Just some thought on the state of software.

  • reply

#2 Submitted by Bikash Jajodia on Mon, 01/30/2012 - 15:45.

I fully agree with the

I fully agree with the statement:
"Projects fail to deliver, yet, we begin new projects; processes that produce failed projects are used for the next project; people who produced failed projects are employed on the next project."

This is the crux of the problem.
And the reason why things are not changing is because projects are planned and managed by "Top Management" and even though they gone wrong the buck is passed on to the teams below, "Top Management" remains the same and issues continue.
Liken this to a country where law abiders and law makers are neck-deep in corruption. How can we expect a change for the better for such a country?

  • reply

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.

More like this

  • Oh, When Will They Ever Learn?
  • Testing Critical Software: Practical Experiences
  • Identifying Critical Requirements Using FMEA
  • Practical Metrics and Models for Return on Investment
  • New Book Reviews

Welcome to TechWell!

With an ever-expanding library of content by industry experts, TechWell is your source for software knowledge. The site is still growing, so please pardon our dust. If you see anything that requires our attention, please CONTACT us.

Not a member? REGISTER to join our community.
Already a member? Log In

Hot Topics

  • Most Read
  • Most Discussed
  • Most Shared
  • New Downloads

Three Components of Effective Defect-management Systems

Article by Krishen Kota | Comments (1)
 From a high-level view, defect management systems are made up of a combination of some defect management tools or tool and a defect management process. These two primary components work together to... Read More

Management Myth #1: The Myth of 100% Utilization

Article by Johanna Rothman | Comments (17)
 A manager took me aside at a recent engagement. “You know, Johanna, there’s something I just don’t understand about this agile thing. It sure doesn’t look like everyone is being used at 100 percent... Read More

eBay to Open New Development Center in India

News by Jonathan Vanian
 Want a job? You might want to catch the next flight to Bangalore. San Jose’s eBay is opening a global development center in India’s “garden city” and plans on hiring “1,000 technologists over the... Read More

Three Components of Effective Defect-management Systems

Article by Krishen Kota | Comments (1)
 From a high-level view, defect management systems are made up of a combination of some defect management tools or tool and a defect management process. These two primary components work together to... Read More

CM: The Next Generation—Tailoring CM and ALM Tools

Blog Post by Jonathan Vanian
 Today we published a great piece by Joe Farah over at CM Crossroads. Joe Farah has been working in software field since the late 1960s, and he’s personally witnessed the ever-evolving world of... Read More

Management Myth #1: The Myth of 100% Utilization

Article by Johanna Rothman | Comments (17)
 A manager took me aside at a recent engagement. “You know, Johanna, there’s something I just don’t understand about this agile thing. It sure doesn’t look like everyone is being used at 100 percent... Read More

Three Components of Effective Defect-management Systems

Article by Krishen Kota | Comments (1)
 From a high-level view, defect management systems are made up of a combination of some defect management tools or tool and a defect management process. These two primary components work together to... Read More

Press Release: Klocwork Insight(TM) Ensures Software Security and Reliability for Bids Trading's Financial Trading System

News by TechWell Staff
 Burlington, Mass – Klocwork Inc, the global leader in automated source code analysis (SCA) solutions for developing more secure and reliable software, today announced that BIDS Trading, operators of... Read More

CollabNet Releases CloudForge

News by Jonathan Vanian
 Brisbane’s CollabNet is starting off this week with a new corporate strategy and a new product launch. As of this Monday, CollabNet will now focus on “the enterprise adoption of hybrid cloud... Read More

5 Critical Deployment Mistakes You Don't Want to Make

Are you still having to manage complex projects manually, running into script mayhem or having trouble adding new platforms for your application? Learn how your Release Managers, Testers, Development... Read More - Get this content

Neoload — 30-Day Load Test Trial Download

Increasingly enterprises are deploying web applications to drive competitive advantage. As expectations for availability, speed, and reliability increase daily, ensuring the performance of web... Read More - Get this content

Paradigm Shift in Test Automation- The Solution to the Maintenance Problem

While fundamental innovations have been made in the software development industry, maintenance problems have stymied the great early promise of test automation - until now. With its unique Business... Read More - Get this content

Follow Us On...

Follow us on Twitter
Twitter
Follow us on Facebook
Facebook
Follow us on LinkedIn
LinkedIn
Follow our RSS feed
RSS Feed

Sponsors

  ASTQB
  HP Software
  Microsoft
  MindFire Solutions
  PTC
  Neotys
  QA Symphony
  SQE Training
  SmartBear Software
  SOASTA
  Tricentis


Our Bloggers

Johanna Rothman is a management consultant and a regular StickyMinds.com and Better Software magazine columnist.

Steve Berczuk is an engineer and ScrumMaster at Humedica where he's helping to build next-generation SaaS-based clinical informatics applications.

Naomi Karten is a highly experienced speaker and seminar leader who draws from her psychology and IT backgrounds to help organizations improve customer satisfaction, manage change, and strengthen teamwork.

Lee Copeland has more than thirty years of experience in the field of software development and testing.

Lisa Crispin has worked as a tester on agile teams for the past ten years, and enjoys sharing her experiences via writing, presenting, teaching and participating in agile testing communities around the world.

Claire Moss has been testing software for 8 years. Although authoring a testing blog and articles are new for her, Claire has always had a passion for writing, which might be a strange trait for a Discrete mathematician.

Site Contents
Back To Top
  • » My Page
  • » Communities
    • - Agile
    • - Manage
    • - Test
  • » Solution Central
    • - HP Solution Center
  • » Interact
    • - Blogs
    • - Forums
  • » Resources
    • - Articles
    • - Better Software Magazine
    • - Download Center
    • - News Center
    • - Podcasts
    • - Videos
  • » Events
    • - Web Seminars
    • - Conferences
    • - Training



Techwell

  • Advertise
  • Terms of Use
  • Privacy Policy
  • RSS
  • Site Feedback
  • Subscription Services