<story><title>Rules for Developing Safety Critical Code [pdf]</title><url>http://pixelscommander.com/wp-content/uploads/2014/12/P10.pdf</url></story><parent_chain><item><author>tgb</author><text>The most impressive thing I&amp;#x27;ve read about NASA&amp;#x27;s software development isn&amp;#x27;t mentioned here. It was the system where bugs and defects were (at least in principle) not treated as the failing of an individual but rather as a failing of the entire development process. So when a problem is found, the question isn&amp;#x27;t &amp;quot;Who did this and how can we punish them?&amp;quot; it&amp;#x27;s &amp;quot;What can we as a team do so that this never happens again?&amp;quot;&lt;p&gt;I don&amp;#x27;t know how this works in practice, but it sounds like a great system even when dealing with code in a lower-risk setting.</text></item></parent_chain><comment><author>thearn4</author><text>As a software person at NASA, one caveat to note is that this is in part due to the intricacies of the federal civil servant system. Frankly, it is very hard to punish or fire government employees or some prime contractors, so most often (even in non-software contexts) accountability is applied to a process rather than to an individual because it&amp;#x27;s a path of less resistance for management. Even when an individual approach would be more appropriate.</text></comment>
<story><title>Rules for Developing Safety Critical Code [pdf]</title><url>http://pixelscommander.com/wp-content/uploads/2014/12/P10.pdf</url></story><parent_chain><item><author>tgb</author><text>The most impressive thing I&amp;#x27;ve read about NASA&amp;#x27;s software development isn&amp;#x27;t mentioned here. It was the system where bugs and defects were (at least in principle) not treated as the failing of an individual but rather as a failing of the entire development process. So when a problem is found, the question isn&amp;#x27;t &amp;quot;Who did this and how can we punish them?&amp;quot; it&amp;#x27;s &amp;quot;What can we as a team do so that this never happens again?&amp;quot;&lt;p&gt;I don&amp;#x27;t know how this works in practice, but it sounds like a great system even when dealing with code in a lower-risk setting.</text></item></parent_chain><comment><author>UK-AL</author><text>This is the standard in manufacturing techniques. A failure in quality control is considered failure of the system for allowing it happen in the first place, not the person making the mistake.&lt;p&gt;See:
&lt;a href=&quot;http://en.wikipedia.org/wiki/Poka-yoke&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Poka-yoke&lt;/a&gt;&lt;p&gt;If a bug got through, and you don&amp;#x27;t test. Then obviously its because you don&amp;#x27;t test. Not because the programmer isn&amp;#x27;t superhuman, and doesn&amp;#x27;t make mistakes.&lt;p&gt;Everybody makes mistakes, design the system to handle it.</text></comment>