2018/8/7にワインバーグが亡くなりました(ということを今日知りました)。ので、追悼として、僕が影響を受けたワインバーグの本を紹介していきたいと思います。
ワインバーグを知らない方はぜひWikipediaを参照してみてほしいです。〜の法則みたいなユーモアに富んだ警句みたいなものが沢山めっちゃ見れます。
なお今回の記事は勢いに任せて一気に書いてしまっています。結構間違いがあると思いますのでご了承願います。
ほんでワインバーグという人がどんな人かというと、エドワード・ヨードンとかビル・ゲイツと一緒にIT殿堂入りしている人なんで偉大な人みたいなんですけど、僕にとっては、プログラミングという極めて論理的な作業に対して心理学とか社会学とかいう人文系の知識を持ち込んだら面白いんじゃねえかという主旨の本を書く人です。
ITに関してかなり初期(がいつからか分からんが)から活動している人で影響力が強く、例えば、レビューの指摘を受けてもそれはコードに対するものであなたに対してではないとか、品質というものは相対的なものだとか、そういうことが本に書いてあれば、それは直接的であれ間接的であれワインバーグの影響を受けていると言っていいと思います。ていうか、僕の知る限りワインバーグの本が出たのって1970〜2010くらいなので、ワインバーグがどのくらいソフトウェア文化に影響を与えたかが今からすると良く分からないというのが正直なところです。でもいい本はいっぱいあります。
ウチの本をひっくり返したところ、プログラミングの心理学がいっちゃん古くて1971年に出版されています。47年前に書かれたこの本では、認知的不協和という心理学的現象が紹介されます。これは、乱暴に要約すると、人間は自分が作品にかけたコストに応じて自分と作品を同一視する傾向があるというものです。つまりプログラマーにとってプログラムは自分と同じだと思う傾向が強いので、プログラマーはプログラムと自分を分離して考えるよう気をつけなければならないし、プログラミングに関わる人はプログラマのエゴを傷つけないよう慎重に言葉やふるまいを選ぶ必要があるということが述べられています。
プログラミングの心理学がプログラミング×心理学であるとすれば、ソフトウェア文化を創るシリーズはプログラミング×社会学っていう感じの本で、全4作、5年もかけて出版されたこのシリーズは現代のソフトウェア管理の土台の部分を固めた本の一つと言っていいんじゃないかと思います。内容は、品質とは何か(1)、ソフトウェアをどう測定するか(2)、いかにして適切に組織を管理するか(3)、そして組織変革をどう管理するか(4)と多岐に及びます。
個人的にこのシリーズで最も衝撃的だったのは変革管理という概念です。Aという状態からBという状態に組織が変革する場合、A→Bとはならず、A→カオス期→Bという順序で変革が起こり、そしてそれは管理可能であるということです。変革を管理するって、普通あんまり考えなくないですか?まあ、このシリーズは多岐に渡りすぎてて正直半分も理解できていないのですが、、、でもとても大事なことが書いてあるように思います。
個人的にワインバーグ本で最も好きな書籍はコンサルタントの道具箱で、僕にとっての行動の指針みたいなものです。金の鍵とかジャイロスコープ、酸素マスクなど謎のメタファがめっちゃあってワインバーグ節の真骨頂って感じがします。まあ、現実には、僕はこの本の10%も実践できていないんですけど。。。
この本を含め、ワインバーグの本には適合的という言葉が結構出てきます。この意味がどうもはっきりしないのですが、可能な限り感情を排除して妥当な行動するみたいな意味なんじゃないかと思うんですがどうでしょう。
ワインバーグはいつも、人間は弱くて馬鹿な生き物なんだから失敗して当たり前なんじゃねという立場で本を書いているように僕には感じられて、それはワインバーグがクローン病を患っていたことと無関係ではないように思います。弱い体を駆使して過酷な現実に対処する方法を模索する人、それが、僕の持つワインバーグのイメージです。
興味を持たれた方はぜひワインバーグ本を読まれてください。