技術が枯れる瞬間の見極め

ギークなら、わくわくするような新しい技術をいつも試してみたいと思っているでしょう。しかし、現実の開発の現場では、ギーク以外の人がほとんどなので、新しい技術には興味がないわけです。たぶん、新しいことを覚えること自体面倒だと思っているでしょう。
そういう中に新しい技術を導入するには、「生産性が高くなる」「開発が楽になる」ということをまわりに納得してもらわなければいけない。最初は、反対されるでしょう。自分が責任取るからと強引に導入しようとするときに、考えて欲しいのは、その技術の枯れ具合です。
新しい技術なので、枯れていないのは当たり前です。なにかあったときに、頼れる場所があることが重要です。頼れる場所とは多くの場合、MLやフォーラムなどでしょう。そこでのレスポンスが早ければ、多少枯れてなくても何とかなります。
何とかなるとはいえ、枯れていない状態が長く続けば、それだけ利用者の負担も増える(MLなどに質問するなど)ので、早く枯れることに越したことはありません。
早く枯れるかどうかのポイントは次の3つです。

  • 新しいことをどれくらいやっているのか
    • 新しいことをやっていればいるほど枯れるのは遅くなります
  • 利用者は多いのか
    • 利用者が多ければ多いほど、さまざまなケースを試してもらえるので、枯れるのが早くなります。
  • 開発者のフィードバックは早いか
    • 開発者が質問にすぐに答えてくれたり、不具合をすぐに修正してくれるなら、枯れるのが早くなります。

生産性よりも失敗しないことが求められる現場なら、枯れた技術を使ったほうが良い。
生産性が何よりも求められる現場なら、新しく生産性は高いが枯れていない技術を使うのもありでしょう。そのときは、上記の3つのポイントをもとに、枯れるタイミングを予想すると失敗しにくいんじゃないかなと思います。
Seasarに話を移すと、Teedaは、やっと1.0.13のバージョンを出すことができました。
http://teeda.seasar.org/ja/
この1.0.13は、1.0系の最後のバージョンで、もう機能追加はこのバージョンには行なわれません。不具合があれば、修正することのみを行なうメンテナンスバージョンです。機能追加は、1.1系で行なうことになっています。
これで、Teedaは、枯れたといって良いんじゃないかと思います。この枯れた瞬間から3年間くらいが、利用して一番おいしいときなんじゃないかな。3年もたつと、技術的に古くなっているかもしれないから。
Teedaは、DoltengというEclipseプラグインを使うことによって、かなりの部分を自動生成することができます。この自動生成のおかげで、生産性はかなり向上します。もちろん、HOT deployによる「さくさく」開発も生産性を向上させます。
Seasar2のメインストリームとしては、

になるとおもいます。SAStrutsS2JDBCをなぜ開発したかといえば、TeedaS2Daoの次の世代のプロダクトが必要になるからです。S2Daoの人気がなくなったら、Seasarプロジェクトが終わってしまうというのは困るから。
枯れた技術が重要ならTeeda + S2Daoがお勧めです。
最後に、なぜTeedaかという最強の理由。


守護神に小林さんがついているから
この守護神は、日本最強。Teedaのサイトのドキュメントも見てください。小林さんのおかげで、Teedaのドキュメントもあそこまで整備されましたよ。