エゴレスプログラミング
個性なしのプログラミング (多人数でのプログラム作成)
ワインバーグは「認知的不協和」と言っていたが、人間は己の主張と異なる主張を認めざるをえない時、それを受け入れるのに莫大なストレスを感じる。
そして、他に言い訳のしようがないとき(お金の為に、など、他人に対する言い訳がないとき)は、その主張を認めるべく、自身の精神を再構築する。
プログラミングとはプログラマの「主張」にほかならない、とワインバーグは言っている。
そして、それにバグがある事を認めるのは、本人にとってかなりのストレスを受ける事になる。
多くの場合、上記のような精神の再構築は起きない。
精神はそれよりも簡単な手段をとる。 つまり、礼儀正しく無視するのだ。
これは本人の無意識下で行われるので、本人はバグの存在を無視している事にすら気がつかない。
結果として、自分が書いたバグは他人のそれを見つけるよりもはるかに難しくなる。
エゴレスプログラミングの十戒
egoless programming
自我、エゴ(ego)
ソフトウェアレビュー(software review)
ピアレビュー(software peer review)
インスペクション(software inspections)
チームレビュー(team review)
ウォークスルー(software walkthrough)
ラウンドロビン(round-robin)
パスアラウンド(pass around)
ピアデスクチェック(peer desk-check)
アドホックレビュー(ad hoc review)
机上検査、机上チェック(desk-checking)
ペアプログラミング(pair programming)
静的テスト(static testing)
ソフトウェア品質(software quality)
バグ(bug)