エゴレスプログラミング(えごれすぷろぐらみんぐ)情報マネジメント用語辞典

egoless programming

» 2011年11月07日 00時00分 公開
[@IT情報マネジメント編集部,@IT]

 自分の書いたプログラムの他人に見てもらい、改善点を積極的に指摘してもらうプログラミングスタイルのこと。

 プログラマはしばしば自分が書いたコードを私物化し、他人にバグや不具合を指摘されることを嫌う。これに対して、ジェラルド・M・ワインバーグ(Gerald Marvin Weinberg)は著書『The Psychology of Computer Programming』(1971年)で、同僚にコードを見せ、アドバイスを謙虚に受け入れる開発現場ではソフトウェアの品質が高くなることを紹介した。

 このようなソフトウェア開発チームにおける品質向上策を“エゴレスプログラミング”という。これはコードを見る側も見せる側も「自分の方が優れている」などといった自尊心を捨て、純粋によりよいものを作るという意識共有が必要になる。ピアレビューやオープンソース開発の原点とされる。

 ワインバーグは「エゴレスプログラミングの十戒」を挙げている。

  1. あなた自身も間違いを犯すということを理解し受け入れよ。
  2. あなたの書いたコードはあなた自身ではない。
  3. あなたがどれほど“カラテ”を学ぼうと、まだほかに達人はいる。
  4. 相談なしにコードの書き直しをしてはならない。
  5. あなたよりも無知な人にも尊敬と敬意と忍耐をもって接しよ。
  6. 世界で唯一変わらないことは、変わるということだけである。
  7. 本当の権威とは地位ではなく知識から生じる。
  8. 自ら信じるもののために戦え。ただし、負けは潔く受け入れよ。
  9. “部屋に籠りきり”になるな。
  10. 人ではなくコードを批評せよ ? コーダーには優しく、コードには厳しく。

参考文献

▼『プログラミングの心理学――または、ハイテクノロジーの人間学』 ジェラルド・M・ワインバーグ=著/木村泉、久野靖、角田博保、白浜律雄=訳/技術評論社/1994年11月(『The Psychology of Computer Programming』の邦訳)

▼『プログラミングの心理学――または、ハイテクノロジーの人間学〈25周年記念版〉』 ジェラルド・M・ワインバーグ=著/木村泉、久野靖、角田博保、白浜律雄=訳/毎日コミュニケーションズ/2005年3月(『The Psychology of Computer Programming: Silver Anniversary Edition』の邦訳)

▼『ソフトウエア開発55の真実と10のウソ』 ロバート・L・グラス=著/山浦恒央=訳/日経BP社/2004年4月(『Facts and Fallacies of Software Engineering』の邦訳)


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ