コントラックス・ソフトウェア社のCEOであるスティーブ・マコネル著のこの『ソフトウェア開発プロフェッショナル』という本を読んでみた.スティーブ・マコネルといえば『
コードコンプリート
』(1994)や『
ラピッドデベロップメント
』(1998)などで知られている.そして,この日本版の訳を担当したのは,以前,会議でお会いしたことのある松原友夫氏,そして直接お会いしたことはないものの先輩にあたる山浦恒夫氏といった感じで,割と縁のある(?)方々である.
現在のソフトウェア開発では,それを支援する優れた手法やツールがあるにもかかわらず,それらをうまく使わないためにプロジェクトの成功が当たり前となっていない.そして,中国・インド・ロシアなどが日本の技術に追いつきつつある中,どのようにすればそのプラクティスが改善できるのかについて述べられている.
この本の構成は以下の通りとなっている.
| 第1部 ソフトウェア開発の泥沼 |
| ■ 第1章 恐竜との格闘 |
| ■ 第2章 愚者の金 |
| ■ 第3章 積荷崇拝的ソフトウェア・エンジニアリング |
| ■ 第4章 コンピュータ・サイエンス vs ソフトウェア・エンジニアリング |
| ■ 第5章 ソフトウェア・エンジニアリング基礎知識体系 |
| ■ 第6章 フランシス・ベーコンの『新機関』 |
| 第2部 個人のプロ意識 |
| ■ 第7章 孤児を希望 |
| ■ 第8章 プログラミング意識を高める方法 |
| ■ 第9章 コミュニティの形成 |
| ■ 第10章 建築家と大工 |
| ■ 第11章 ハンドブックの正しい書き方 |
| 第3部 組織のプロ意識 |
| ■ 第12章 ソフトウェア・ゴールド・ラッシュ |
| ■ 第13章 良いソフトウェア・プラクティスのビジネス効果 |
| ■ 第14章 天動説はなぜ覆されたのか |
| ■ 第15章 人的要素を数量化する |
| ■ 第16章 コントラックスの専門技術者育成プログラム |
| 第4部 ソフトウェア業界のプロ意識 |
| ■ 第17章 エンジニアリングのプロ |
| ■ 第18章 大学の苦しみ |
| ■ 第19章 臭いバッジ |
| ■ 第20章 専門的職業の倫理規定 |
| ■ 第21章 錬金術 |
|
以上のような章構成で,
・ソフトウェア・エンジニアリングとは?
・それとコンピュータ・サイエンスの違いは?
・そのエンジニアリングにプロが必要か?
・効果的なプラクティスが,会社によってどの点で異なり,どの点で同じか?
・ソフトウェア開発専門化のために組織はどんな支援をすべきか.
・開発者が一人前になるために何をすればいいか
・開発の真のプロを育てるために業界全体で何をすべきか
などについて迫っておりました.
さらにコントラックス社という割と洗練された組織でどのような取り組みが行われているか,そして,ソフトウェア技術者の免許交付制度についての筆者の意見などがよくわかりました.内容としては,多くの他の文献から事例などが引用されており,多くの本を読んだ気がしました.また,専門的な知識は特に必要なく,一般的な例などを織り交ぜてわかりやすく書かれていたので理解しやすく,プロジェクトマネージャ,経営者,学生が読んでも「なるほどねぇ」と思える本でした.