Re: [SystemSafety] Another unbelievable failure (file system overflow)

From: Les Chambers < >
Date: Sun, 31 May 2015 14:14:53 +1000


Thanks for referencing the code of ethics. It should be brought up more often. Unfortunately, for me, it makes depressing reading. Especially when you come upon paragraphs such as:  

3.12. Work to develop software and related documents that respect the privacy of those who will be affected by that software.  

Although he has probably never read it, there is a man, who will probably never see his homeland again because he took these sentiments to heart and attempted his own corrective action. And what of the thousands of scientists, engineers and technologists who contributed to the construction of the software, the existence of which, he exposed to the world?  

My point is that non-compliance with this code of ethics is massive and almost universal. In fact, any engineer maintaining strict compliance with every paragraph of this code would be unemployable in our modern world.  

Reading these paragraphs through the lens of experience I am blown away by their flippancy. From personal experience I can tell you that screwing up the courage to implement even one of these items can be a massive life changing event. This sentence would be lost on a graduate. They're all perfectly reasonable statements of how one should behave. Much like, "Thou shall not kill, thou shall not commit adultery ...". The issue lies in the moral courage to implement.  

There is no quick fix to this problem as we are a decentralised, unorganised and generally fragmented lot. We don't have the luxury of the medical profession that deals with a single organism. We can't simply state and righteously comply with the notion of, "Do no harm." In fact, for us, the opposite is true, many of us work in industries where the primary purpose is to kill other human beings, and with high efficiency (fewer soldiers kill more enemy).  

One thing we can do is deal with the problem at its root:  

We are graduating incomplete human beings from science and engineering courses. There is insufficient focus on the moral issues surrounding the impact of our machines on humanity. For example, a study of applied philosophy, including ethics, should be a nonnegotiable component of all engineering courses. Not just a final year subject, but a subject for every year with a weekly reflection on the content. Much like the weekly safety meetings I was forced to attend in the chemical processing industry.  

I'm sure there will be howls of laughter at this, but, let me tell you it's the only thing that caused me to back a senior manager about five levels above my pay grade into a corner - he could physically not escape me short of punching me out and stepping over my body - and berate him until he promised to properly train his operators in the emergency procedures for a safety critical system.  

Popping a few paragraphs up on the web would never have done the trick.  

That experience was trivia compared to where we are headed. The massive computing power now available means that our software is beginning to take higher level decisions away from human beings. Some of these decisions are moral ones (refer my previous post on lethal autonomous weapons systems).
"Shall I kill all humans associated with this structure, or no?"

At a recent engineering alumni meeting I asked the head of my old engineering Department how much philosophy is taught to undergraduate engineers. He chuckled. "It is available as an elective but less than one percent participate," he said.  

I plan to speak to him again soon.  



From: Steve Tockey [mailto:Steve.Tockey_at_xxxxxx Sent: Sunday, May 31, 2015 5:43 AM
To: Les Chambers; 'Robert Schaefer at 300' Cc: systemsafety_at_xxxxxx Subject: Re: [SystemSafety] Another unbelievable failure (file system overflow)    

Les (and all),

I think that one thing we all need to be really careful of is that it's way too easy for us technical people to push all of the blame onto the managers:  

"It's the fault of those idiotic Pointy Haired Bosses because they gave us
such a ridiculously short schedule, ."  

And it's true to an extent that managers are guilty. But it's not 100% their fault. Us technical people need to grow up and be more professional in our own behavior. Here's a great quote from Watts Humphries:  

"When people are directed by top management to run a mile in two minutes,
what should they do? Experienced hardware engineers have learned to first test the directive. If it is truly firm, the best ones develop a comprehensive comparison of this job with their prior experience to show management why this schedule is unrealistic. They also dig in their heels and insist that management either change the schedule to one that makes sense or relieve them of responsibility for meeting the dates. When better engineers do this, managers have little choice, unless they want to do the design themselves. Unfortunately, all too many programmers start looking for their running shoes."  

The IEEE Computer Society and the Association of Computing Machinery (ACM) got together several years ago and agreed on a "Software Engineering Code of Ethics and Professional Practice" (see Of particular relevance to this discussion are items: 1.03, 3.01, 3.02, 3.09 (a personal favorite of mine), 5.11, and 6.11. It's a no-brainer that as long as the technical community doesn't push back then managers will just continue to push ever harder.  

I often use the term, "highly paid amateur programmer". I firmly believe that this an appropriate label that applies to the vast majority of software practitioners world wide. Their behavior is wholly unprofessional and, in fact, entirely unethical.  

I could (and often do--smile) go off on a rant about how auto mechanics behave far, far more professionally than typical programmers.    


From: Les Chambers <les_at_xxxxxx Date: Friday, May 29, 2015 8:23 PM
To: Steve Tockey <Steve.Tockey_at_xxxxxx <schaefer_robert_at_xxxxxx
Cc: "systemsafety_at_xxxxxx <systemsafety_at_xxxxxx Subject: RE: [SystemSafety] Another unbelievable failure (file system overflow)  


Clap, clap, clap, clap. At last, a serious metric, guaranteed to make a difference because it uses story patterns, the only facility guaranteed to change attitudes. George should go underground and embrace the onion router. He is clearly a dangerous radical.

However, Dilbert aside, it behoves us to dig deeper and look at causal factors. Somewhere further back in this stream the point was made that the good programmer/bad manager metaphor gets trotted out too often. This is very true, I've been guilty of it myself, having socialist leanings and being in the presence of far too many disgustingly poor management decisions in my 40 year career. But. We should ask, "How does a programmer or a manager become BAD." I put it to the list that this is the exact same question as, "How does a person become a criminal?"

Most serial killers are the product of child abuse. Indeed most criminals have had damaged childhoods. Incompetent child rearing or no child rearing - not brought up, just kicked and told to get up. No role models or the wrong role models: Street gangs, drug dealers, thieves and murderers. Bill Clinton addressed this once:

"People who grew up in difficult circumstances and yet are successful have
one thing in common; at a crucial juncture in their adolescence, they had a positive relationship with a caring adult." (More at:  

The FBI specialists who hunt down serial killers have a saying, "The best indicator of future behaviour is past behaviour."  

So, any way you want to look at this problem, the only way to break the endless cycle of "glitches" is: better child rearing. Anyone responsible for the rearing of a software developer or his or her manager should reflect on this.  



PS: This "... has become clear" (at least to me), "later on."  

From: systemsafety-bounces_at_xxxxxx [mailto:systemsafety-bounces_at_xxxxxx Steve Tockey
Sent: Saturday, May 30, 2015 4:34 AM
To: Robert Schaefer at 300
Cc: systemsafety_at_xxxxxx Subject: Re: [SystemSafety] Another unbelievable failure (file system overflow)    

>From what I remember about Scott Adams, at least in the early days he used a "three company rule". The majority of his comics come from ideas submitted by readers. His rule was that he had to see the same basic idea come from at least three different companies before he had confidence the problem was widespread enough to be understood/funny for a majority of readers. I don't know if he follows the same rule now, but it would make sense.  

I agree, a socio-economic study of insights of Dilbert would be fascinating.  

And, by the way, if anyone remembers the Software Engineering institute's
"Capability Maturity Model" (CMM), here's a proposed update:

API Austin - First there were software metrics. With these, software developers and their management could finally measure something for the output of the software creation process. In the 80's these techniques flourished. Funny names for these measurements emerged, like "McCabe complexity" and "software volume".  

Soon it was realized that there needed to be a way not only to measure the quality of the software output, but also to measure the quality of the engineering organization itself. The Capability Maturity Model, CMM, was developed in the early 90's. Organizations are audited by professionals and rated on a scale of 1 to 5. Low scores mean the software production process is chaotic, while 5 means that all aspects of software development are fully understood and carefully applied, organizations today weigh in at a meager 1, and there's a surprising number of 0's out there.  

Now, a revolutionary new measurement technique has been developed by a small startup consulting firm in Austin, Texas. The new system is simply known as DCF. The simplicity and elegance of the new measuring system belies its power in accurately judging the soundness of a software organization.  

The inventor of DCF and founder of the DiCoFact Foundation, George Kritsonis, says the new measurement system is "simple and fool-proof, but modifications are being made to make it management-proof as well".  

One Sunday morning George was performing his normal ritual of reading the most important parts of the newspaper first, when he came across his favorite comic strip, "Dilbert" by Scott Adams. George and his work colleagues loved this comic strip and were amazed by how many of the silly storylines reminded them of actual incidences at their company.

They even suspected that Scott Adams was working there in disguise, or at least that there was a spy in the company feeding Scott daily promised to make him millions: The Dilbert Correlation Factor (DCF).  

George's idea was simple: "Take 100 random Dilbert comic strips and present them in a survey to all your engineering personnel. Include both engineers and management. Each person reads the strips, and puts a check mark on each strip that reminds him of how his company operates. Collect all surveys and count the check marks. This gives you your Dilbert Correllation Factor, which can range of course from 0% to 100%. Average out the engineers scores. Throw out the manager's surveys, we just have them do the survey to make them feel important; however, if many of them scowl during the survey, add up to 5 points to the DCF (in technical terms, this is your Management Dissing Fudge Factor, MDFF). Make sure to also throw out surveys of engineers that laugh uncontrollably during the whole survey (remember their names for subsequent counseling). And that's all there is to it! Oh yeah, then walk around the building and count Dilbert cartoons on the walls. Don't forget coffee bars, bulletin boards, office doors and of course, bathrooms". Add up to 10 points for this Dilbert Density Coefficient Adjustment (DDCA).  

Interpreting the results is simple. Let's look at some ranges:  

0% - 25%: You probably have a quality software organization. However, you guy's need to lighten up! Maybe a few surprise random layoff, or perhaps initiating a Quality Improvement Program, will do the trick to boost your company's DCF to healthier level.  

26% - 50%: This is also a sign of a good software organization, and is nearly ideal. You still manage to get a quality product out, and yet you still have some of the fun that only Dilbert lovers can identify with... Mandatory membership in social committees, endless e-mail debates about the right acronyms to use for the company products, and of course detailed weekly status reports where everyone lists "did status report" on accomplishments.  

51% - 75%: This is the most typical DCF level for software houses today. Your software products are often in jeopardy due to the Dilbert-like environment they are produced in. You have a nice healthy dose of routine mismanagement, senseless endless meetings with no conclusions, miscommunications at all levels of the organization, and arbitrary commitments made to customers which send engineers into cataplexy.  

76% - 100%: The best advice for this organization is this: Get the hell out of the software business. Hire the best cartoonist you can afford, have him join your project teams and document what he sees in comic strips... get 'em syndicated and you'll make a fortune!  

George has applied for a patent on his unique DCF system. He is anxious to become a high-priced consultant, going to lots of companies, doing his survey, getting the fee, and getting out before management realizes they've been ripped off and have to hire another high-priced consultant to come in and set things right. George reports, "I'm thinking about a do-it-yourself version for the future, too. I'd put Dilbert cartoons on little cards so they can be passed out to the engineers for the survey... I'll probably call it 'Deal-a-Dilbert'. I'm also thinking about a simple measurement system that lets employees find out their personality type and where they best fit into the organization. I call this the 'Dilbert/Dogbert Empathy Factor' or 'DDEF' for short.  


From: Robert Schaefer at 300 <schaefer_robert_at_xxxxxx Date: Friday, May 29, 2015 5:11 AM
Cc: "systemsafety_at_xxxxxx <systemsafety_at_xxxxxx Subject: Re: [SystemSafety] Another unbelievable failure (file system overflow)  

I would claim that this not always prospect theory sometimes dysfunction due to greed.  

By deliberately not testing you can get the customer to:

  1. become your beta tester, i.e. work for you for free
  2. directly or indirectly get the customer pay you again for you fixing your own mistakes
  3. You leave no evidence of criminal negligence (when you are indeed criminally negligent ->

      if you did detect safety issues during testing, those issues would be recorded in the testing documentation).  

I would like to see, someday, a serious socio-economic study of the insights of the Dilbert comic (

I have read in interviews with the cartoonist (Scott Adams) that people email him what they've experienced,

and he just draws it up. One might claim that what he does is all made up, but I have my doubts given what

I've experienced as a programmer in several large corporations over the past decades.  

From:systemsafety-bounces_at_xxxxxx <systemsafety-bounces_at_xxxxxx Squair <mattsquair_at_xxxxxx
Sent: Friday, May 29, 2015 2:13 AM
To: Heath Raftery
Cc: systemsafety_at_xxxxxx Subject: Re: [SystemSafety] Another unbelievable failure (file system overflow)  

An example of prospect theory?

Matthew Squair  

MIEAust, CPEng

Mob: +61 488770655

Email; Mattsquair_at_xxxxxx


On 29 May 2015, at 7:43 am, Heath Raftery <heath.raftery_at_xxxxxx wrote:

On 28/05/2015 11:50 PM, Chris Hills wrote:

Static analysis isn't free. Testing isn't free.

Who determines the need for or business case for static analysis and test?

[CAH] normally (every report I have seen) static analysis saves a lot of

time and money.

The same is true of structured testing.

Funnily enough, the only experience I've had recommending static analysis is as the programmer to the manager. This is indeed the argument I use. A strange thing happens in business though (and perhaps my lack of comprehension explains why I'm the programmer and not the manager ;-) ) - capital costs and investment are worse than running costs. Buying and applying static analysis, even if it is cheaper in the long run, is always seen as less attractive than paying labour to deal with the consequences later.


The System Safety Mailing List

The System Safety Mailing List
systemsafety_at_xxxxxx Received on Sun May 31 2015 - 06:15:31 CEST

This archive was generated by hypermail 2.3.0 : Tue Jun 04 2019 - 21:17:07 CEST