ユーザーセンタードデザイン(UCD)をエクストリームプログラミング(XP)の中で実現するには

こんにちは、ディレクターの安藤です。

37signalsに、「Extreme Programming vs. Interaction Design (エクストリームプログラミング(XP)とユーザーセンタードデザインの融合手法)」という興味深い記事が出ていました。

XP」は、ケント・ベックなどが考案したよりよいソフトウェアを作り出すための開発手法であり、一方「ユーザーセンタードデザイン(UCD)」は、人間(正しくはターゲットユーザー)にそのものの持っている機能をわかりやすく伝えるというコンセプトのデザインのことですね。

ユーザーセンタードデザインの普及に努力している人の1人としてはアラン・クーパー(Alan Cooper)が挙げられます。アラン・クーパーはVisualBasicを開発したカリスマエンジニアです。プログラマー出身ながらユーザーのことを考えたインターフェースの創造に精通しており、現在はCooper Interaction Designという会社を経営しているようです。

彼の著書「コンピュータは、むずかしすぎて使えない!」(山形浩生訳、翔泳社)の中でクーパーは、ユーザーにとって使いやすいインターフェースを作成するために彼が考案した「ペルソナ法」について紹介しています。
ペルソナ法について、ネット上では「@IT: 利用者の立場を考えたペルソナ/シナリオ法による開発とは」にわかりやすい説明があります。

彼は


There’s enormous cost in writing code, but the real cost in writing code is that code never dies. If you can think this stuff through before you start pouring the concrete of code, you get significantly better results. You get significantly more efficient programming and you don’t end up with pulled teeth.

と、プログラムコードを書き始める前に画面のデザインを決めてしまうことが開発コストを抑えるために重要だと言っています。
これはウォーターフォール式のワークフローでありますが、XPに組み入れるためにいくつかの工夫をすることで、両方の恩恵を受けることができるとしています。

私自身は、Webサイト構築にあたり詳細なデザインプロトタイプを作成することで、同様の効果を得ることができないか模索中です。

現在のWebアプリケーション開発において、アジャイル開発手法はその特性に合っており、これからますます適用例が増えてくると思われます。またWeb2.0の時代、Webのフロントとバックエンドを高いレベルで融合させるスキルは、Web制作会社として必須のものなってくるのではないでしょうか。

以下は、このエントリーの著者の生徒がまとめた、「Introducing User-Centered Design to eXtreme Programming (ユーザーセンタードデザインをXP手法の中で実現するメソッドについてのレポート)」(PDFファイル)の翻訳文です。
学生たちがワークショップで実際に行った方法など、参考にできる部分は多いと思います。
非常に長いのでエントリーを2回に分けてご紹介します。