Richard Feynman, the Challenger, and Engineering 217
An anonymous reader writes "When Richard Feynman investigated the Challenger disaster as a member of the Rogers Commission, he issued a scathing report containing brilliant, insightful commentary on the nature of engineering. This short essay relates Feynman's commentary to modern software development."
External Pressures Ruin Engineering (Score:5, Insightful)
The problem with the shuttle disaster (both of them, really) is external pressures that are not in anyway at all scientific. The pressure from your manager at Morton Thiokol to perform better, faster and cheaper. The pressure from the government to beat those damned ruskies into space at all costs.
So this is really a case of engineering ethics, when do you push back? As a software developer, I never push back. Me: "There's a bug that happens once every 1,000 uses of this web survey but it would take me a week to pin it down and fix it." My Boss: "Screw it--the user will blame that on the intarweb, just keep moving forward." But could I consciously say the same thing about a shuttle with people's lives at stake? No, I could not.
So when an engineer at Morton Thiokol said that they hadn't tested the O-Ring at that weather temperature that fateful day and that information was either not relayed or lost all the way up to the people at NASA who were about to launch--it wasn't a failure of engineering, it was a failure of ethics. External forces had mutated engineering into a liability, not an asset.
And there's a whole slough of them [wikipedia.org] I studied in college:
* Space Shuttle Challenger disaster (1986)
* Chernobyl disaster (1986)
* Bhopal disaster (1984)
* Kansas City Hyatt Regency walkway collapse (1981)
* Love Canal (1980), Lois Gibbs
* Three Mile Island accident (1979)
* Citigroup Center (1978), William LeMessurier
* Ford Pinto safety problems (1970s)
* Minamata disease (1908-1973)
* Chevrolet Corvair safety problems (1960s), Ralph Nader, and Unsafe at Any Speed
* Boston molasses disaster (1919)
* Quebec Bridge collapse (1907), Theodore Cooper
* Johnstown Flood (1889), South Fork Fishing and Hunting Club
* Tay Bridge Disaster (1879), Thomas Bouch, William Henry Barlow, and William Yolland
* Ashtabula River Railroad Disaster (1876), Amasa Stone
Re:External Pressures Ruin Engineering (Score:5, Informative)
Re:External Pressures Ruin Engineering (Score:5, Interesting)
Although this swaying is not normally mentioned in the articles about the construction of the Hyatt, it went a long way towards weakening and stressing the connectors supporting the floors.
Two of my friends were dancing on the floor when the walkways gave way and both were killed.
Re: (Score:3, Interesting)
Re:External Pressures Ruin Engineering (Score:5, Informative)
Re: (Score:3)
They could have still split the threaded rod under the upper walkway, and re-joined it with a threaded coupling, just below the nut supporting the upper walkway. If the nut can support the upper walkway, then the threaded coupling could easily support the lower walkway.
In my experience, the solution u
Re: (Score:2)
Re: (Score:3, Interesting)
This was a combination failure. Like most failures it requires many things to come into alignment before the disaster occurs. The Space Shuttle and Sky Bridge did fail because of one thing, but several factors that came together that occurred simultaneously then this disaster occurred. If any one of these factors where to be mitigated or removed then t
Re:External Pressures Ruin Engineering (Score:5, Insightful)
Maybe, but remember what your own example shows -> What is the cost/benefit of fixing/preventing an error? Is a week of debug time worth missing your target ship date? Maybe, maybe not - depends on the error.
A blanket indictment of capitalism is quite unfair. You would still have the same cost/benefit analysis regardless of economic system you toiled under.
Is is not possible to engineer against all eventualities; trying to do so will usually keep you from ever getting off the ground.
Re:External Pressures Ruin Engineering (Score:5, Insightful)
But I do agree that tradeoffs occur under any system. Those tradeoffs just let us make better decisions under capitalism whereas we can't allow the information from those tradeoffs to inform us economically in a socialist system.
Re: (Score:2)
Wow, random assertion. I have no idea why this would be true, and a good body of work seems to suggest the opposite.
Capitalism clearly makes poor choices about these tradeoffs when their monitization is incorrect, but so does socialism. Other than that, capitalism seems to make
Re:External Pressures Ruin Engineering (Score:4, Interesting)
Re: (Score:2)
Re: (Score:3, Interesting)
Loss of the USS Thresher during initial sea trials.
Steam Line Rupture on the USS Iwo Jima.
Both of those were caused by engineering (the first) or procurement faults.
The thresher was lost with all hands due to (among other things) a failure in modeling the high pressure air system and inappropriate welds on seawater systems.
The Iwo Jima suffered a steam line rupture that killed a few guys because the wrong material was used on a high pres/temp
Re: (Score:2)
Re: (Score:3, Informative)
This article states that the second approach is inherently better than the top-to-bottom approach. This is clearly an engineering problem. I am not sure I agree wi
Re: (Score:2)
Re: (Score:2)
There is a point you miss there I think. It is the top-to-bottom design philosophy vs the bottom-to-top. The first one gives objectives first then designs every part so that it fulfills the general objective. The latter focuses on designing simples elements and assemble them as more complex elements with defined capacities and known weaknesses.
This article states that the second approach is inherently better than the top-to-bottom approach. This is clearly an engineering problem. I am not sure I agree with the conclusions and acknowledge that most of the Challenger disaster was due to unwelcomed pressure, but I don't think you can dismiss the whole issue as not concerning engineering.
I wouldn't necessarily agree that the Top-Down approach is 100% bad. Both have their strengths and weaknesses for what they can see and cannot see. Bottom-up tends to get too involved in the details, while Top-Down tends to outright ignore the details.
However, please, please, please,..(can I say it enough?).., please do not mix the two - have one part top-down and another bottom-up. Be consistent in design methodology across the entire project, and find the appropriate balance of both methods.
Argg gg ... your blind! (Score:2)
Re: (Score:2)
The thing with software is that it is such a wide field. If you are wrinting a web based survey program, so what i
Re: (Score:3, Insightful)
I'm a software developer. I would like to think of myself as an engineer but to me that's a higher title that belongs to people who actually engineer original ideas.
Well I know I'm missing the point of your post with this, but a quick google comes up with this description of an engineer:
a person who uses scientific knowledge to solve practical problems
I think your higher title should be an 'inventor'. Engineers are the guys that generally plod away using well tested mechanical or other scientific knowledge to get everyday jobs done (just like a software engineer really?). I work as IT support/coder for a bunch of engineers here and while they sometimes may be using old ideas in new ways, most of their work is just that plodding awa
Re: (Score:2)
Don't tell that to the "professional engineers", though. Their head will fly off if they're one of the 80% of those who think that "software engineer" is tantamount to blasphemy.
Re: (Score:2)
Re: (Score:2)
Sure, and I'd agree with you, but I point you here [slashdot.org] (later in this very discussion) for an example of what I'm referring to.
Re: (Score:2)
Oh, and this AC [slashdot.org] for that matter.
As if engineering didn't exist before someone made it an attainable certificate.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
In fairness, the ethics involved in the initial "cost-savings" decisions should be separated from ethics of how the situation is handled after the problem is revealed.
It's pretty well documented that he exhibited uber-ethics by owning up to the engineering problem immediately after a student pointed out the miscalculations: http://en.wikipedia.org/wiki/William_LeMessurier [wikipedia.org]. Point being, he could have just lawyered up but that's not how responsible engineers beha
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, Insightful)
Blaming the shuttle disaster on capitalism is erroneous. I do not necessarily disagree with your assessment in general, but capitalism was not at fault in that particular instance. What was at fault was bureaucrats trying to look good to their superiors and present a positive public image at the cost of real engineering.
I would say that in general is the meta-problem, not capitalism. In its current form in the US capitalism has caused the existence of many large entities that use hierarchical systems of
Re: (Score:2)
Any approach to engineering that only works with uber-humans, rather than the regular ones we have to work with, strikes me as painfully naive. Much of engineering is about understanding and accepting the nature of the materia
Re: (Score:2)
http://www.edwardtufte.com/bboard/q-and-a-fetch-msg?msg_id=0001yB&topic_id=1&topic=Ask+E.T [edwardtufte.com].
Challenger has similar issues. I can't find a direct cite for it but this page:
http://www.asktog.com/books/c [asktog.com]
Re:External Pressures Ruin Engineering (Score:5, Informative)
Re: (Score:2)
So the general case is that of a software bug: Modifications introduced out of band from the design. Whether they're mistakes, misinterpretations, or willful mods ("this will work better"), they're still potential bugs, often missed by testing based on the original design.
That being said, it becomes app
wow (Score:5, Funny)
Slashdotted (Score:2)
Re: (Score:2)
A future essay... (Score:3, Funny)
Mirror (Score:3, Informative)
Re: (Score:2)
Working Mirror (Score:3, Informative)
slashdotted (Score:2)
Faster, Better, Cheaper (Score:5, Insightful)
Re: (Score:2)
Re: (Score:2)
You're absolutely right. In this society dominated by the results/delivery-driven mentality, things that do not directly contribute tend to be marginalized. See how companies offshore support and QA because these divisions do not actively generate revenue. It is the same thing.
For something like QA, no news is good news. For management, no news is waste. Management's me
Re: (Score:2)
Tag on to a famous essay... (Score:5, Interesting)
It doesn't work 99.994% of the time, generally because very few people are as insightful as the original brilliant person.
sPh
Re: (Score:3, Interesting)
Re: (Score:2)
You're only saying that because he cracked the safe with every bit of information the US had on how to make an A-bomb after the Trinity tests. On second thought, I suppose that is pretty good.
Brilliant analysis of brilliant analysis (Score:2)
Edward Tufte's analysis of Dr. Feynman's brilliant analysis is brilliant, warranting a full chapter in Visual Explanations [amazon.com]. What makes it special is that it is not "hey, yeah, that's a good idea, I'm smart too" but instead a study of why Dr. Feynman's analysis is brilliant.
Re: (Score:3, Informative)
Re: (Score:2)
Re: (Score:2)
The real problem was the closure design was ripped off from a Hahn & Clay patent which the NASA and contractors did not understand and implemented horribly. The large-diameter closure was supposed
Hm. (Score:5, Insightful)
Re: (Score:3, Insightful)
Re: (Score:3, Informative)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
scooped! (Score:2, Funny)
Surely You're Joking (Score:3, Interesting)
Re: (Score:2)
Bottom up easier in software (Score:2)
Re: (Score:2)
I do not personally feel that one of those advantages is overall cost savings. I think that most top-down design programs are cheaper overall than their bottom-up counterparts (all things being equal). However the benefit in terms of clear and understandable safety margins is almost impossible to replicate.
Easy exampl
Chartered engineer status (Score:5, Insightful)
To qualify as a Professional Engineer we should place good practice above short term gains. Professional Engineers should be truthful and objective and have no tolerance for deception or corruption. Professional Engineers only work in areas were they are competant. Professional Engineers build their reputation on merit and their skills through continual learning and the skills of their charges through ongoing mentoring.
We wouldn't have to put up with the shoddy work of cowboys, because they wouldn't be allowed to practice. We wouldn't have to put up with orders that counteract professional ethics or good practice, because legal responsibility trumps commercial pressures. The professional wouldn't be undermined by fast to market but poor quality work. We could place trust in third party tools, software & services and we would not have to put up with EULA that diavowed responsibility for damage.
Re: (Score:3, Insightful)
Re: (Score:2)
This is a reasonable theory, but I think it's wrong in practice for a few reasons:
I know someone who worked on the O rings (Score:2)
yeah, right (Score:2)
But that day is not today.
Re: (Score:2)
Re: (Score:2)
He probably did not. Please consider my comment as an illustration of a more general idea than plain bashing aforementioned scientists (love that too, by the way...)
Therac-25 - fatal software flaws (Score:2)
Re: (Score:2)
physics is not engineering (Score:2)
Re: (Score:2)
Re: (Score:2)
Yeah, my boss thinks anything he doesn't understand is easy as well.
Re: (Score:2)
Re: (Score:2)
Ironic that you would post that in a topic about Feynman. While he was a brilliant theoretical physicist, his first job was designing the analog computing machines that launched artillery shells for the Army, and he had a part of building the atomic bomb. He was the guy who used then-theo
As a software quality professional... (Score:5, Interesting)
I think that this is a very key point to software development. I have seen companies who spent entirely too much time and money trying to eliminate all defects from their software when it wasn't the critical part of their business. Yes, we should always strive to eliminate defects, but you can't get them all. You have to know when to pick your battles, and when to accept the risks. If we're talking about life-or-death software, or security, or other very critical things - you need to focus on those.
There's a grid I have seen used that is a great tool when doing projects.
Schedule, Cost, Quality, Scope.
1 can be optimized, 1 is a constraint, and the other 2 you have to accept. Period. It is a more useful version of the "fast, good, cheap - pick two"
Re: (Score:2)
Well, actually you can. It's just a bit different since in mechanical engineering, you will have one that will specialize in bridges, and another in autos, etc; but management won't try to take a bridge engineer and make him design autos. Where as in Software, it is often the case that the software engineer with specialty X will be as
Re: (Score:2)
I'll take my bridges desinged by civil engineers, thanks. But I get what you meant.
I didn't read TFA, but... (Score:2)
News sure travels slowly (Score:2)
The link to Feynman's appendix to the Rogers Commission is a link dated 1996.
Feynman died Feb 18 1998.
So we're talking about something over 10 years old that a blogger has added a few personal observations to, and it's linked in as slashdot news.
Re: (Score:2)
Someone make sure NASA knows RAM is cheap now... (Score:2)
"There is not enough room in the memory of the main line computers for all the programs of ascent, descent, and payload programs in flight, so the memory is loaded about four time from tapes, by the astronauts."
Since I've had such stellar success with tapes and drives made this century, I can't image trusting landing the shuttle to some made 20+ years ago...
Re: (Score:2)
Re:Someone make sure NASA knows RAM is cheap now.. (Score:2)
why were the boosters built in sections .. (Score:2)
02. Don't build them out of state so they have to be sectioned to transport by rail.
03. Don't compromise design so as to get some politians vote for funding, forcing you to site the solid rocket booster in his state.
04. Don't ignore safety concerns from your own engineers
05. It don't take a nuclear physicist to figure this out
Re: (Score:2)
Faynman Videos. (Score:2, Informative)
"Engineering discipline" talk by Marcus Ranum (Score:2, Informative)
Marcus Ranum has an interesting talk (MP3) [ranum.com] in which he discusses Feynman's Challenger commentary at some length in the context of designing reliable/secure software systems.
The talk gets off to a bit of a rough start (see Ranum's comment below), but contains much insight and makes a lot of sense before long. Highly recommended for those in the software development field, where the approach is often 'throw it together, then poke at it and patch it until it stops obviously breaking'; the rigour Feynman
One of the first things a new staff member does (Score:3, Interesting)
One of the first things I have a new hire do is read Feynman's appendix to the Challenger Report. Primarily to instill a respect for dealing with data, not desires or pressures, and to (re)enforce the concept that "it worked last time", does NOT make it right or safe to do the same thing again.
The pressure / desire from above or parallel organizations within the company is constant, and usually precipitated by the latest operational interruption. All to frequently the refrain is along the lines of "but last time you authored a deviation, this is only a little bit more". When I feel the pressure is starting to cause situational ethics creep, I pull out Feynman's appendix, and read it myself, or have the affected person on my staff read it.
It is amazing how effective it is in restoring sanity, and a healthy respect for the ability of the hardware to kill you (and / or your customers).
Richard Feynman gave many things to this world, and especially certain segments of it. It's my opinion however that one of his best and most unsung gifts was the Challenger Report Appendix. It should be required reading for ANYONE who will ever touch or direct action on hardware that could even remotely present a potential for injury or death.
The message was not rocket science, but as the Columbia accident proved the rocket scientists still can't get it right.
Yeah, BUT... (Score:2)
Re: (Score:2)
Re: (Score:3, Interesting)
I had never heard of Dresden Codak before this post but am now getting hooked while going through the archive. I think it's hilarious, but then I grew up in Los Alamos...
The linked comic is funny in a postmodern way (wondertwins vs. historical quantum theory) and the art is fantastic. A lot better than I could ever do.
Re: (Score:2)
Yeah, maybe you need to turn in your geek cred. Or get your head out of a programming manual and into something else once in a while.
Yup, time to turn it in (Score:2)
Hint: the thing being tripped on isn't acid.
Feyman died before Linux and world-wide-web (Score:2)
Re: (Score:2)
Initial temperature could easily play a role by causing shrinkage and larger-than-usual packing gaps. But it wasn't some sort of brittle fracture since