Cisco Japan Blog
Share

アジャイル開発がシスコのコンタクトセンターを魅力あるものに変えた


2013年12月10日


皆さん今日は。第一回のエントリーでシスコのコンタクトセンター ソリューションが最も選ばれるソリューションになりつつあることをご紹介し、第二回では長期的なビジョンについてお話しました。今回はお客様の求めるものと長期ビジョンとをともに実現する実行力について書きたいと思います。

シスコのコンタクトセンター ソリューションがここ数年で魅力を増してきたその原動力は、アジャイル プロセスと呼ばれる開発手法にあります。なぜアジャイル プロセスが製品をより良くする力となるのか、今回はそのお話です。

ウォーターフォール ソフトウェア開発

アジャイル開発のお話をする前に、従来型の開発手法であるウォーターフォール手法について振り返ります。ウォーターフォール式のソフトウェア開発とは、要件定義工程から試験工程までの一連の工程をプロジェクトを通じて順に一度だけ実行する方法です。ウォーターフォールは広く利用されていますが、次のような弱点があります。

  • 利用者が望んだ通りのものが作れない
  • 納期が品質に対するトレードオフになってしまう

このような弱点は、各工程間が時間的に開いていることと、工程が一度しか実行されないことが原因です。アジャイル開発はこの原因を取り除くことで弱点を克服しています。

アジャイルソフトウェア開発

アジャイル開発ではスプリントと呼ばれる固定長期間の開発サイクルを何度も実行してソフトウェアを完成形へ近づけていきます。このため、工程間の時間差がほとんどなく、工程が複数回実行されるのが特徴です。

waterfall-and-agile

一回のスプリントは通常 2 ~ 4 週間の固定長で、プロジェクト全体を通じて一定です。一回のスプリントの中ではウォーターフォール手法同じように設計・実装・試験を行います。短い開発期間にフィットするように、開発対象を「ユーザ ストーリー」と呼ばれる単位に細分化して管理します。

ユーザ ストーリー ― アジャイルにおける要件定義

ユーザ ストーリーとは、欲しい機能を定義したものです。ユースケースに似ていますが、機能を非常に細分化して定義する点と、「機能」「利点」「受益者」の三要素が必ず含まれ、かつ簡潔に述べられる点が特長です。

ユーザ ストーリーによって、各々の機能が「誰のためのもので(受益者)」「どのようなメリットがあるのか(利点)」が明確になります。機能の定義が常に利用者目線となることで、開発者は実際の使われ方を意識しながら機能の詳細を設計することになります。

バックログ ― ユーザ ストーリーの優先順位付きリスト

定義されたユーザ ストーリーは優先順位を付けて一本のリストにされます。優先順位に同順はなく、必ず順位がつきます。このユーザ ストーリーの優先順位付きリストをバックログと呼びます。

開発は、優先順位の高いものから行います。バックログから優先順位の最も高いユーザ ストーリーをスプリント一回分だけ取り出して開発します。取り出す量は開発チームのキャパシティに依存します。所定の基準をクリアするとユーザ ストーリーは開発が完了したことになります。完了しなかったものは次回のスプリントに持ち越されます。

優先順位の高い順に開発していくので、プロジェクト終盤には優先順位の低いストーリーばかり残ることになります。そこで、残りのユーザ ストーリーと納期との間でトレードオフをとることが可能になります。この後述べますが、品質はスプリント完了ごとに担保されるため、優先度の低い一部機能の実現を先送りすることで、品質を犠牲にすることなく納期優先の軌道修正が行えるのです。

ユーザ ストーリーの完了判定基準 ― 品質保証の秘密

ユーザ ストーリーの完了を判定する基準は厳しいものです。図はユーザ ストーリーの完了基準(Definition of Done)の一例です。このように厳しい基準を全てのユーザ ストーリーに当てはめることで、スプリントが終了した時点でソフトウェアは「出荷に耐える」品質を確保することができます。

definition-of-done

スプリントデモ — 開発と利用者によるフィードバックのクローズドループ

上に述べたように、スプリントが終了すると開発されたユーザ ストーリーは出荷に耐える水準を得ます。これを実際に利用者に見せ、期待と相違ないかどうかを確認します。利用者はデモされた機能に対してコメントをし、開発者はそのコメントを踏まえて必要であれば次回以降のスプリントで修正を施します。そして修正を再び利用者にデモして意図通りの修正が施されたことを確認します。

sprint-demo

開発が進行中の段階から利用者によるフィードバックを得ることにより、手遅れになる前に軌道修正を行うことが可能になります。

お客様の望むものを、より早く、より高品質で

アジャイル開発が、利用者の望むものを、より早く、安定した品質で開発できる手法であることがお分かりいただけたと思います。

アジャイル開発は、今日だから実践できる方法です。アジャイルが要求する品質保証の仕組みは膨大な試験を何度も繰り返す必要のあるもので、自動試験を取り入れなければ成立しないほどの量になります。したがって、特殊なハードウェアを必要としない、ソフトウェア中心の製品と良く親和します。シスコのソリューションで登場するハードウェアは、サーバ以外にはルータと電話機しかありません。あとはソフトウェアで出来ています。そのためアジャイルが良く合うのです。シスコではプライベート クラウド上に作られたテスト環境でレグレッション テストが毎日自動実行されています。

シスコのコンタクトセンター ソリューションは、このような方法で製品を開発しています。お客様の声を聞きながら開発をするので、本当に必要な機能が実現します。最新版でも品質が良いので最新鋭の機能をすぐに利用できます。これが多くのお客様に選んでいただけるようになった秘密です。

 

3回にわたってシスコのコンタクトセンター ソリューションについてお話ししてきました。ここまではニュースレター「Insight@Cisco」と連動して少しばかり大きな話題を取り上げてきましたが、次回以降はちょっとリラックスして SE 目線で製品の魅力を取り上げていきたいと思います。

最後に少しだけ宣伝です。シスコのソリューションをご採用いただいたソニー様のコンタクトセンターがお客様事例として弊社 Web ページで公開されています。ぜひお読みいただければ幸いです。

Tags:
コメントを書く