Jazz は、ソフトウェアのライフ・サイクル全体にわたるタスクをシームレスに統合した、スケーラブルで拡張可能なチーム・コラボレーション・プラットフォームです。

Jazz Platform が必要な理由

チームによるソフトウェア開発は、バンドで楽器を弾くようなものです。 ミュージシャンはそれぞれ、他のミュージシャンに合わせて調和を保ちながら、自分の担当部分を演奏する必要があります。 互いの意思を伝える方法を決め、お互いに対して送る合図に注意する必要があります。そうしないと、演奏がうまくいきません。 強力なコラボレーションと個人の高い技術の両方が、必要になります。 同様に、ソフトウェア開発者は、質の高いコードを作成し、すべての部分がうまく組み合わされるように、アクティビティーを調整することに焦点を当てる必要があります。

Eclipse のような統合開発環境 (IDE) は、個人の生産性を向上させることに成功しています。 しかし、開発者は、コードの作成に従事するのと同じぐらい積極的に、チームでの作業に従事しています。 このような場合に Jazz Platform を適用することで、個人の生産性からチームの生産性に焦点を移動させることができます。

焦点の移動のケース

チームが、バグがあると仮定し、それを追跡して修正する作業を考えてみてください。 バグ修正作業は、問題を検出して報告した Mike から、受信したバグのレポートをレビューして Susan に作業を割り当てた Rick、バグを修正して、確認してもらうために最終的に Mike に戻した Susan へと、チーム内で移動していきます。 バグ修正自体も、コード・ストリームで問題を修正する Susan から、問題を含むビルド内で修正部分を確認する Mike へと、チーム内で移動します。

バグのフロー

これらのフローは、壊れやすい場合があります。 バグのレポートを更新 しないで修正部分をチェックインする場合、または修正を特定のコード・ストリームとビルドにつなぐリンクが存在しない場合、チーム内のフローが途切れます。 このように途切れると、チーム内で混乱が生じ、進行の妨げになります。 さらに悪いことに、途切れたことがチームの誰にもすぐに気付かれない場合があります。 また、ドメイン関連作業 (ソフトウェア製品のコー ド作成など) と、主にチームとの調整を保つことに関 連する作業 (バグが修正済みであるとマーク付けすることなど) とのインターリービングが発生します。

IDE によって複数のツールが統合されますが、開 発者は、繰り返しが多い記帳作業、つまり、チーム が効率良く共同作業を行うのに重要であるが 、非常に簡単に忘れられているかまたは正しく行われ ない多くの作業を、依然として手動で行っています。 Susan が、IDE に対して 特定のバグの修正中だったことを単に伝えたほうが、効率は良くなります。 その後、Susan が修正とテスト・ケースを完了したら、作業が終了したと示すことができます。Susan にアクション がそれ以上ない場合は、システムが変更されたファイルをコミットして、バグのレポートと関連付け、ビルドの通知を更新して、バグのレポートをクローズしたとマーク付けします。 ツールが記帳をこのように自動化した場合、バグのレポートとコードのチェックインとの間の重要なつながりが信頼できるものであることを確認することによって、チームの作業効率を向上させることができます。 同時に、面倒で誤りが発生しがちな記帳作業を自動化することで、各チーム・メンバーの効率が向上します。

Jazz Platform によってギャップを埋める

Jazz はソフトウェアの完全なライフ・サイクル に対応したチーム・コラボレーション・プラットフォ ームであり、ソフトウェアのライフ・サイクルのすべ てのフェーズ全体におけるタスクのシームレスな統合 をサポートすることを目的としています (前のサンプ ル・シナリオで、ライフ・サイクルの途中での共通タスクについていくつか取り上げました)。 Jazz Platform は、クライアント側とサーバー側の両方で拡張可能であり、非常に小規模なチームから大規模な企業におけるインストールに拡張できるように設計されています。 また、ツールがサポートするプロセス・ガイダンスの概念を取り入れています。この概念では、ツールがチームの開発プロセスを理解して、 チーム・メンバーの作業を妨げることなくメンバーが このプロセスに従うことができます。

Jazz Platform は、既存のポイント・ツールを統 合するだけではなく、以前可能だった統合より さらに進んだ統合のライフ・サイクル・ツール機能を 作成する土台となるプラットフォームを提供すること も目的としています。 このように開発ツールが ライフ・サイクル全体で統合されると、結合した一連のポイント・ソリューションを使用することでは考えられなかったことが可能になります。 このような統合された エンドツーエンドのツールを使用することで、チームによ るソフトウェア作成の効率が向上し、ソフトウェア開 発のアクティビティーがさらに快適なものになります。

Jazz はプロセスを意識したプラットフォームである

Jazz Platform は、ソフトウェア開発のライフ・サ イクル全体で包括的なサポートを提供するように設計されています。 プロジェクトのすべてのフェーズ全体で実行されるスレッドは、チーム・メンバーが従うことに同意済みのプロセスです。 Jazz Platform にプロセスについて教えると、Jazz Platform はチームをプロセス固有の方法で支援するこ とが可能です。 このプロセス・サポートは、オンザフライ の規則の検査からオンラインのプロセス・ヘルプ (F1 キーなど) や記帳の自動化に至るまで、幅広い (および完 全に開放型の) さまざまな形式で提供することがで きます。 Jazz Platform は、以下の方法でプロセスを サポートします。

Jazz Platform は、以下を行うように、設計され、ビルドされています。

Jazz Platform の主な役割は、使用する 必要があるメカニズムおよび従う必要がある規則を提 供することで、ツールの作成者によるライフ・サイクル・ツールのシームレスな統合を 可能にすることです。 これらのメカ ニズムは、明確に定義された API を通して公開されます。 Jazz Platform は、新規ツールの開発を容易にする、有用なビルディング・ブロックやフレームワークも提供します。