今までに読んだ本の中から、ためになったもの、読んでみることをすすめたくなるような本を(覚えている範囲で)紹介します。
Contents:
日経BP社 トム・デマルコ,ティモシー・リスター著 伊豆原 弓 訳
リスク管理の本だが、ソフト業界がいかにおかしな常識にとらわれているかということに気づかされる。顧客とwin-win(共存共栄)の関係を築くためにもリスクをきちんと理解することが必要。この本では、リスクとは何か、リスク管理の方法などの説明とともに
を薦めている点が興味深く、役に立ちそう。
本題ではなく軽く触れられている部分だが、この本ではWBS(作業分解図)を「遂行すべき作業の ネットワーク と、その依存関係」であると定義している。ソの標準プロセス内ではWBSを階層図(ツリー)で表すことに不満があったのだが、ネットワーク図(システムクリエイツ提唱のPFDを利用するとよいと思う)で表現する方法があったことに安心した。そうでないと複雑な作業を把握することは難しい。
話が脱線したが、この本を読めばリスクについての基本が理解でき、すぐにでも仕事に役立つだろう。
日経BP社 バリー・ベーム, リチャード・ターナー著 河野 正幸・原 幹・ 越智 典子訳
アジャイル手法だけ、あるいは計画駆動手法だけでは千差万別のプロジェクトには対応できないことは何となく感じていたが、この本ではその点をはっきりと示し、そしてプロジェクトに応じて両手法の長所を混在させる手法を示している。この本で提唱している手法を簡単に実行できるとは思わないが、1つの開発手法だけを適用しようとすることには無理があるということを頭に入れておくことは有効なことだと思う。
広文社 荻原剛志著
Objective-Cの文法と、FoundationKitを中心としたCocoaプログラミングの入門書。Objective-CでCocoaプログラミングをしようと思っている人はこの本を読んでおくことをおすすめする。Mac関係は日本語の資料が非常に少ないので、この本の存在は大変貴重だ。 この本を読む前はObjective-Cなんて、CにSmalltalkの要素を足しただけで簡単だと思っていたのだが、カテゴリやクラスクラスタ、非形式プロトコルなど、意外に奥が深いことを思い知らされた。 この本のサンプルプログラムはコマンドライン(Terminal)からコンパイル/実行するものがほとんどで、ApplicationKitの説明は必要最小限しかないし、InterfaceBuilder/ProjectBuilderの説明は全くない。なので、この本だけではMacらしいGUIリッチなアプリケ−ションを作ることはできないが、ベ−スとなるObjective-C,FoundationKitについてしっかり理解しておくことはCocoaプログラミングの基本だ。 この本の次に読むようなApplicationKitをばりばり使うための本の登場が望まれる。
技術評論社 ジェラルド・M・ワインバーグ著 木村泉、角田博保、久野靖、白濱律雄訳
原著は1970年頃に書かれたものであるが、原著者の事実を捕らえる目の鋭さのためか、またはプログラマの心理が当時と現在とでほとんど違いがないためなのか、2001年の今でも十分に役に立つ教訓が数多く含まれている。内容は、心理学を基本としているため多少難しいが、紹介されている数々のエピソードや、それに対する皮肉たっぷりのコメントは興味深いもので、飽きることなく最後まで読みすすめることができた。難しい話は抜きにして、コメディーとして読んでもいいのではないかとさえ思える。例えば、第二次大戦中、米国陸軍が熱帯地方で成績の悪い兵士と寒冷地で成績の悪い兵士がいることに気づき、どの作戦地にどの兵士を送り込むのが適切なのかを判断するために大規模な研究を行ったというエピソードが紹介されている。その研究はあまりに大規模だったため、研究が終了したのはちょうど戦争が終わったと同時だったそうだ。ここで落ちたと思ったらまだ続きがあった。研究の結果わかったことは、熱帯地方で成績が悪い兵士は暑いのが嫌いだったということだけだったらしい...。 このような逸話とともに教訓が示されている。その中で私が気に入ったのは”エゴレス方式”と”非公式的組織”。これらがどのようなものなのか、気になる人は本書を読んでみてほしい。
アジソン・ウェスレイ Bjarne Stroustrup著 長尾高弘訳
かなりのボリュームで、全部読むのは一苦労だけど、C++を使っているなら一度目をとおすことをおすすめしたい。正直に言って、一度読んだだけでは理解できなかったところもあるけれど、今まで知らなかったC++の仕様、注意点、標準ライブラリの使い方など、勉強になる。 ただし、日本語訳にはかなり怪しいところがあるようなので、正確な情報が必要な場合は原著をよむべし。
ピアソン・エデュケーション M・クライン,G・ロモウ,M・ギルウ著 金澤典子訳
C++の基本、注意点だけでなく、オブジェクト指向設計の話もあり、参考になる。
ソフトバンク スコット・マイヤーズ著 岩谷宏訳
C++を使う上で是非知っておきたい重要なテクニックなどが紹介されている。
アスキー Scott Meyers著 安村通晃、伊藤聡一郎、飯田朱美訳
Effective C++と一緒に読んでおきたい一冊。
翔泳社 マーチン・ファウラー著 羽生田栄一監訳
UMLを開発の中で実際にどのように使うのか、わかりやすく書かれている。いくつかあるコラムが意外に、重要なことが手短に紹介されていて参考になる。
日経BP アラン・M・デービス著 松原友夫訳
ソフト開発の伝統的な"鉄則"が201個紹介されている。いくつかは古臭いものだが、現在でも十分通用する鉄則もあり、より深く学ぶ出発点として目をとおすといいかも知れない。
ソフトバンク・パブリッシング Eric Gamma, Richard Helm, Ralph Johnson, John Vlissides著 本位田真一、吉田和樹訳
これは必読!オブジェクト指向設計で日常的に使われる"パターン"が説明されている。この本に載っているパターンだけでも知っておけば、簡単な設計で悩むことがかなり減ることでしょう。いまやパターンなくして設計は語れません。
ピアソン・エデュケーション マーチン・ファウラー著 児玉公信、友野晶夫、平澤章、梅澤真史訳
ピアソン・エデュケーション ケント・ベック著 長瀬嘉秀監訳
ユーザと開発者、あるいは開発者どうしで頻繁にコミュニケーションを取りながら開発をすすめることを基本とした方法であるeXtreme Programming(XP)の入門書。XPをやるかどうかに関わらず一度読んでみれば、新しい価値観に目覚めるかも。 日本語訳に難があります。