勘と経験と読経

略すとKKD。ソフトウェア開発やITプロジェクトマネジメントに関するあれこれ。

ノンプログラマーなPMにおすすめの技術書(前編)

自分のまわりにも比較的多いノンプログラマーなプロジェクトマネージャ(例えばSIerに所属されている方)に現時点でおすすめする本をまとめてみる。技術に苦手意識のあるPMさんの参考になれば幸いである。

なお、PMはノンプログラマーで良いかどうかは正直なところわからない。他に何かの強みがあって(例えば現実歪曲空間が出せるとか、圧倒的に業務知識があるとか)、うまくマネジメント出来ているのであれば問題は無いだろう。困ってしまうのは、消去法でPMというキャリアを選んでしまう人だと思うが、その話は長くなるのでまた別の機会に。

なお、PMBOK関係や情報処理技術者試験(PM)関係の参考書などは除外しているが、これは学んで当たり前だと思っているのであしからず。

ソフトウェア開発ライフサイクル

最初に本書を紹介するのはかなりクレイジーなのだけれども、それでも手元に置いておきたい一冊。本書は業界標準的な開発プロセスに関する教科書である。中規模以上のソフトウェア開発組織だと自社で開発プロセス標準などを持っている事も多い。しかし、えてしてオレオレ開発標準になってしまっている事が多い。また、顧客と開発ベンダが個別独自にオレオレ標準を持っていたりすると、混乱の極みである。というわけで、網羅的かつスタンダードな本書は一度は目を通しておいたほうが良い。なおソフトウェア開発に関連した様々な標準などにも言及されており、辞書的にも便利。ただし読み物としては非常につまらないので注意。

■共通フレームとは
ソフトウェアの構想から開発、運用、保守、廃棄に至るまでのライフサイクルを通じて必要な作業項目、役割等を包括的に規定した共通の枠組み。
何を実施するべきかが記述されている、「ITシステム開発の作業規定(プロセス)」である。
■その目的は
日本において、ソフトウェア開発に関係する人々(利害関係者)が、「同じ言葉で話す」ことが出来るようにするため。
IPA SDM公開講座第3回 システム/ソフトウェアのライフサイクルプロセスと共通フレーム(PDF)

プロジェクトマネジメント(初級)

ソフトウェア開発の名著で有名なデマルコの本である。他の著作もお勧め。本書はプロジェクトマネジメントの「管理と人の側面」をピックアップした小説仕立ての本だ(ザ・ゴールみたいな感じ)。というわけで、あっという間に読み切れる(購入せずに、公立図書館などを利用するのも手だ)。有名なのは以下の一文。

正しい管理の四つの本質
・適切な人材を雇用する。
・その人材を適所にあてはめる。
・人々の士気を保つ。
・チームの結束を強め、維持する。
(それ以外のことは全部管理ごっこ)
デッドライン

プロジェクトマネジメントは小手先のテクニックではないのだ、ということを本書から学べると思う。なお、官僚的な上司やPMの下で不満が溜まっている時に読むと学習効果が2倍になる(わたしがそうだった)。

見積り

ソフトウェア開発で「見積り」というと「悪の象徴」と考える風潮がある(多分、人月契約や多重請負を想起するからだろう)。しかし契約の側面とは別に、ソフトウェア開発プロジェクトをマネジメントする上では見通しを確認するための「見積り」は必ず必要だ。見積りを単なる顧客に提出する事務的な作業と考えてはいけない。本書は、ソフトウェアの見積りを取り巻く様々な論点について包括的に触れると共に、さまざまな規模の見積りを行うためのテクニックも網羅した良著である。

ウォーターフォール的な長期的な見積りと計画の早期コミットには問題点がある。これに対して、アジャイル開発アプローチがあるのだけれども、大きな誤解がある。その際たるものが「アジャイルは計画しない」というものだけれども、そうではない。本書ではアジャイル開発における実践的な見積りと計画づくりを紹介している。

見積りと計画づくりは、期日やスケジュールを決定するためだけのものではない。計画づくりとは価値の探求なのだ。とりわけ計画づくりを継続的に繰り返しながらおこなう場合はそうだ。計画づくりとは、ソフトウェア開発の全体にわたる問いに対する適切な答えを探る試みだ。その問いとはすなわち「なにをつくるべきか?」である。
アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

本書は文字通りの見積りと計画の本なのだけれども、実は「見積りと計画の魂」に触れられる本だと思う。だから、たとえアジャイル開発をしていないエンジニアにも本書を読むことをお勧めしたい。

ソフトウェア工学の古典

あまりに有名な「遅れているソフトウェアプロジェクトへの要員追加はさらに遅らせるだけだ」(ブルックスの法則)が書かれた名著である。最新のソフトウェア開発に関する書籍でも常に本書は引用され続けている。ソフトウェア開発について学び続けるのであれば、原典としてまずおさえておきたい書籍である。読んであたりまえの一冊。

以下のWikipediaのページも参考に。


この記事の後編はこちら。