JSUG 勉強会参加

不定期で開催されるJapan Spring Framework User Groupの勉強会に参加してきました。本日のメインは Service Mix と Spring Integration でしたが、他にもいろいろ収穫があって楽しかったです。Apache Camel はノーチェックだったので、教えてもらって良かったです。OSS 陣営による alternative BPEL でしょうか。やはりこういうのは誰かがつくるものですね。

懇親会で、長谷川会長と話をしました。Spring を使うメリットの一つに、開発プロジェクトを基盤チームと(業務)開発チームに分離することで開発チーム側の負担を減らすことができるという議論が出ました。おおむね賛成ですが、これだけをみると工数の削減にはつながっていないのではないかという話になりました。(基盤チームの仕事は増えています。)

これに対する私の意見は、「基盤チーム+自動生成ツールの導入+開発チーム」という構成とし、かつ開発チームを Agile で行うというスタイルをとることで、品質のばらつきがなく、かつ短期間の開発が行えるようになるというものです。自動生成ツールの導入によって仕様変更のインパクトを吸収するようにすれば開発チームの負担はより一層下がり、結果として工数削減につながるのでプロジェクト予算も軽減されます。(または利益率が上がります。)

Spring のような性能のよいインフラを使うと、出来上がるソースコードは定型化されることが自ずとわかります。DI や AOP は自動生成と相性がいいことにも気付きます。そこまで踏み込んではじめて、Spring のメリットを関係者全員が実感できると考えています。

そうなると、今度はさまざまなプロジェクトに特化した DSL の出番になります。DSL をメンテナンスすることができるエンジニア、アーキテクチャそして業務コンサルタントのチームが上流工程を掌握するようになるでしょう。そして業務ロジック開発と総合テストはオフショア/ニアショア化されるというのが一つの方向性だと考えています。