Erich Gammaインタビュー

6月に行って来たRSDC。上陸時は顔も知らず、偶然声をかけてビビリ、その後カンファレンス中に何度か会った(もとい追っかけて捕まえたw)Erich Gamma、のインタビューがInfoQに上がってました。
http://www.infoq.com/interviews/gamma-jazz-eclipse-junit-design-patterns

この人何がすごいって、決して一人で仕事をしていたわけではなく、GoF本(デザインパターン)もJUnitEclipseもJazzも、誰かと一緒に仕事を進めてきたっていうところです。それぞれについて淡々と語ってますが、どれも「世界を変える」レベルの仕事をしてます。(Jazzについてはこれから変えていくでしょう。Open Services Lifecycle Platformの意味が分かってきた。Jazzのリリースは来年の6月予定。Rational Team ConcertにはBata版が組み込まれているけれども)

Eclipseの仕事をする前に、Kent BeckJUnitを作った事が影響してか、(というか、XP2ndではErichが前書き書いてたような。)Erich自身がAgileというものを意識し、製品にしてますが、KentBeckらプラクティスなど実体験から体系化させたAgileプロセスの流派と、Erichのように、Eclipseというあほかっていうくらい馬鹿デカイプロジェクトから、Agileであったらいいねと言っていたすべてがそろった環境を作ったツールにした流派は同じ「Agile」という言葉を使っていても、コンテキストが違うという感じです。でもどっちも間違ってません。

何がいいたいかっていうと、Erich Gammaの語るAgileも知っておいたほうがよさそうだなと思ったわけです。なので、インタビューみましょう。

ごめ、結局JAZZって何がそんなにうれしいの?

セットアップをするって話のまえにそういう話をまず書けって事ですよ。TeamConcertをツールとして見てみると、これまで出ていた各種開発ツールをうまい具合に統合したツールであると言えます。Jazz Community Siteの左にあるWhat is Jazzを訳してみると、

チームでソフトウェア開発をするということは、まさにバンドの中で楽器を演奏することとそっくりです。コラボレーションと妙技の両方のバランスが必要です。Jazzは協調して仕事をするために統合され、また配布するための技術的なプラットフォームとして、製品を構築するためのビジョンを定義しています。

Jazzは開発のライフサイクルのフェーズをまたいだ仕事を統合するために、拡張可能だったりチームの協調を引き出すためのプラットフォームです。私たちはJazzはチームのソフトウェア構築をより効果的に、ソフトウェア開発という行動をより生産的に、そして楽しくできると信じています。

JazzはEclipseや他のオープンソース技術と、パートナーやラショナルソフトウェアデリバリープラットフォームという組織のエコシステムの上に構築されます。

こんな感じですかね。ようするにコラボレーションするための統合された開発環境がJazzだったりする訳です。

TeamConcertを試すには

今月末にリリースされるTeamConcertを試してみるのは簡単です。

  1. https://jazz.net/に登録し、ログインする
  2. Downloadsをクリック
  3. Express-Cのダウンロードをクリック

するとサーバー、クライアント、ビルドエンジンなど一まとめになったZipのダウンロードが始まります。これだけ全て入っているので400MBくらいの大きさですが、他のエディションはInstall Managerだけのダウンロードで、インストール時に再度ダウンロードが始まります。なのでこっちのほうが手っ取り早いです。各エディションの違いはダウンロードページにも書いてありますが、簡単にまとめると

  • Express-C : 3ライセンスまで無料で、10ユーザーまで利用可能
  • Express : DBを組込Derby以外、APをTomcat以外に設定できるようにすることでスケーラビリティを確保した製品。50ユーザーまで利用可能
  • Standard : チームの状況が分かるDashBoardや、Report、WorkItemの項目など、Processの各種をカスタマイズを可能にした製品。250ユーザーまで利用可能

ちなみにDashBoardがどんなものかを知りたい場合はDevelopment > 左メニューのDashboardsをクリックしてみてください。一応直リンクを貼りましたが、ログインする必要があり、また将来見えなくなるかもしれません。Jazzチームのプロジェクトの状態が一目で見られると思います。

脱線しました。さて、TeamConcertのセットアップを続けましょう。続いて行うことは

  1. 解凍して適切な場所の配置する
  2. サーバーを起動し、ログイン後、ユーザーの登録と、プロジェクトの登録を行う。


ですね。うまくダウンロードできれば、解凍すると中はこんな風になっているはずです。

この中のjazz/serverの中にserver.startup.batというファイルがあるはずです。それを実行すればJazzTeamServerが起動します。試しにhttps://127.0.0.1:9443/jazzにアクセスしてみてください。ローカルに立ち上がったJazzTeamServerへ接続できます。ログインするにはUser Name:ADMIN Password:ADMINでログインできます。その後、
UserManagementタブからユーザーを追加(Create User)し、そのユーザーに管理者権限を与えてから、新しく登録したユーザーにログインしなおしてください。

そしてプロジェクトの登録を行います。Project Areaタブからプロジェクトエリアを追加して下さい。(Create Prject Area)プロジェクトのSummary(要約名)、Description(説明)、Process(プロセス)、Members(メンバー)、Administrator(管理者)などの登録があります。その際に、ProcessというところでDeploy Process Templateみたいな記述があると思いますが、それを実行してください。既に登録されているテンプレートがプロジェクトに配置され、
テンプレートが選べるようになります。プロセスと書かれるとやることが制限されるだけのお堅い印象しかありませんが、JAZZの場合は違います。プロジェクトエリアの中に、チームエリアと言うチームを規定できるのですが、チームの中でプロセスが規定できます。チームごとのルール、それをプロセスと呼んでいるイメージです。例えばJazzチームの場合、追加されたばかりのメンバーだとソースコミット時にコメントがついていないとはじかれるなど決められていました。

いやー、Rationalの回し者っぽい感じですが、はまると強力なツールであることは折り紙付きなので、ぜひとも試してみてください。

夢の国から帰ってきました。

Rational Software Development Conference 2008に参加してきました。いやー、面白かったです。このはてダを毎日書くことができないくらいくたくたになってました。
一日目のReception Partyで、JAZZの開発者を探そうと思って躍起になっていろいろな人に話しかけていたところ、Party終了後、明るくなった会場の真ん中でTeamConcertを使っている人たちを発見!「何をやってるの?」と声をかけてみたら「今デモを作ってるんだよ。」といって作業に戻ってしまいました。で、一度立ち去り、ちょっと経ってから戻って「そのデモのセッションに行くので、名前を教えてくれますか?」と聞いたら、「Eric Gamma」と言われてビビりました。言わずと知れたGoF本の共著者で、JUnitの共作者、EclipseのJDTの礎を築いた方です。想像していたよりも若く、スポーツマンな感じ。そして僕のいい加減な英語の質問にも答えてくださるナイスガイでした。ちなみにJAZZの中でもPMC(Project Management Committee)というJAZZプロジェクト全体のマネジメントをする委員会に所属されている中心エンジニアです。カンファレンス中、TeamConcert全体の紹介は彼が行っていました。
TeamConcertは想像していたよりも、とてもいい製品です。3開発者ライセンスまで無償で使えるものなので、どんな製品なのか、おってレポートしていきます。
Rationalがツールベンダーのせいかわかりませんが、スーツとギーグが手を組んで出したプラットフォームがJAZZであり、その製品としてTeamConcertが出てきた印象です。Agileをサポートしたツールとうたっていましたが、確かにセッションもAgileを意識したセッションが多かった気がします。日本に浸透できるかどうかはわかりませんが、スーツだギーグだ言っているよりも向こうは一歩進んでいる印象を受けました。