スキップしてメイン コンテンツに移動

エビデンスのセンス

Making Software ―エビデンスが変えるソフトウェア開発『Making Software』を読んだ。

本書は、下記の30章から構成される。公式ページでは「エッセイ集」と紹介されているけれど、「論文集」の色の方が濃かった。
  • 1章 有力なエビデンスを求めて
  • 2章 信頼性〜なぜ確信できなくてはいけないか?
  • 3章 システマチックレビューから学べるもの
  • 4章 ソフトウェア工学を質的手法で理解する
  • 5章 NASAのアプリケーションを通じて学んだこと:品質改善パラダイムの成熟
  • 6章 性格・知能・専門性がソフトウェア開発に及ぼす影響
  • 7章 プログラミングを学ぶことはなぜそんなに困難か?
  • 8章 コード行数を超えて:さらなる複雑度メトリクスは必要か?
  • 9章 欠陥数予測の自動化
  • 10章 アーキテクティング:いつ、どれだけ?
  • 11章 コンウェイの法則の系
  • 12章 テスト駆動開発はどれくらい効果的か?
  • 13章 コンピュータサイエンスに女性が増えない理由
  • 14章 プログラミング言語の比較 2通り
  • 15章 品質戦争:オープンソース対有償ソフト
  • 16章 コードを語る人
  • 17章 ペアプログラミング
  • 18章 近年のコードレビュー
  • 19章 共同作業場か、閉じるドアか?
  • 20章 グローバルなソフトウェア開発における依存関係の認識と管理
  • 21章 モジュール化はどれくらい効果的か?
  • 22章 デザインパターンのエビデンス
  • 23章 エビデンスに基づくエラー予測
  • 24章 バグレポート収集の技芸
  • 25章 ソフトウェアの大半の欠陥はどこから生じる?
  • 26章 若葉マークのプロ:最近の卒業生、はじめてのソフトウェア工学のお仕事
  • 27章 自力でのエビデンスマイニング
  • 28章 工学ツールとしてのコピーペースト主義
  • 29章 あなたの APIはどれくらい使いやすいか?
  • 30章 10倍が意味するものは?プログラマの生産性のばらつき測定
通読したけれど、逐一感想を書くと膨大になるから、関連する章をまとめて。

『1~8章(第Ⅰ部エビデンスの探究と利用に関する一般的原理)』
ソフトウェア工学のデータってあてにならないよね? じゃあ、どうやっていけばより信頼できるものになるだろうか? という話。ソフトウェア開発は、その方法がガンガン変わっている上に、作っているものも様々だから、比較可能な形で定量化するのは難しい。だから、尺度(どう測るか)を揃えて、コンテキスト(いわゆる背景情報)を明らかにしよう、と。それから、質的データにもっと注意を払ってもいいんじゃないか、という話もあった。質的データは確かにその通りだと思う。人間系の活動なので、尺度化が馴染まない部分も多いはず。

『9章、15章、20章、23章、25章』
品質関連の話。欠陥の80%はファイルの20%から見つかるとか、欠陥の25%はテスト環境に依存しているとか、欠陥の予測には最近の変更量や組織構造や平行タスクの有無が有用とか、盛りだくさん。

『10章』
本章を執筆したのは、バリー・ベーム。『アジャイルと規律』(感想) の要約版のような印象を受けた。こちらの方が学術寄りの書き方をしているから堅いけれど、その分密度が高い。具体的な数値も載っていたりして、面白かった。

『11章、23章』
コンウェイの法則、正確にはコンウェイの論文のポイント「(広義の)システムを設計する組織はどんな組織でも、その組織のコミュニケーション構造と瓜二つの構造を持った設計をしてしまうものである」に関する話が面白かった。だとしたら、組織が多重下請け構造となっているプロジェクトの設計は、それを反映しているのかな? だとしたらどんな設計になっているんだろうな? と思う。15章も組織が分散している場合の開発の話なので、間接的に関連している。

『12章、14章、15章、17章』
色んな俗説(順に、TDD、言語の違い、OSSとプロプライエタリ、ペアプロ、個室とオープンスペース)ってどうなの? という話。予想通りというか何というか明白な差はないという話が多い。個別に切り取って見ちゃうと良くないのかな? と思うと同時に、じゃあどうすれば見られる? と悩む。

『16章、19章、26章』
開発者のコミュニケーションの話。19章は面白いことに、パーティションという中途半端が最悪だと言っていた。確かに防音性能が無いくせにコミュニケーションも取りにくい。16章、26章は開発者がどれくらいコミュニケーションに時間を費やしているか示している。

『30章』
本章を執筆したのは、スティーブ・マコネル。ここまではエビデンスがどうこう言ってきたけれど、最後の本章ではそれに警告を発しているように思えた。実践者からしたら、そんなことより開発を進めたいと思うのが、自然だと思う。測定のために開発が非効率になったら、本末転倒。

まとまりがないけれど、まとめきれない情報量だと思う。でも、各章が独立しているので、つまみ読みしても面白いと思う。実際、間を空けて他の章の話を忘れていても、各章楽しめた。

なお、その他、読みながらツイートした感想を鏡双司(@SO_C)/「Making Software」の検索結果 - Twilogで確認できるので良かったらどうぞ。

このブログの人気の投稿

北へ - ゴールデンカムイ 16

『ゴールデンカムイ 15』、『〃 16』を読んだ。16巻を読み始めてから、15巻を買ったものの読んでいなかったことに気がつく。Kindle版の予約注文ではままあること。 15巻は「スチェンカ・ナ・スチェンク」、「バーニャ(ロシア式蒸し風呂)」と男臭いことこのうえなし。軽くWebで調べてみたところ、スチェンカ・ナ・スチェンク (Стенка на стенку) はロシアの祭事マースレニツァで行われる行事のようだ[1]。それなりになじみ深いものらしく、この行事をタイトルに据えたフォークメタルStenka Na StenkuのMVが見つかった。 16巻では杉元一行は巡業中のサーカスに参加することになる。杉元と鯉登の維持の張り合いが、見ていて微笑ましい。鯉登は目的を見失っているようだが、杉元もスチェンカで我を失っていたので、どっこいどっこいか。なお、サーカス/大道芸を通じた日露のつながりは、実際にもこのような形だったようだ[2]。 個々のエピソードから視線を上げて、全体の構図を眺めてみると、各勢力がすっかり入り乱れている。アシㇼパは尾形、キロランケ、白石とともにアチャの足跡を辿り、そのあとを鶴見のもとで家永の治療を受けた杉元が鯉登、月島を追っている。今更だけれど、杉元やアシㇼパは、第七師団と完全に利害が衝突していると考えていないはずだった。一方で、土方一味も入墨人皮を継続。むしろ彼らの方が第七師団との対立が深刻だろう。さらに北上するキロランケはまた別の目的で動いているようだけれど、なんで尾形も一緒なんだっけ? 『進撃の巨人』に引き続き、これもそろそろ読み返す時期か。 [1] 5つの暴力的な伝統:スラヴ戦士のようにマースレニツァを祝おう - ロシア・ビヨンド [2] ボリショイサーカスの源流は、ロシアに渡った幕末日本の大道芸人たちにあった 脈々と息づく「クールジャパン」 | ハフポスト

戦う泡沫 - 終末なにしてますか? もう一度だけ、会えますか? #06, #07

『終末なにしてますか? もう一度だけ、会えますか?』の#06, #07を読んだ。 『終末なにしてますか? もう一度だけ、会えますか?』の#06と#07を読んだ。#06でフェオドールの物語がひとまずは決着して、#07から第二部開始といったところ。 これまでの彼の戦いが通過点のように見えてしまったのがちょっと悲しい。もしも#07がシリーズ3作目の#01になっていたら、もう少し違って見えたかもしれない。物語の外にある枠組みが与える影響は、決して小さくない。 一方で純粋に物語に抱く感情なんてあるんだろうか? とも思う。浮かび上がる感情には周辺情報が引き起こす雑念が内包されていて、やがて損なわれてしまうことになっているのかもしれない。黄金妖精 (レプラカーン) の人格が前世のそれに侵食されていくように。

リアル・シリアル・ソシアル - アイム・ノット・シリアルキラー

『アイム・ノット・シリアルキラー』(原題 "I Am Not a Serial Killer")を見た。 いい意味で期待を裏切ってくれて、悪くなかった。最初はちょっと反応に困るったけれど、それも含めて嫌いじゃない。傑作・良作の類いではないだろうけれど、主人公ジョンに味がある。 この期待の裏切り方に腹を立てる人もいるだろう。でも、万人受けするつもりがない作品が出てくるのって、豊かでいいよね(受け付けないときは本当に受け付けないけれど)。何が出てくるかわからない楽しみがある。