gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

続 スキルの深広練

元ネタっつか初手はここ。
http://d.hatena.ne.jp/gallu/20110425/p1


ちょいと「練」の部分を掘り下げて。
今回のお題は「ハインリッヒの法則」。
大まかに、ここだけ押さえといてちょ。
http://ja.wikipedia.org/wiki/%E3%83%8F%E3%82%A4%E3%83%B3%E3%83%AA%E3%83%83%E3%83%92%E3%81%AE%E6%B3%95%E5%89%87

1つの重大事故の背後には29の軽微な事故があり、その背景には300の異常が存在するというもの

おおむね。ソフトウェアの世界ですと「重大事故」ってのが「バグ」に相当すると思いねぇ。


練度の低い連中は「1つのバグ」が起きるかどうか、を、気にする。
なので、彼らの関心事項は「動いたかどうか」にある。判断もしやすいしね。
ん…まぁ本当は「バグが起きた」ではなくて「バグが起きて、その後、それに気づいた」なんだけど。で、その「気づいた」に、結構な高さのハードルがあるんだけど。


練度が一定以上になると、まず「29の軽微な事故」に相当する、いわゆる「汚いプログラミング」とか「明らかにおかしい設計」とかに、気づき始める。
300の異常は、たぶん「いやな予感」とか「きな臭い匂い」という、相当に感覚的なモノ。ドレイファスの技能習得モデル( http://d.hatena.ne.jp/gallu/20100118/p1 )でいうところの、基本、達人クラスがもつ感覚。
で、その29であったり300であったりは「ちゃんと動いている」中に存在している。
なので、その辺の感覚ができはじめると「いやな予感」を払拭したがるんだけど、大抵の場合、上職の連中はそういった嗅覚を持たず(スキル練度が低いので、その境地に達していないから)、またその存在を(数値化できないから理解できないからその他の理由で)却下するので。
結果、そういった「感覚値」が有効に用いられるケースは、レア。
ちなみに、このあたりの「感覚」を養うには、たぶん「達人」クラスのスキルが必要。
つまり「どんなに最低でも、その職業で10年、ものごっつがんばって」到達できるかどうかが不明、程度。一応念のため「10年経験あるからオレ達人」とか思うエンジニアは滅びてください。理由の細かいあたりは、リファクタリングウェットウェア参照。


リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法

リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法


で。
もう一度、ハインリッヒの法則をちゃんと読んでみる。もうちょっと別なところ。

一件の大きな事故・災害の裏には、29件の軽微な事故・災害、そして300件のヒヤリ・ハット(事故には至らなかったもののヒヤリとした、ハッとした事例)があるとされる。重大災害の防止のためには、事故や災害の発生が予測されたヒヤリ・ハットの段階で対処していくことが必要である。


バグを「出してから対応」したい? それともバグが「出る前に対応」したい?
あなたがここから何を感じ取るか、は、あなた次第。