Click here to Skip to main content
15,887,214 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
JokeRe: Ain't it the truth Pin
raddevus22-Dec-22 12:36
mvaraddevus22-Dec-22 12:36 
GeneralRe: Ain't it the truth Pin
Mike Hankey22-Dec-22 12:50
mveMike Hankey22-Dec-22 12:50 
GeneralRe: Ain't it the truth Pin
jmaida22-Dec-22 15:09
jmaida22-Dec-22 15:09 
GeneralRe: Ain't it the truth Pin
yacCarsten22-Dec-22 15:59
yacCarsten22-Dec-22 15:59 
GeneralRe: Ain't it the truth Pin
jmaida22-Dec-22 16:23
jmaida22-Dec-22 16:23 
GeneralRe: Ain't it the truth Pin
yacCarsten22-Dec-22 18:16
yacCarsten22-Dec-22 18:16 
GeneralRe: Ain't it the truth Pin
jmaida23-Dec-22 6:52
jmaida23-Dec-22 6:52 
GeneralSW Engineering, NASA & how things go wrong PinPopular
raddevus22-Dec-22 5:23
mvaraddevus22-Dec-22 5:23 
I really can't stop with this book, Modern Software Engineering[^], because so much of it resonates with me after working in IT/Dev for over 30 years.
I came to Dev thru QA so I've always focused on "repeatable processes, errors & failing safely".

Quote:
One of the driving forces behind [Margaret] Hamilton’s[^] approach was the focus on how things fail—the ways in which we get things wrong.

"There was a fascination on my part with errors, a never ending pass-time of mine was what made a particular error, or class of errors, happen and how to prevent it in the future."

This focus was grounded in a scientifically rational approach to problem-solving. The assumption was not that you could plan and get it right the first time, rather that you treated all ideas, solutions, and designs with skepticism until you ran out of ideas about how things could go wrong. Occasionally, reality is still going to surprise you, but this is engineering empiricism at work.

The other engineering principle that is embodied in Hamilton’s early work is the idea of “failing safely.” The assumption is that we can never code for every scenario, so how do we code in ways that allow our systems to cope with the unexpected and still make progress? Famously it was Hamilton’s unasked-for implementation of this idea that saved the Apollo 11 mission and allowed the Lunar Module Eagle to successfully land on the moon, despite the computer becoming overloaded during the descent.

As Neil Armstrong and Buzz Aldrin descended in the Lunar Excursion Module (LEM) toward the moon, there was an exchange between the astronauts and mission control. As the LEM neared the surface of the moon, the computer reported 1201 and 1202 alarms. The astronauts asked whether they should proceed or abort the mission.

NASA hesitated until one of the engineers shouted “Go!” because he understood what had happened to the software.

On Apollo 11, each time a 1201 or 1202 alarm appeared, the computer rebooted, restarted the important stuff, like steering the descent engine and running the DSKY to let the crew know what was going on, but did not restart all the erroneously-scheduled rendezvous radar jobs. The NASA guys in the MOCR knew—because MIT had extensively tested the restart capability—that the mission could go forward.4

This “fail safe” behavior was coded into the system, without any specific prediction of when or how it would be useful.
So Hamilton and her team introduced two key attributes of a more engineering-led style of thinking, with empirical learning and discovery and the habit of imagining how things could possibly go wrong.


I have a system composed of 5 services which process over 50,000 files (inbound & outbound) each day.
I had to incorporate fail safe into this system or we would go crazy trying to find "lost" / failed files each day.
GeneralRe: SW Engineering, NASA & how things go wrong Pin
PIEBALDconsult22-Dec-22 5:38
mvePIEBALDconsult22-Dec-22 5:38 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
Greg Utas22-Dec-22 7:37
professionalGreg Utas22-Dec-22 7:37 
QuestionRe: SW Engineering, NASA & how things go wrong Pin
fgs196322-Dec-22 8:30
fgs196322-Dec-22 8:30 
AnswerRe: SW Engineering, NASA & how things go wrong Pin
Greg Utas22-Dec-22 8:43
professionalGreg Utas22-Dec-22 8:43 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
fgs196322-Dec-22 8:53
fgs196322-Dec-22 8:53 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
charlieg22-Dec-22 9:27
charlieg22-Dec-22 9:27 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
raddevus22-Dec-22 8:30
mvaraddevus22-Dec-22 8:30 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
trønderen22-Dec-22 9:40
trønderen22-Dec-22 9:40 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
Calin Negru22-Dec-22 8:51
Calin Negru22-Dec-22 8:51 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
raddevus22-Dec-22 9:11
mvaraddevus22-Dec-22 9:11 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
charlieg22-Dec-22 9:30
charlieg22-Dec-22 9:30 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
raddevus22-Dec-22 12:28
mvaraddevus22-Dec-22 12:28 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
jmaida22-Dec-22 17:11
jmaida22-Dec-22 17:11 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
trønderen22-Dec-22 9:42
trønderen22-Dec-22 9:42 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
charlieg22-Dec-22 11:46
charlieg22-Dec-22 11:46 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
raddevus22-Dec-22 12:31
mvaraddevus22-Dec-22 12:31 
GeneralRe: SW Engineering, NASA & how things go wrong Pin
Kate-X25722-Dec-22 23:49
Kate-X25722-Dec-22 23:49 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.