はじめに
内容
本書は開発と保守のコストを下げるために書いた。
内容は、開発者、マネージャー、顧客(システム担当)それぞれが、ソフトウェア開発そのものの理解を深めることを目的に、9つのプラクティスに焦点を当てて説明する。
開発者は変更可能なコードを書くための原則とプラクティスを学べる。
マネージャーはそのプラクティスへの投資の仕方を学べる。
そして開発者、マネージャー、顧客間のコミュニケーションギャップを埋めるサポートとなる。
レガシーコードがもたらす損失
私達はレガシーコードのせいで、開発より保守にコストをかけて、チャンスを失っている。アメリカだけで年間何十億ドルも損失している。
本書でのレガシーコードの定義は「理由はなんであれ修正、拡張、作業が非常に難しいコード」のこと。
ソフトウェア開発は他のものづくりとは違う
ソフトウェア開発は物理的なモノの開発とは大きく異なる。
この業界の問題における原因の1つは、この認識を間違って捉えていることかもしれない。
ソフトウェア開発を理解し予測可能にしようとする中で、製造業や土木業と比較されてきたが、ソフトウェア開発は「より変更可能」にするために特化したプラクティスが必要で、他とは違うのである。
プラクティスを使い、ソフトウェア開発での短期的なコストを減らし、問題となりやすい長期的な保守コストも削減のサポートとしてほしい。
注意
紹介するプラクティスは重要性の説明に重きを置くため、HowToはそんなに書いていないので、HowToを見たい場合は具体的な参考書籍があるのでそちらを見てほしい。
この本ではプラクティスの背景にある原則や目的を理解し、「なぜ」それを適用させるのかということを議論できるようになることに価値をおいている。
学び
- ソフトウェア開発は他の物理的なものづくり業界のノウハウを参考にされてきたが、ソフトウェアの特性である「変更しやすさ」にフォーカスしたときに、もう他の業界とは別のアプローチをしていかないと、変更しながら時代についていけないということを結論付け、今後はより「変更しやすさ」のためのアプローチを磨いていかなければならない。
でないと、今後も無駄な損失を多く出すことになる。
学びを活かすアイディア・行動
- 特になし。