リファクタリング・ウェットウェア
という本を読みました。(ISBN978-4-87311-403-3)
この本を引っぱり出したのは何回目かですが、正直なところ、扱いに困っています。
この本の主張には全面的に同意します。
- すべての知識は膨大なコンテキストに位置付けられている。
どんなコンテキストでも通用する知識というものはない。 - 知識は、それが適用可能なコンテキストとルールに置き換えられる。
しかし、コンテキストの数は膨大だから、知識をルールの形ですべて書き出すことは非効率(というよりも不可能。) - 知識は、コンテキストに位置付けられるのだから、
自分で経験しコンテキストを把握しなければ、知識を習得できない。
そして、そのコンテキスト自体を伝達することは非常に困難。
逆に、何が起きているのかに気づけば知識を習得することは容易。
が、ここから、自分はどうしても次のような結論に達してしまいます。
- ソフトウェア開発において(ノウハウの伝達を目的とした)標準化ドキュメントは無意味。
だって、すべてをカバーできないし。カバーできていると思われるのも困るし。
「暗黙知を形式知にせよ」と教えられたものですが、上記からはこれは否定されます。
ちょうどいいところ、というのがあるのかもしれません。
とはいえ、この本自体は、上記のような話だけにとどまるものではありません。
「達人プログラマーの思考法と学習法」という副題がついている通り、
どうやって学習したら達人になれるか、ということについて、いろんなノウハウが書かれています。
勉強会の話とか。
わりとおすすめの本です。
でも、「きっちりドキュメント」系の人が興味を持つかはわかりません。

shidaです。>ソフトウェア開発において(ノウハウの伝達を目的とした)標準化ドキュメントは無意味。>だって、すべてをカバーできないし。カバーできていると思われるのも困るし。には賛成です。>「暗黙知を形式知にせよ」と教えられたものですが、上記からはこれは否定されます。ここはちょっと違う解釈です。shidaは「暗黙知が形成されている」という状況を、「そのコミュニティの多くの人がコンテキストもルールも理解している」という状況じゃないかと(勝手に)思ってます。みんなが理解しているけど、明文化されていないものを明文化するのが大事なのかなと思ってます。新しい人が入ってきても、明文化されていて、かつ、聞ける人が多くいる。そんな状況が理想なのではないかと思います。
自分もコメント書いてみよう。> 何が起きているのかに気づけば知識を習得することは容易これは「本当か?」って思います。これが本当なら「(ノウハウの伝達を目的とした)標準化ドキュメントは無意味」と言えるのかもしれませんが、個人的にはこれが怪しいと思っているので、「一から十まで網羅したドキュメント」はいらなくても「どっちに向かっているのかを示すヒントとしてのドキュメント」として標準化ドキュメントは必要かなと思います。一から十まではいらないので非「きっちりドキュメント」という点では同じですが。ただ、書籍自体を見てないので方向がズレてるかもしれない。