蔵書紹介:レガシーコードからの脱却/David Scott Bernstein
本の概要
『レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス』David Scott Bernstein (著), 吉羽 龍太郎 (翻訳), 永瀬 美穂 (翻訳), 原田 騎郎 (翻訳), 有野 雅士 (翻訳)
レガシーコードを作り出さないためのプラクティス、特に開発手法について書かれている。レガシーコードは問題の原因になり、事業の収益性や信用、スピードを下げてしまう。たとえば保守性が低い(メンテナンスのコストが高い)、性能が低かったり時間経過で劣化する(処理速度が遅い)、機能やデータに不具合が起きやすく発覚も遅い、といった問題を起こす。この問題を減らすために、本書は最初の開発段階でレガシーコードを作り込まないことを目指す。
本書のプラクティスでは、アジャイル、スクラム、エクストリームプログラミングやテスト駆動開発をベースにした開発手法が多く説明されている。タイトルに「レガシーコード」とあるが、プログラムのコーディングについてはほとんど書かれていない(プラクティス7のテストの章にはソースコードが書かれている)。
購入経緯と読書状況
仕事で扱うシステムが典型的なレガシーコードだったため、打開のために本書を購入した。しかしレガシー脱却の取り組みは優先度を上げづらく、予算や時間を割くことができずにいたため、読むモチベーションが上がらずに買ったまま寝かせている。この記事を書くために帯や目次を見て、すでにレガシーになっているものを治す方法ではなく最初からレガシーを作り込まない方法が書かれていることや、コーディングではなくアジャイル開発手法について書かれていることを初めて知ったくらいには、全然読んでいなかった。