DevOps Services を利用してクラウド内でアプリを開発する

Comments

舞台設定

MeterPal は、Kickstarter が出資している架空の新興企業です。この会社では、モバイルとソーシャルを利用した新しい手法のメーター制駐車場を提案しています。MeterPal を立ち上げたのは、Phil と彼の 5 人の大学のクラスメートです。彼らは、マイクロペイメント・トランザクションを処理してもらう契約を JKE Banking との間で結んでいて、その交換条件として、Money that Matters という架空の慈善プログラムに参加しています。このプログラムでは、誰かが駐車料金を支払うと、その支払い額の端数をドル単位に切り上げて、事前に選択された慈善基金に振り込まれるようにすることができます。

Innovationville 市の市長は、よりスマートなメーター制駐車場ソリューションを導入したいと思っています。

Phil と彼のチームは、自分たちのソリューションを市場に短時間で送り出して、ユーザーを獲得し始める必要に迫られていたので、アジャイル開発プロセスに従うことにしました。このプロセスでは、Phil が製品所有者となり、Sarah がスクラム・マスターの役割を果たします。これまでは、チームは主にホワイトボードに付箋のメモを貼って、プロジェクトの情報を収集していました。開発をサポートするためのアジャイルなコラボレーション・ツールを導入し、インストールして構成する時間の余裕が、チームにはなかったからです。

アジャイル開発プロセスを導入している間、スクラム・マスターの Sarah は、オーランドで開かれた IBM テクニカル・サミットに参加しました。そこで、彼女が知ったのが、DevOps Services (JazzHub) です。DevOps Services Live ラボに参加した彼女は、このツールのシンプルさに感銘を受けました。

DevOps Services を採用したチームは、最も重要なこと、つまり製品の開発とデリバリーに専念することができます。

Sarah は、製品オーナーである Phil が新しいアプリケーションの導入について、少し懸念を示すことを覚悟しています。なにしろ、MeterPal プロジェクトのリリース日は、今から 12 週後に予定されているためです。Phil は早期のスプリントで最大限のビジネス価値をもたらしたいと考えていることから、Sarah は DevOps Services の機能がどのようにコラボレーション開発をサポートするかを提示することにしました。DevOps Services は、以下の点でチームに役立ちます。

  • DevOps Services には、アジャイル開発を支援するためのスクラム・テンプレートが用意されていることから、チームはスクラム・アジャイル・プラクティスを引き続き使用することができます。
  • DevOps Services を利用することで、チームは、ときどき自宅で仕事をすることがある開発チーム・メンバーの Uma とも柔軟に共同作業することができます。Uma はオフィス以外の場所にいるとしても、クラウド内のツールを使用することで、チームとの共同作業が可能になります。
  • Web ベースの DevOps Services には、Web ブラウザーからアクセスできるので、ローカルにソフトウェアをインストールする必要がありません。そのため、チームの生産性がたちまち向上します。

オフィスに戻った Sarah は、プロジェクトに DevOps Services を使ってみるよう、チームを説得しました。その結果、チームは DevOps Services を使用して MeterPal プロジェクトを開始する運びとなりました。

開発には DevOps Services を、デプロイ先には Bluemix を使用する

MeterPal プロジェクトの最初のスプリントを開始する際に、Sarah はスクラム・チームに DevOps Services にアクセスして登録するよう求めました。登録フォームに入力する必要があるのは、有効な e-メール・アドレス、ユーザー ID、パスワード、そしていくつかの基本情報だけなので、登録は 3 分足らずで完了しました。

Sarah は DevOps Services にアクセスして、自分のアカウントでログインしました。これだけで、プロジェクトを作成する準備は完了です。図 1 に示すように、彼女はプロジェクト名 (MeterPal) を入力し、プロジェクトを一般公開するように設定し (DevOps Services では、公開プロジェクトは無料です)、スクラム・プロセスを選択し、アプリケーションを IBM Bluemix にデプロイすることを選択しました。また、Jazz ソース管理オプションも選択しています。これは、チームがソース・コードを DevOps Services クラウドに保管することを決定したためです。

図 1. DevOps Services で公開スクラム・プロジェクトを作成する
スクラム用の機能を追加し、BlueMix にデプロイすることを選択している画面のスクリーンショット
スクラム用の機能を追加し、BlueMix にデプロイすることを選択している画面のスクリーンショット

数秒後、MeterPal プロジェクトがクラウド上に作成されます。Sarah は、このプロジェクトに今すぐ参加するよう、他のチーム・メンバーを招待します。これにより、e-メール通知がチーム・メンバーに届きます。この通知は、MeterPal プロジェクトにチーム・メンバーとして登録またはサインインできるように、DevOps Services から送信されます。

Sarah はあっという間に、DevOps Services 上に MeterPal プロジェクトを作成し、チームが Web ブラウザーからクラウド環境にアクセスできるようにしました。このクラウド環境は、単純ながらも以下の点で強力な機能を備えています。

  • アジャイルなプロジェクト計画
  • エピック、ストーリー、タスクの追跡
  • ソース管理
  • クラウドでのデプロイメント

DevOps Services プロジェクトを構成する

次に Sarah は、DevOps Services 上で MeterPal プロジェクトを構成する必要があります。まず、説明と見栄えの良いグラフィックを追加します。次に、プロジェクトの目標 (リリースは 12 週先に予定されています) と同調したタイムラインを作成します。プロジェクトの開始日とスプリントの数と期間を入力すると (図 2 を参照)、それぞれに対応する開始日と終了日が設定された各スプリントが自動的に作成されます。

図 2. DevOps Services でスプリントを作成する
各スプリントの開始日と終了日が表示されている画面のスクリーンショット
各スプリントの開始日と終了日が表示されている画面のスクリーンショット

続いて、最初のイテレーションのスプリント・バックログを作成します。これには Sprint 1 という名前を付けました (図 3 を参照)。

: 製品バックログは、DevOps Services によって自動的に作成されます。

図 3. DevOps Services でのアジャイル・プロジェクトの計画
「Plans (計画)」タブに表示された Sprint 1 のバックログ
「Plans (計画)」タブに表示された Sprint 1 のバックログ

Sarah が DevOps Services を使い始めてから、5 分も経っていません。この段階で、他に必要な構成はありません。クラウド内の MeterPal プロジェクトは、チームがアジャイルなコラボレーション作業をサポートするために使用できる状態になっています。

クラウド上のコンテキスト内でのコラボレーション

DevOps Services に MeterPal プロジェクトが構成された今、製品オーナーの Phil は、新しいエピックとストーリーを製品バックログに追加することができます。チームは、典型的なスクラム・アクティビティー (バックログのランク付けと絞り込み、スプリントの計画、ストーリーからタスクへの分割など) を実行することができます。DevOps Services は、ソース・コードをスプリント計画に結び付けるのにも役立ちます。このレベルで追跡できれば、各ストーリーの実装方法を理解するのはもっと簡単です。MeterPal プロジェクトのホーム・ページには、プロジェクトの説明、ファイル、メンバーが表示されます。

図 4. MeterPal プロジェクトのホーム・ページ
説明、ファイル、メンバーが表示されたページ
説明、ファイル、メンバーが表示されたページ

開発者の Darryl は、スプリント・バックログからタスクを取り出しました。このタスクの目標は、MeterPal Web サイトの新しいページを作成することです。

Darryl は、DevOps Services 上で「Code (コード)」タブを開きます。彼は Web ブラウザーから、新規 HTML ファイルを作成しました (図 5 を参照)。DevOps Services のオンライン・エディターでは、JavaScript、HTML、CSS、または Java プログラミング言語での開発と構文強調表示をサポートしています。この Web エディターを使用するスタイルシートを作成することもできますが、Darryl は別のプロジェクトから既存のファイルをインポートすることにしました。

図 5. DevOps Services のソース・コード・エディター
MeterPal.html の内容
MeterPal.html の内容

開発者は、各自の Web ブラウザーから作業することができます。また、必要に応じて Eclipse または Microsoft Visual Studio IDE から開発することもできます。DevOps Services で開発されたアプリケーションは、クラウド内の Bluemix ランタイムにプッシュした後、テストすることができます。

クラウド上のプロジェクトにはリモートからアクセスすることができるため、Uma が自宅で作業するとしても、その生産性に影響はありません。彼女は Web ブラウザーからチームと共同作業して、ストーリーとタスクを処理します。彼女は自分のモバイル端末からプロジェクト情報にアクセスすることもできます。また、作業アイテムで誰かが彼女の名前に触れると、Uma に e-メール通知が届きます。

最初のうちは、製品オーナーの Phil は MeterPal プロジェクトに新しいツールを採用することに気が進みませんでした。彼が懸念していたのは、チームが DevOps Services を学習するのに時間がかかりすぎ、ストーリーの実装に集中できないのではないかということです。しかし彼は今、チームが DevOps Services を導入しても、チームの生産性に影響がないと断言することができます。それどころか、バックログには Web でアクセスすることができるため、リモートにいる利害関係者とも、これまで以上に効率的に協力することができます。

DevOps Services は、クラウド上のコンテキスト内でのコラボレーションをサポートして、MeterPal チームがより良い製品を作成できるように支援します。プロジェクト情報は中央に集められ、リアルタイム・ダッシュボードで表示することができます。このダッシュボードでは、チーム・メンバーがエピック、ストーリー、またはタスクについてのディスカッションを開始することができます。レビューを行って、実装コードにアクセスすることもできます。DevOps Services 環境は明らかに、MeterPal チームが製品を市場に出すまでの時間を短縮します。

まとめ

MeterPal の他のチームも、スクラム・マスターとしての Sarah に頻繁に問い合わせてきます。誰もが DevOps Services による MeterPal プロジェクトの成功を知っています。その成功には、長期に及ぶ学習曲線も、苦労の多いインストールや構成も伴いません。DevOps Services は、そのシンプルな Web インターフェースで、チームがタスクを追跡したり、アジャイルな計画、ソース管理、デプロイを行ったりするのをサポートしてくれます。したがってチーム・メンバーは、最も重要なこと、つまり製品の開発とデリバリーに専念することができます。他の多くのチームの間でも、イニシアチブに DevOps Services を導入することに関心が高まっています。


ダウンロード可能なリソース


関連トピック


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=DevOps, Rational, Cloud computing
ArticleID=981496
ArticleTitle=DevOps Services を利用してクラウド内でアプリを開発する
publish-date=08282014