OSS開発の世界にしかアジャイル脳プログラマーの活躍場所がないのはいかがなものか
アジャイル脳の対立概念はSIer脳でなくてウォーターフォール脳? - 達人プログラマーを目指してに関連して、ここで書いておくと、オープンソース開発の世界はどう考えてもアジャイル脳のプログラマーが支配している世界だと思います。こんなことはわざわざここで書かなくても自明のことかもしれませんが、実際、OSS開発の領域でExcelの詳細設計書なんてまったく聞いたことがないですね。もちろん、OSSプロジェクトでもある程度大きな規模のものだとビジネス上、マーケティング上の判断による影響力もかなりあると思いますし、まったく自由に開発というわけにはいかないでしょうが、基本的にはコミュニティーのアイデアによって機能を追加していきます。そこでは、いかに低スキルのPGを統制するかというSIer的発想は当然無くて、いかに使いやすいAPIを提供するかなどよいソフトを作るというのが最大の目標になっています。
そういう事情を考えてみると理解しやすいのですが、最近のOSSのフレームワークは非常にアジャイル脳的な考えでできていると思いますね。実際、最近のJavaのフレームワークであれば、アノテーション(ソースコード上の設定データ)を使って、できる限りソースコード上で設計も行えるようになっています。SeamもSpringも最近は皆そういう傾向になっています。ソースと設計をいかに一体化させるか、ソースをいかに簡潔に記述するかということに非常に大きな注意が払われており、そこにはSIer脳的な発想が入り込む余地がほとんどありません。さらに、Rubyなどの世界では、この傾向がもっと顕著だと思います。
ある意味、OSS開発というのはアジャイル脳のプログラマーにとっては天国のような世界に見えます。OSSですから、参加する時間さえ確保できれば誰でも無料で開発に参加できるというのも魅力的です。(私自身も今後何かのOSSに参加してみたいなとは思っていますが、今までは非常にプロジェクトが忙しかったこともあり残念ながら一度も開発に参加した経験がありません。)
それで、OSS開発はスキルの高いプログラマーの受け皿になっていることは非常によいことだと思うのですが、日本だとOSSの成果をビジネスに活かすとかそういう機会がほとんどないのが問題なのではないかと思います。日本の会社でOSS自体でビジネスをして大成功している会社も私の知る限りあまりないと思いますし、プログラマーとしてOSS開発で得た知識やスキルを活用する機会もそれ程ありません。最近はOSSをプロジェクトで利用することはあるのですが、以前も指摘したようにSIer脳の手にかかるともともとのOSSの考え方というのは無視されて、まったく別物のフレームワークにされてしまいますし。
そのように思っていたら、実は3年も前に以下のような記事が書かれていました。
Javaを古くしたやつとRubyを煽っているやつ - yvsu pron. yas
Struts脳の恐怖とRails - Djangoへの片思い日記
ここで書かれている「Struts脳」とか「スーツ」というのが私の言うところの「SIer脳」と非常に近いなと思いますし、基本的に私の考えていることと非常によく似た事を主張しているなと思います。
私としてはOSS開発の世界に逃避するのもよいですが、最終的に実案件に成果がうまく還元されないとあまり面白くないなと思ってしまいます。アジャイル脳プログラマーの活躍場所が業務システム開発案件でもっと与えられるようになるとよいと思うのですが難しいでしょうか。