[Java] 03 September 2006 はてなブックマーク - なぜ我々はMavenなのか(プロジェクトにおける有効性) Twitterでつぶやく

なぜ我々はMavenなのか(プロジェクトにおける有効性)

そろそろ時代に乗り遅れないようにJ2EE5.0の勉強を開始しようと思います。w
私がJ2EE勉強を始めるに当たり設定するゴールはこちら
  1. Eclipseによる開発

  2. Build&DeployはMaven2を利用

この2つのゴールは、最終的にはJ2EE5.0において実際的な開発を行なうための必須条件です。1点目については言わずもがなです。最も普及しているIDEである以上、当然利用します。
さてここからが本題ですが・・・・

重要なのは2点目です。Maven2にこだわるのには理由があります。
  • IDEのプロジェクトの準備が容易

  • IDEを用いることなくコマンドラインベースにてビルド、デプロイが可能

  • 各種ライブラリの準備・管理が容易(バージョン競合がない)

これらは一見すると些細なことのようですが、下記にあげるように、プロジェクトの効率性を大幅に向上させます。
  • コマンドラインベースのため環境構築、リリースなどのドキュメントが比較的容易に記述可能

  • バージョン管理システムからチェックアウトした後、開発環境を構築するまでの時間が予測可能なうえ、非常に短い

つまり、これらは新規開発リソースの追加時にプロジェクトにおける負荷が低いことを示しており、開発要員の立ち上がりがスムーズに行なわれることを意味します。

事実、私の所属する組織(上海でのオフショア開発)において絶大とまでは行かずとも一定の明らかに目に見える効果をもたらしました。
例えば、あるプロジェクトがピンチの時、他のプロジェクトからリソースを投入しても手法が一貫しているため、エンジニアの追加投入作業が非常に容易でした。また、当然ながら新規プロジェクト開始時にもプロジェクトの立ち上がり自体がスムーズに行なわれます。

さらに、必殺「私の環境では動いた!」というオフショアに顕著な事情に対する予防策にもなります。つまり、コミットやビルド時に
  「Maven2でmvn packageしたものをデプロイして動いたらOK。」
というシンプルなルールを決めるだけで、ある一定のクオリティが自動的に保証されます。これはひいてはContinuumなどの利用による継続的インテグレーションにつながります。

SIの顧客やPMの皆さん、技術者や発注先がMaven2を利用したいと言ってきた場合、上記の理由からどうか是非受け入れてあげてください。(もちろん、顧客やPMは上記の効果を要求すべきだし、当然その権利があります。)


参考

その他

#現地パートナー会社の中国人エンジニアGさん(超勉強熱心!)より教えていただいた情報
実はThoughtWorksは西安に拠点を持っている。(本当)
http://www.thoughtworks.com.cn/index.html

Comments

匿名希望30歳 wrote:

> 私の所属する組織

何か「組織」っていうと、アレな感じがするので、普通に「会社」って言おうよ。

16 September 2006 at 22:13

Add Comment

このアイテムは閲覧専用です。コメントの投稿、投票はできません。