ひがやすを技術ブログ

電通国際情報サービスのプログラマ

DIやAOPを導入するためにどうやって頭の固いおやじを説得するか

私の経験だと、まずAOPの話は無理。宣言的トランザクションができるなんて、おやじには難しすぎ。
DIを導入することで、POJO疎結合にするとテストがしやすくなります。これもたいてい無理。テストを書くための工数がかかるんじゃないのと心配されるのがおち。
おやじでも、理解できるような工数削減のメリットを見せないと説得するのは難しい。こういう状況になるのは、Seasar2を最初に開発したときからわかっていました。
このような難しい状況を解決するために開発されたのがS2Daoです。S2Daoは最初からSeasar2を普及させるためのキラーフレームワークとしてデザインされています。分かりやすく工数削減できることを示すためにインターフェースを書くだけで良いという仕様になっているのです。インターフェースを書くだけで実装コードを書かなくても良いということになれば、頭の堅いおやじでも工数削減のメリットを理解することができます。
お客様によっては最初からDIやAOPのメリットを理解していただけることもありますが、導入に踏み切らせるには工数削減効果がないと難しい。
三菱東京UFJの案件についてもS2Dao工数削減効果が取り上げられていますが、やはり最も重要視されるということでしょう。
http://journal.mycom.co.jp/articles/2006/10/03/ufjis/
Seasar2(Churaファミリー)では、さらにTeedaDoltengによるコードの自動生成といった分かりやすい工数削減効果をみせています。Seasar2自身もHOT deployによってDIContainer自身も生産性向上に役立つことを示しています。
工数削減効果をわかりやすく見せるということは、今後さらに重要になってくるのではないかと思います。
DI自身は、非常に地味な技術ですが、HOT deployによって、ビジュアル的にも楽しめるものになったと思います。地味なのが悪いとは思いませんが、ビジュアル的に分かりやすいほうが、理解してもらえる確率は高くなるんじゃないかと思います。