Embedded Muse 53 Copyright 2000 TGG October 23, 2000
You may redistribute this newsletter for noncommercial purposes. For commercial use contact firstname.lastname@example.org.
EDITOR: Jack Ganssle, email@example.com
- The Right Stuff
- Upcoming Embedded Seminar
- Thought for the Week
- About The Embedded Muse
The Right Stuff
FastCompany, a magazine aimed at business folks needing help coping with the “new economy” has a fascinating article about writing and maintaining the Space Shuttle software.
In “They Write the Right Stuff” author Charles Fishman delves into how Lockheed Martin creates what is probably the best software ever written. Unfortunately, sometimes people joke about the Shuttle code, since failures are so dramatic and public. But each of the last three versions – each 420,000 lines of code – had but a single error.
Compare that to other organizations. The Software Engineering Institute (http://www.sei.cmu.edu) estimates that typical code contains about 60 errors per 1000 lines. The very best organizations, those conforming to Capability Maturity Model level 5 (there are only about 20 outfits in the world certified to level 5) ship around one defect per 1000 lines. Yet these Lockheed Martin folks somehow approach an error rate of 2 parts per million!
In fact, the Capability Maturity Model stems from many of the practices employed by the Shuttle group.
The FastCompany article emphasizes how different the Lockheed Martin environment is from conventional just-ship-the-damn-thing software groups. Developers go home at 5. The specification phase is excruciating… but accurate.
I find one comment quite interesting: developers all have private offices. DeMarco and Lister showed long ago that interruptions kill productivity and encourage bugs. They found a 3:1 difference in performance between groups, all of which they attributed to interruptions. Other studies show that it takes 15 minutes to enter “a state of flow”, where you’re one with the computer. Yet the average developer is interrupted every 11 minutes!
The full text of the article is at http://www.fastcompany.com/online/06/writestuff.html. Highly recommended.
Embedded Seminar in Chicago
I’ll present the seminar "The Best Ideas for Developing Better Firmware Faster” in Chicago on November 15.
The focus is uniquely on embedded systems. I'll talk about ways to link the hardware and software, to identify and stamp out bugs, to manage risk, and to meet impossible deadlines. If you’re interested reserve early as these seminars fill completely.
For more information check out http://www.ganssle.com or email mailto:firstname.lastname@example.org.
A lot of folks have asked me to bring this seminar to their company. Email me at mailto:email@example.com if you’re interested.
Thought for the Week
NEWS FLASH! SEVEN SOFTWARE COMPANIES ADDED TO "WATCH LIST"
New York - People for Ethical Treatment of Software (PETS) announced today that seven more software companies have been added to the group's "watch list" of companies that regularly practice software testing.
"There is no need for software to be mistreated in this way so that companies like these can market new products," said Ken Grandola, spokesperson for PETS. "Alternative methods of testing these products are available."
According to PETS, these companies force software to undergo lengthy and arduous tests, often without rest, for hours or days at time. Employees are assigned to "break" the software by any means necessary, and inside sources report that they often joke about "torturing" the software.
"It's no joke," said Grandola. "Innocent programs, from the day they are compiled, are cooped up in tiny rooms and "crashed" for hours on end. They spend their whole lives on dirty, ill-maintained computers, and are unceremoniously deleted when they're not needed anymore."
Grandola said the software is kept in unsanitary conditions and is infested with bugs.
"We know that alternatives to this horror exist," he said, citing industry giant Microsoft Corporation as a company that has become successful without resorting to software testing.