I’ve found it interesting to think about a posting from Bruce Schneier over the last few days.
He’s musing about the term “Normalization of Deviance.” This term’s home is in public health, and it’s used to describe a syndrome where the profession knows that certain practices are key to assuring safe outcomes; but where they have a difficult and frustrating time keeping the parties involved on board with those practices.
Bruce is musing about how some large swath of the software industries security failures can be viewed that way. Clearly in many cases we know what to do, and thus the problem comes down to how difficult and frustrating it is to make that happen.
Some communities of practice (medicine, civil engineering, aviation, …) reside in (mature?) straight jacket of practice. He kicks off that post with a link to a horrific story of pilots failing to conform to required practice.
Bruce links to this rant, who’s author is confident that small software startups can, should, ought-to live in that straight jacket too. That’s a conclusion that is at odds with the buckshot model of startups. An interesting tension that.
I see I’ve touched on this issue in the past, it’s a fascinating subplot of all this how the straightjacket of regulated practice is analogous to the Overton Window. The average velocity of the overton window varies widely from one field to another. There is some sort of relationship between that and safety, but damn if I can say what with the precision I’d like.
Decades ago I had an argument with a young Professor at CMU. I was right, for various reasons [1, 2] software engineering was not going emerge a “professional engineering” practice in the manner of older engineering fields. What is clear now is that security issues, like the ones Bruce works on in his day job, are rapidly building out a very similar straightjacket of engineering practice.