『Making Software』を読んだ。
本書は、下記の30章から構成される。公式ページでは「エッセイ集」と紹介されているけれど、「論文集」の色の方が濃かった。
『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で確認できるので良かったらどうぞ。
本書は、下記の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で確認できるので良かったらどうぞ。