雑種路線でいこう

ぼちぼち再開しようか

リサーチコードと製品コード

動くアプリをつくるのがだいぶ楽になったせいで,見栄えのよいアプリをサクッとつくる例が増えてきた。一方で売り物になるものをつくろうとすると,死ぬほど時間がかかるのだ。最適化とかリファクタリングもさることながら,ざくっとつくったものを後から品質を上げるのってかなり難しいらしい。
Raymond流だと,リサーチコード品質でもいいから動くもののソースをどこかに吊って,後は使う人々で叩けばいい,ということになるのだろうけれども。バージョン0.1からバージョン1.0になるまでにすごく時間がかかる(もちろん1.0まで辿り着くプロジェクト自体が充分に少ない)ということに変わりはない。
或いはGoogleのように,コードがサーバー側にあって動作環境を完全にコントロールできるなら,パッケージ・ソフトウェアほどにはテスティングも必要ではない。テストを減らすために重要なことは状態を減らすことで,状態を減らせるような仕様とかトポロジとかを考えるのはけっこう重要そうだ。
ソフトウェアは利用者を増やしながら反復的に改善していくことが重要なので,Time to Marketを実現できるイノベーションは重要だ。それはツールや開発技法に留まる話ではなく,ビジネスモデルとかパーセプションを含めた議論となる。そういう意味でOSSには,リサーチ品質のコードでも顧客フィードバックを得られるというメリットはあるのかも知れない。もっとも,リサーチ品質のコードを好きこのんで試す「人柱」たちを平均的ユーザーと想定して成功するジャンルは,けっこう限られるような気もするけれども。