ソフトウェアを技術資産として蓄積する
HEAJ : Mundaneum / Marc Wathieu
ソフトウェアを機械部品のように共通化して再利用しようという試みはかなり昔からありますが、実際にやってみると難しい問題が多く噴出し、机上で考えるほどうまくは行かないものです。
ソフトウェアの部品化という思想と似ていますが、ソフトウェアを技術資産として蓄積することで、他の技術者の設計を手助けしようという活動があります。いわば、先人の肩の上に乗って新しいソフトウェアをつくりやすくしようという活動です。既存のソフトウェアを少しづつリファクタリングを行い、使いやすいベースソフトにしようという活動もこの一環と言えます。
特別にソフト資産化のために時間を割り当てることはまれで、普段のソフト開発の中で行われることが多いようです。したがって資産化のための工数も限りがありますので、以下の様な観点で資産化していくソフトウェアを選択していきます。
- ビジネスで利益を生み出す商品のコアとなるソフトウェアを優先する
- 派生開発しやすいよう結合度の低いモジュール構造で設計されていること
- 単体テストの完了、コーディングルールの順守、静的解析ツールでのチェックなどでソフトウェアの品質が確認されている
- 技術継承できるよう設計ドキュメントが作成されている
TDDなどの開発プロセスが拡がり、自動テストがあたりまえに行われるようになればソフトの資産化はもっとやりやすくなると期待しています。