翻訳版 ソフトウェアエンジニアリング

これは、大学陰や大学のソフトウェア工学の教科書として編集されたもので、「ソフトウェア・エンジニアリング」全般にわたって、幅広く説明している。変化の激しいプログラム言語そのものについては殆ど収容されていないが、設計も含めて、それ以外の中長期にわたって使えるような知識のほとんど全てが書かれている。

これ一冊をマスターすることで、ソフトウェア開発の全体を知ることができる。

ただし、ちょっと高額なのと、たぶん4版は絶版になっていると思われる。[ソフトウェア・エンジニアリング]


ソフトウェアプロセス成熟度の改善

CMMの元になった「プロセス成熟度」についての解説本。CMMの中に現れる各種の取り組みについても、具体的な説明が為されているので、CMMの本(成功するソフトウェア開発 -CMMによるガイドライン)と併せて読むことをお勧めします。

初版本と比べて、用語の使い方などで一部改訂されているようです。[プロセス関係]


パーソナルソフトウェアプロセス技法

いわゆる「PSP」と呼ばれているもので、CMMが組織全体の取り組みのモデルであるのに対して、これはエンジニア個人に対するスキルアップ・プログラムです。組織の能力を上げるには、個人のスキルを引き上げる必要があるということで、95年に「A Discipline for Software Engineering」というタイトルで公表されました。この本は、トレーニング用に構成されていて、個人でも、章ごとに取り組んでいくことができます。すでに、幾つかの大学のカリキュラムの中で取り入れられています。 [プロセス関係]


Introduction to the Team Software Process

こちらは、「TSP」と呼ばれているもので、PSPが個人を対象にしたスキルアップ・プログラムであるのに対して、TSPは、チームのスキルを上げるためのトレーニング・プログラムです。PSPとCMMとで、ちょうど“3部作”のような形になっています。これも、PSPと同じように、アメリカの幾つかの大学に於て、カリキュラムに組み込まれているようです。

まだ今(2000年8月)現在、翻訳されていません。[プロセス関係]


成功するソフトウェア開発 -CMMによるガイドライン

これはSEIのテクニカルレポート版のCMMとは別に、Addison Wesley から市販された本の翻訳です。テクニカルレポートと違って、前半にいろいろと紹介記事が載っていたり、読みやすくしていますが、CMMの本文のところは、テクニカルレポート版と同じです。

なお、テクニカルレポート版の翻訳は、ソフトウェア技術者協会(SEA)からダウンロードできます。[プロセス関係]


ソフトウェアプロセス改善

こちらは、ヒューレット・パッカード(HP)社に於けるCMMの取り組みを元にしてまとめられた本の翻訳です。HP社の独自のノウハウを加味していますので、また違った角度で考えることが出来ると思います。HP社では、以前からこの種の取り組みは行われており、CMMも、その一環として取り込んだかたちになっています。[プロセス関係]


ソフトウェア病理学

ジョーンズの大作の一つで、ソフトウェア開発の現場において生じる問題を、「病理学書」という観点から捉え、その原因や対策を説明しています。ちょっとくどい所がありますが、それぞれのChapter は非常に楽しく読むことが出来ます。500ページを越えるボリュームがありますが、症例ごとにまとめられていますので、身近な症例から取りかかればよいでしょう。

プロジェクト・マネージャーの必見の書と言えるものです。[ソフトウェア一般]


 ソフトウェア開発201の鉄則

アランが、長年の経験の中で掴んだ、ソフトウェア開発に於ける原理原則と言えるものをまとめた本です。時代は変わっても、ソフトウェア開発のポイントは容易には変わりません。それらは、いわば「定石」のような意味を持っています。アランは、IEEE Software Magazine の編集長を長くやっていた関係もあって、多くの優れた人達との交流があり、その人達の論文や文献から紹介するという形をとっています。項目数が201もあるのと、原文をそのまま紹介するという形をとっている関係で、その文章には納得するものの、その意図するところや背景などに気付くのが難しいかもしれません。(そこで、私が勝手に、適当な章を取り上げて、解説してます。『ソフトウェア開発201の鉄則』の解説[ソフトウェア一般]


ソフトウェアの構造化ウォークスルー

ウォークスルーの決定版と言える本です。いわゆる「レビュー」の本の一つですが、ただのレビューではありません。ある意味では、この種のレビューが出来ないところに、日本の組織の弱さを見ることが出来ます。ここでは、担当者が“決定する”ことも、それにともなう“説明責任”も、はっきりと求められています。レビューのマナーについても、細かく書かれています。タイトルの「構造化」というのは、いわゆる「構造化プログラミング」の構造化とは意味が違います。「Structured」が単純に「構造化」と訳されただけで、本来は、「手順化された」と解釈する方が適切です。

なお、ここで言う「ウォークスルー」は、CMMでは、レベル3の取り組みにある「ピアレビュー」に相当すると考えています。[レビュー関係]


ソフトウェア技術レビューハンドブック

こちらは、レビュー技法全般についての心得や書式が書かれていて、直ぐに訳に立つという本です。サブタイトルに「実践的ノウハウに関するQ&A」とある通り、レビューの心得、当事者の作業、レビュー後の報告、さまざまなレビューの紹介などがまとめられています。「構造化ウォークスルー」の本と併せることで便利になります。[レビュー関係]


ソフトウェア工程管理技法

ソフトウェア開発全体の工程管理について触れている本です。プロセスモデルは、少し古くなってしまったかもしれませんが、基本は変わりませんので、特に問題はないと思います。取り扱っている範囲も広く、「崩れ対策」という章などは、良く考えられています。この種の文献は、中には、総花的にまとめられたものが多く、著者の意図を感じないものが多いのですが、この本は、著者の考え方が前面に出ています。[プロジェクト管理]


ソフトウェア・テストの技法

ソフトウェアのテストに関する“古典”です。古いですが、テストのあり方や取り組み方について、非常に分かりやすく書かれています。ソフトウェアのテストの基本的な考え方は、20年経っても大きく変化しているわけではありません。また、この本は、基本的な事しか触れていませんので、逆に、時代に影響されないとも言えます。また、この本には、「デバッグの仕方」が書かれていて、非常に参考になります。これも、時代の影響を受けない、基本的な考え方であり、取り組み方です。[テスト関係]


ソフトウェアテスト技法

久々のテストに関する翻訳本です。ただ、ボリュームがあって、この種のテーマに関する本を読み慣れない人にとっては、苦痛かもしれませんが、内容としてはレベルが高いテストの技法について述べられています。テーマを絞って、確実に読んでいくことをお勧めします。

最近の状況から、ハードの人達にも有効かと思っています。ゲートアレイの設計など、ソフト的な要素が増えているのと、論理テストや状態遷移テストなどの考え方は、テストの思考を身に付ける意味でも有効でしょう。[テスト関係]


実践的プログラムテスト入門

これは、先に出版された本(ソフトウェアテスト技法)と違って、テストの担当者向けに書かれた本で、内容の割には比較的コンパクトにまとめられています。どのようなテスト方法があるか、それはどのようにして実施するか、という観点から書かれたものです。テストを控えて、新しいテスト方法を一つひとつ身に付けていくには、適当な本です。[テスト関係]


ソフトウェアプロジェクト サバイバルガイド

如何にしてソフトウェア開発を破綻させないか、そのための方法や考え方、組織としての対応などが、分かりやすく、また読みやすく書かれています。「コード・コンプリート」の著者でもあり、この分野に於ては、造詣の深い人です。内容から、CMMを意識して書かれたように思われますが、逆に、そのような枠に囚われることなく、ここで書かれているような事を注意し、取り組んでいけば、同じような結果は得られるということです。[プロジェクト管理]


システム設計の構造化手法

この本は、全編、あるプロジェクトのプロセス(作業)を構造化分析の手法で表現したものです。作業は全て構造化分析のルールに則ってDFDで階層化されていて、作業によって生み出される成果物の定義はDD(データディクショナリ)で定義し、作業(プロセス)の具体的な仕様は、プロセス仕様で定義されています。CMMのレベル3(定義されたレベル)で求められる“プロセスの定義”の一つの表現として大いに参考になるものです。[プロセス関係]


アルゴリズム (全3巻)

データ構造の基礎から各種のアルゴリズムについて、非常に丁寧に、図解を交えて書かれています。簡単に考え方だけを知りたいという人には、却って、細かすぎるかもしれませんが、アルゴリズムを確実に修得したい人には、持って来いの本でしょう。[データ構造・アルゴリズム]


アルゴリズムとデータ構造

データ構造とアルゴリズムについて、もう少し手軽に、それでいて確実にアカデミックに解説した本です。この種の本は、だいたいにおいて同じような内容になってしまいます。違いは、アカデミックのところに立つか、実用的に直ぐに使えるというところに立つかです。後者の本ばかりではなく、一つは、アカデミックな解説も必要でしょう。[データ構造・アルゴリズム]