GeekFactory

int128.hatenablog.com

ソフトウェアアーキテクチャの進化に追いつかない

コメントありがとうございます。

id:ysakata
確かに私もさんざん体験していますが、あり得ないコードをみても、そういうコードを書く人をマネージすることが当社の役目と言われるよ。けど、それでもそのマネージする人は少なくとも本人ではなく手の自社内でコードの品質の担保をできるような体制を整えるべきでしょう。

http://d.hatena.ne.jp/int128/20080624/1214316398

おっしゃる通りです。現場でアドホックな対応が繰り返されて、結局ノウハウが残らない。ここで全体最適を目指すことは重要ですが、ソフトウェア工学の素養を持った人間が現場にほとんどいないことも問題な気がします。少なくとも元請けにはいない。

ソフトウェアアーキテクチャの進化に人や制度が追いついていません。例えば、テスト駆動開発を採用しているのにユニットテストのバグ報告を求めるのは矛盾しています。JUnitでコケるたびにバグ報告を出してるのでは開発効率が著しく落ちますし、結果として偽装報告が上がってくるわけです。テスト駆動開発に対するアレルギーは根強く、頭ごなしに否定するマネージャもいます。

ソースコードメトリクスの存在もあまり知られていません。モジュールの複雑さやサイズを定量的に評価する手法はある程度確立しており、Eclipseでも簡単に自動計測できます。いまだステップ数だけで評価している現場がほとんどで、非常にもったいないと思います。

ホワイトボックスのテストは自動化できますが、ブラックボックスのテストはどうしても属人的になってしまいます。製造業を真似た自動化を叫ぶのなら、形式手法の研究に投資してほしいものです。

日本のソフトウェア企業が投資する研究開発費は世界的に見て少ない。ただでさえ少ないのに今後減少傾向にあり、結果として本業の下請け的な研究が増えています*1。逆に言うと、日本の企業はイノベーションを求めていないのかもしれません。gdgdなソフトウェアでも売りつければ勝ちというのは悲しすぎます。

うーん、楽観的に行きたいなぁ。

*1:というと、研究部門で頑張っている方に申し訳ないです。