ソフトウエア・プロジェクト


  「熊とワルツを」  
  「ソフトウェア職人気質」  
「ゆとりの法則 誰も書かなかったプロジェクト管理の誤解」  
「ピープルウエア 第2版」  
「人月の神話」  
「ワインバーグのシステム思考法」  
「デバッギング ザ デベロップメント プロセス」  
「ソフトウエア開発のダイナミズム」  
「プログラマーの復権」  
「プログラミングの心理学」  
「ワインバーグのシステム洞察法」  
「ワインバーグのシステム行動学」  
  「ソフトウエアの成功と失敗」  
  「デスマーチ」  
  「ソフトウエア プロジェクト サバイバル ガイド」  
  「ラピッド デベロップメント」  
  「ソフトウエア プロセス改善」  
  「デマルコ 大いに語る ソフトウエア24の閃きと冴え」  
  「デッドライン ソフト開発を成功に導く101の法則」  
  「未来をビジュアル化するプロジェクト管理」  
  「ソフトウエア プロジェクト管理」  
  「プロジェクトマネジメントの基礎知識体系」  
  「ソフトウエア開発 201の鉄則」  
  「プロジェクト マネジメント」  
     
     


「熊とワルツを」

トム・デマルコ/ティモシー・リスター
日経BP社(2003)
評価:★★★★
cover
まったくリスクのないプロジェクトに手を出すのは負け組みだ。かならずといっていいほど、何も得るものはない。そうでなければ、とっくの昔に誰かが片づけているはずだ。時間と労力を節約して、もっと価値のあることに使ったほうがいい。
リスク管理を構成する主な活動
・リスク発見・・・ブレーンストーミングによるリスク選別と、新しいリスクを発見するための継続的なプロセスの導入
・エクスポージャー分析・・・それぞれのリスクが実現する確立と、その影響を数量化する。例えばリスクの発生確率が20パーセントで、発生した場合に100万ドルのコストがかかるとしたら、リスク・エクスポージャーは20万ドルである。
・危機対応計画・・・リスクが実現した場合に何をするべきかを計画する。これのみをリスク管理と誤解されることが多い。
・軽減・・・リスクの発生を検出する指標を考え、発生までにとる処置を計画する。例えば火災のリスクに対し、消火器、火災報知機の設置避難訓練など。
継続的な移行監視・・・管理するリスクを追跡し、実現しないかどうかを監視する。
デンバー国際空港 この失敗は、言われているようなソフトウェアの開発プロセスの問題ではなく、リスク管理がなされなかったことが問題である。
「測定していないものはコントロールできない」のデマルコの言葉通り、数量化し、リスク図で考える方法が示される。 リスク図とは縦軸に確率、横軸にスケジュール、あるいはコストをあらわしたグラフである。 例えばプロジェクトの完了を、「プロジェクトは年内に完了します。」という代わりに「年明けまでに完了する確率は0です。完了する確率が最も高いのは来年4月の始めです。少なくとも5月以降でしたら5分以上です。」などと説明する。
リスク発生の検出における、進捗メトリック、特にEVR(稼得価値)の重要性。
さらにリスク軽滅のためのインクリメンタル手法の説明。
究極のリスク軽滅戦略は「早くスタートすること」。
プロジェクトのスケジュールとコストをリスク図を使って考えるのと同時に、発注者は、プロジェクトの利益をリスク図を使って同じ精度であらわさなければいけない。

本書は会社の中でのソフトウェア・プロジェクトのリスク管理の方法を述べていますが、SOHO事業者の立場から、リスク管理を考えるきっかけになりました。 SOHOとしては、いいニュースは、リスク管理に反対する人は誰もいないこと、悪いニュースは、人員の離脱(健康の問題でしょうか)等に対応するすべをもたないことです。 この辺の弱点を、パートナーとのコラボレーションで補うというのが、今後のあり方かなと考えさせられました。 内容はソフトウェア・プロジェクトに特化されていますが、業種、業態を問わず、全ての方にお勧めです。
 


「ソフトウエア職人気質」

ピート・マクブリーン
ピアソン・エデュケーション(2002)
評価:★★★
cover
従来のソフトウエア工学を補完するものとしてソフトウエア職人気質(Software Craftsmanship)を提唱している。全面的に賛成というわけではないが、ソフトウエア工学に対する問題点の提起は、うなずくところが多い。ソフトウエア工学の問題点すべてがソフトウエア職人気質のメタファで解決できるとは思えないが、ソフトウエア工学で捉えそこなっている、優秀な個人に依存するするプロジェクトを見るにつけ、双方を両立させる方法はないものかと悩みは尽きない。
 


「ゆとりの法則 誰も書かなかったプロジェクト管理の誤解」
トム・デマルコ
日経BP社(2001)
評価:★★★☆
cover
デマルコの新作。今までのデマルコの主張の繰り返しも多いのだが、スピード崇拝の風潮に対して、ある程度の「ゆとり」がないと変更や再生が難しいと説く。特にリスク管理の章は、単純化されてはいるが、本質をついて説得直があり、よくまとまっていて、この章のためだけにも本書を読む価値がある。





「ピープルウエア 第2版」(1987)
トム・デマルコ、ティモシー・リスター
日経BP出版センター(2001)
評価:★★★★☆
cover
様々な所で参照されている古典の第2版です。
副題はPRODUCTIVE PROJECTS AND TEAMSで、ソフトウエア開発におけるプロジェクト、チームのあり方です。軽い本なので半日で読めます。現代では少し古くなったところもありますが、デマルコとリスターの着目点は完全に正しいと思います。あらたに8章が追加されている。チームとグループ、ミーティングとセレモニー等身につまされる話がありますが、1版ほどのインパクトはないですね。





「人月の神話」
−狼男を撃つ銀の弾丸はない−(1996)
“The Mythical man-month essays on software engineering”(1995)
フレデリック・P・ブルックス Jr.
アジソン・ウェズレイ・パブリッシャーズ・ジャパン
発売 星雲社
評価:★★★★
cover
有名な本の20周年記念増訂版。「ソフトウエア開発の神話」に、「狼男を撃つ銀の弾丸はない」を加え、さらに現在の時点で、これらが正しかったかどうか検証している。
前者は人と月は交換可能ではないという主張を中心にした考察。(つまり、3人で4ヶ月かかる開発は、6人にかければ2ヶ月でできるわけではない。)後者は、ソフトウエア生産性を飛躍的に向上させる特効薬はない、という主張。






ソフトウエア文化を創る1
「ワインバーグのシステム思考法」
(1992)
G.M.ワインバーグ
共立出版(1994)
評価:★★★★☆
cover
原題は”Quality Software Management: Volume 1 Systems Thinking”。
ワインバーグの著作には教えられることが多いが、本書は、ソフトウエア・プロジェクトを成功させるための管理者向け著作である。ワインバーグの豊富なコンサルタント経験に基づいた提言は説得力がある。残念なのは、今までの木村泉さんの翻訳に比べ、かなり読みにくくなっていることである。他に「コンサルタントの秘密」(共立出版)を強く勧める。






「デバッギング ザ デベロップメント プロセス」
DEBUGGING THE DEVELOPMENT PROCESS(1994)
STEVE MAGUIRE
アスキー出版局(1995)
評価:★★★★
cover
マイクロソフトのSTEVE MAGUIREによる開発工程の改善に関する考察。コンサルタントとしての立場からではなく、自信をチームの一員としての立場からの提案は説得力がある。翻訳の質はよく(遠藤美代子氏)非常に読みやすい。









「ソフトウエア開発のダイナミズム」
Jim McCarthy(1995)
アスキー出版局(1997)
評価:★★★
cover翻訳は最悪ですが、いいことも書いてあります。ソフトウエア・プロジェクト管理者向けエッセンスです。












「プログラマーの復権」(1996)
エドワード・ヨードン
トッパン(1997)
評価:★★★
cover
ヨードンは何年かおきに、その時々のソフトウエア工学の状況をまとめた本を出している。前回は「ソフトウエア管理の落とし穴」(原題:アメリカのプログラマーの衰退と失墜)だったが、今回は「アメリカのプログラマーの蘇生と復興」である。










「プログラミングの心理学」
ジェラルド・M・ワインバーグ
技術評論社(1994)
The Psychology of Computer Programming(1971)
評価:★★★★★
cover
ソフト開発に携わる全ての方に強く本書を薦める。今まで翻訳されなかったのが不思議だ。(いろいろなところで言及される古典だが。)出てくる技術は古いが、本質的な議論は現在でも的を得ている。豊富な実例とユーモアで飽きさせない。
 








「ワインバーグのシステム洞察法」(1996)
Gerald M. Weinberg
Quality Software Management Volume2
First-Order Measurement(1993)
ワインバーグの4巻シリーズの2巻目である。ここでは、“1次計測−ソフトウエア開発で何が起こっているかを観察し観察の意義付けを理解する能力−”がテーマである。
評価:★★★★☆
cover
本書を紹介する際の基礎知識として、まず、サティアの交流モデルがある。これは観察から行動にいたるモデルで、「情報の取り込み」->「意味付け」->「意義付け」->「反応」の流れからなる。「意味」は取り込んだデータにはないものである。また「意義」は「意味」の「意味」であり、私たちの頭脳が扱える大きさに変えるフィルターである。
もう一つの前提知識は、「ソフトウエア工学の文化パターン」である。ハンフリーのプロセス成熟度に近い。






「ワインバーグのシステム行動法」(1996)
Quality Software Management Vol.3
Congruent Action(1994)
Gerald M. Weinberg
評価:★★★★☆
cover
ワインバーグの4巻本の3冊目。Congruent Actionとは、”適合的行動”と訳されているが、要は状況にふさわしい適切な行動である。ソフトウエア開発において、適合的でない例は次のようなものである。どのようにしたら適合的に行動できるかがテーマである。








「ソフトウエアの成功と失敗」(1997)
Capers Jones
Patterns of Software Systems Failure and Success(1996)
評価:★★★
cover
この本棚でもワインバーグの書籍は何度も紹介した。Capers Jonesもワインバーグと同様、IBMの出身であるが、アプローチは対照的である。すなわち、失敗よりも成功から学び、人間的要素よりも徹底的にツールで武装化することを薦める。この本は彼の会社、SPRの宣伝の要素が強い。にもかかわらず、本書は次の言葉で締めくくられている。
「結論として、ソフトウエア分野全般において、人の問題とソフトウエアスタッフの優秀性の問題が最も重要であると言える。」





「デスマーチ」
なぜソフトウエア・プロジェクトは混乱するのか
エドワード・ヨードン
トッパン(1998)
DEATH MARCH(1996)
The Complete Software Developer's Guide to
Surviving "Mission Impossible" Projects
評価:★★★
cover
WindowsNTの開発は、「死の行進」(デスマーチ)と呼ばれたが、この本の副題が内容を簡潔に言い表している。それは。「不可能指令(「スパイ大作戦」の原題)プロジェクトを生き延びる為のソフトウエア開発者への完全ガイド」である。









「ソフトウエア プロジェクト サバイバル ガイド」
日経BPソフトプレス(1998)
Steve McConnell
SOFTWARE PROJECT SURVIVAL GUIDE(1998)
評価:★★★★★
cover
マイクロソフトプレスの1冊。私が読んだプロジェクト管理の教科書の中で最良の1冊。全てのリーダー、管理者に強く薦める。数十年にわたるソフトウエア業界の知識を凝縮した、銀の弾丸に頼らない正当な手法である。次は本書の冒頭にある文だが、当然(我々の)ソフトウエア プロジェクトの比喩である。

くまのエドワードが階段を降りて来る。ドン、ドン、ドンと仰向けになって階段に頭をぶつけながら、クリストファーロビンに引かれて来る。彼の知る限り、階段を降りる方法はこれしかないようである。しかし、ときどき彼は、実はほかにも方法があるのではないかと考える。こんな風にドンドンと頭をぶつけるのをやめて、ちょっと考える時間さえあれば。でも結局、そんな方法は多分ないのだろうなと思い直すのだった。



「ラピッド デベロップメント」アスキー出版局(1998)
"RAPID DEVELOPMENT"(1996)
Steve McConnell
評価:★★★★☆
cover
「コードコンプリート」や「ソフトウエアプロジェクト サバイバルガイド」のMcConnellの2冊目の著作。「サバイバルガイド」と共に管理者、リーダーの必読書。サブタイトルは「無茶なソフトウエアスケジュールを軌道に乗せる」。本書は3編から成る。「効率的開発の基本」「考慮すべき事項」「最良の手法(ベスト・プラックティス)」。実例と共に、いくつかの架空のケーススタディがちりばめられているが、私は「2−2」のケーススタディを読んで素直に感動してしまった。そうだ、ソフトウエア開発はこうでなくては・・・。テクニカルリーダーであるサラのプロジェクトのスタートにあたってのメンバーへの言葉である。

「このチームにあなた達を選出したのは、それぞれが開発の基本をよくわかっているからです。あなた達は,要求の収集と設計においてどうすればよい仕事ができるかわかっているはずです。ですから,下流工程で必要のない修正作業に時間を浪費することはないはずです。このプロジェクトに関連する全ての人に一生懸命ではなく、賢く仕事をしてもらいたいのです。働きすぎる人は非常に多くのミスをします。私達には、ミスをしている時間はありません」
「また、リスク管理の計画も一緒に立てます。スケジュールが非常にきついため、避けることができるリスクはきちんと回避しなければなりません。このリストの最も高いリスクは,スケジュールが達成できないかもしれないことです。週末にスケジュールを再評価して、達成できない可能性があれば,問題が何かをはっきりさせます」


「ソフトウエア プロセス改善」
Robert B. Grady 共立出版(1998)
Successful Software Prosess Improvement(1997)
評価:★★☆
cover
本書はヒューレット・パッカードの外部発表用の建前論である。デマルコの「大いに語る」で「×10計画」が失敗だったことを知ると読む気が失せる。しかも翻訳が悪く非常に読みづらい。しかし理想論的目標として役に立つ部分も多い。ソフトウエアのプロジェクトとは別に、プロセス改善プロジェクトを定義し、HPの例をまじえて成功へのノウハウを紹介している。特にインスペクションによるメリットの例が多い。


「デマルコ 大いに語る ソフトウエア24の閃きと冴え」
Tom DeMarco(1995)
日科技連(1998)
評価:★★★★★
cover
「ピープルウエア」のデマルコのエッセイ集。3章の対談相手のシーラ・ブラディはアップルのPowerPCプロジェクトの担当プログラム・マネージャーである。リーダー、管理職に読んでもらいたい1冊。デマルコの著作の中で最良の1冊。








「デッドライン ソフト開発を成功に導く101の法則」
トム・デマルコ 日経BP社(1999)
評価:★★★☆
cover
物語仕立てのベストプラックティス物。軽い読み物なので、1日で読めるが、その意味するところは、50年にわたるソフトウエア産業のノウハウを集めた重いものである。ここでは法則のみを抜粋するが、本文を合わせて読めば、説得力が増す。主人公のトムキンス氏は、ビッグバンを提唱した、物理学者ジョージ・ガモフのトムキンス・シリーズに敬意を表したものである。文中、C.ジョーンズ、ベーム、ワインバーグやヨードン他の有名人たちが現れる(ちょっと変形した名前で・・・)。蛇足だが、「不思議の国のトムキンス」を読んだのは中学生のときだったが、奇しくも同じ頃、TVでやっていた「プリズナーNo.6」を思わせるストーリー展開である。




「未来をビジュアル化するプロジェクト管理」
増倉 洋
株式会社SCC(1999)
評価:★★☆
cover
一風変わったプロジェクト管理の本である。Microsoft Projectを使ったプロジェクトの手なずけ方を、「良性プロジェクト」「異文化コミュニケーション型プロジェクト」「視界不良型プロジェクト」に分類し、実例を示しながら解説する。著者はMicrosoftのWorks等ののプロジェクトを指揮したことがある。本書は単なるProjectのマニュアルではなく、著者自ら得たベストプラックティスとともに説得力の有るものとなっている。以下は抜粋である。表題の「ビジュアル化する」の意味は、プロジェクト管理ソフトを使って、プロジェクトの未来をGUIを使って分かりやすく目に見えるものにする、くらいの意味合いである。


「ソフトウエア プロジェクト管理」
Software Project Management:A Unified Framework
ウォーカー・ロイス
アジソン・ウェスレイ・パブリッシャーズ・ジャパン(1999)
評価:★★★★☆
cover
既存のソフトウエア工学のベスト・プラックティスに疑問を投げかける挑発的な管理論。学問的な管理論が多い中で、著者は自分の開発経験から、今までのベスト・プラックティスを再検討する。著者の方法論は、最新ツールで武装した、インクリメンタルな開発手法である。著者がツールメーカーで働いていることを差し引いても、十分な説得力がある。とにかく完璧にレビューすれば良いという風潮に風穴を空けるかもしれない。
 





「プロジェクトマネジメントの基礎知識体系」
Project Management Institute Standard Committee
エンジニアリング振興協会
プロジェクト・マネジメント部会(1997)
評価:★★★

Pmbok(ピンボックと発音する)と呼ばれるガイドの和訳である。原書は北米PMI(Project Management Institute)で作られた。Pmbokの使命は(1)プロジェクトマネジメントの適用分野(業界)を超えた標準知識体系を定めて、プロジェクトマネジメントプロセスの共通概念・用語を設定し、(2)プロジェクトマネジメント実践者の知識面での自己啓発のベンチマークとし、(3)PMIが行うPMI PMP資格認定や大学でのプロジェクト教育のカリキュラム認定の基準とする、ことにある。ここで言っているプロジェクトとは、ソフトウエア開発はもちろん、薬品開発、建設やイベントの実行などを含んだ幅広いものである。この本を読みながら、自分のプロジェクトと照らし合わせることで、意外な発見がある。今まで意識していなかった様々な環境や管理するべき項目がある。自分のプロジェクトのステークホルダーは何に相当するのか、プロジェクトのスコープ、プロダクトのスコープについてはどうか、リスク管理はきちんと行われているか、コンティンジェンシー計画は立てられているか等など。より一般的な立場からプロジェクトを見直すことで、業界標準とのベンチマークにもなる。さてあなたのプロジェクトはどうであろうか?


「ソフトウエア開発 201の鉄則」
Alan M. Davis
日経BP社(1996)
評価:★★★☆
cover
様々な文献から得られた、201の原理。非常にお得な本である。というのは100冊以上のソフトウエア工学書のエッセンスだからである。1ページに一つの原理が記述され、キャッチコピー、解説、出典の構成となっている。「本棚」でも紹介したWeinberやDeMarco、McConnellからの引用も多い。3時間もあれば全部読め、必ず得るものがあると思う。一読を薦めるが、できればそれぞれ原著で読みたいものである。







「プロジェクト マネジメント」
福沢恒
ダイヤモンド社(2000)
評価:★★★
cover
アンダーセン・コンサルティングにおけるプロジェクト管理の経験を元にした、実践的なノウハウ集。日本企業の風土を踏まえた内容は貴重である。著者はプロジェクトリーダーにはリーダーシップとマネジメントの側面があるとする。リーダーシップはカリスマに近く、持って生まれたものであるが、マネジメントは技術論であり、経験と学習で上達することができる。本書は、この技術についての勘所である。もっと実際の場面での経験談を盛り込んでほしかったことと、既存のプロジェクトマネジメントのベストプラックティスの成果も取り入れてほしかったが、読みやすい入門書である。