『ソフトウエア開発 55の真実と10のウソ』(Glass, Robert L. 山浦 恒央[訳]. 日経BP社, 2004)についてのメモ.
ソフトウェア開発やプログラミングに少しでも関わったことがある人なら,この本で挙げられてる「真実」や「ウソ」の真偽について議論するのは興味深いと思う.私が特に気にいった真実とウソを以下に挙げておく.
真実6売る側は言いにくいだろうけど…
新しいツールや技法を学習すると、最初は生産性や品質が下がる。実際に効果が出るのは、ツールや技法が完全に身についてからだ。従って、ツールや技法の導入が効果的なのは、(a)効果が現実的である、(b)気長に効果が出るのを待てる場合に限る。
真実41しかし,保守は面白そうな感じがしないし,軽視されているように見える…
保守には、ソフトウェアのコストの40〜60%(平均60%)がかかる。従って、ソフトウェア・ライフサイクルの最重要フェーズである。
真実55ある技法を評価して「効果は謳われているほどではない」という論文を書くより「私が(開発|発見)した技法なら,すごい効果がでる」という論文を書きたいという気持ちはわからないでもない…
大部分の研究者は、技法を「分析」するのではなく、「擁護」する。その結果、(a)研究対象の技法は、実際には、自分が信じるほどの効果はなく、(b)技法の本当の価値を検証する評価研究が足りない。
ウソ10プログラムの読み方から始まる授業は教えられる側が嫌がりそうだ…
プログラムをどう書くかを見せれば、プログラミングの方法を教えられる。