UXデザインプロセスについての考え方

上野 学
2014年4月4日

UXデザインのプロセスは、UCD と呼ばれるユーザー中心設計の考え方をベースとしています。ユーザー中心設計の考え方とは、プロジェクトの各工程でユーザーを取り入れるというものです。主に、ユーザー調査の結果を要求分析に取り入れること、設計段階ではプロトタイプ制作とそのユーザー評価を行うこと、そして運用の中で継続的にユーザーからのフィードバックを収集することが重要とされ、製品/サービスのライフサイクルを通じてこれを繰り返します。つまりUXを向上させるためには、Try(試しにやってみる)と Catch(状況を把握して分析する)のセットを反復的に行うことが大切です。


Try と Catch を反復的に行う

これは別の言い方をすると、デザインには決まった答がなく、常に試行錯誤が必要だということです。反復的デザインは、各フェーズ単位、プロジェクト単位、そしてより大きな事業やブランドといった単位で多層的に試みることが求められています。

ウォーターフォール式プロジェクトにおける反復的デザイン

ウォーターフォール式のプロジェクトでは、開発工程を上流から下流へ線形的に計画します。一般に「要求分析」「設計」「製造」「テスト」といったフェーズを設け、それぞれのフェーズを不可逆とします。


ウォーターフォールのプロセス

ウォーターフォールでは開発工程全体のスケジュールやコストを事前に決めることができ、途中段階での進捗管理もしやすいことから、大規模な開発プロジェクトや、開発要件があらかじめ詳細に決まっている場合に有効です。

ただし、上流での企画や要件定義が完全であることを前提とするため、それらに不備があると、あるいはプロジェクトの途中で要件に変更があると、下流工程にしわ寄せがきてプロジェクトが迷走することがあります。

ウォーターフォール式のプロジェクトは同じ工程を繰り返さないため、反復的なデザインを取り入れにくいのですが、それでもやり方はあります。

例えば、あらかじめ設計フェーズで2〜3回のプロトタイプ評価を行うことを決めておくことで、システムが完成してから致命的なユーザビリティ問題が見つかるリスクをおさえられます。


設計フェーズに反復を取り入れる

また、ひとつのシステムは数年のスパンで改修/リプレースされることが多いので、プロジェクト単位での反復を意識することができます。「要求分析」「設計」「製造」「テスト」の各フェーズは、「要求分析(Catch)」「設計(Try)」「製造(Try)」「テスト(Catch)」と捉えることができるので、一度完成したシステムに対するテストを次のプロジェクトに向けた現状調査と位置づければ、プロジェクトをまたいでフィードバックループとなり、大きな反復デザインを形成できます。


プロジェクトをまたいで反復する

アジャイル式プロジェクトにおける反復的デザイン

一方、ウォーターフォールと正反対の進め方として、アジャイル式の進め方があります。アジャイル式では、「ソフトウェア開発は複雑であらかじめすべてを計画することはできない」という前提に立ち、反復的に開発を進めます。

開発する機能を重要度によっていくつかの小さなコンポーネント/マイルストーンに分割し、重要な部分から取り組みます。ひとつのマイルストーンに1週間〜1ヶ月ほどをかけて、分析、設計、実装、テスト、などを行い、リリースします。これを反復して、目指す完成系に近づけていきます。

アジャイルでは、各マイルストーンでソフトウェアが完全に動作するようにします。すると常にコードが動く状態であるため、ウォーターフォールに起こりがちな「下流工程でのプロジェクトの迷走」を防ぐことができ、プロジェクト途中での要件変更にも対応しやすくなります。ただし、事前にプロジェクトの全体像を計画しづらいという課題があります。

アジャイル式のプロジェクトはそもそも反復的に進行するので、デザインの Try と Catch もそのまま組み込むことができるでしょう。


アジャイルのプロセス

また昨今スタートアップを中心に注目されている方法として、リーン式があります。これはアジャイルの応用ですが、市場の反応によってプロダクトの基本的なゴールまでも変更(ピボット)を許すという特徴があります。アジャイル式の迅速な開発によって初期バージョンをリリースし、それが市場でどう受け入れられたかを見ながら次のバージョンを計画・リリースしていきます。これを半永久的に繰り返します。リスクを最小限にしながら短期的なビジネス上の成功を得ることを重視した取り組み方と言えます。

Try と Catch の繰り返し

インターネット以前の製品開発では、ひとつの製品を作る工程には始まりと終わりがはっきりしていました。開発プロジェクトのプロセスはそれを前提に研究されてきました。しかし現在のウェブ/クラウドベースのサービスは常に試行と分析が繰り返され、無期限に開発プロジェクトが継続します。そこではサービスの完成というものはなく、常に方向性を見直しながら生き物のように育てていかなければいけません。

つまり開発工程という区切りは曖昧になってきているのです。アイデアの試行と現状の分析はほとんど同時に進められていきます。Try と Catch の繰り返しが多層的に発生していくのです。

この考え方をもとに、UXデザインのプロセスを下のような図にしてみました。


UXデザインプロセスの概念図

これは開発プロジェクトをひとつの反復サイクルとして現したもので、様々なUXデザインの取り組み手法をそこにマップしています。サービスが継続する限りこのサイクルは回り続けます。観察調査やブレインストーミングといった「Catch」の取り組みから、モデリング、実装といった「Try」が行われ、またそれに対する評価として「Catch」が行われ、その結果は次のサイクルにシームレスに繋がっていきます。

Try と Catch は、デザインの取り組み全体の流れとしてあるだけでなく、そのひとつひとつの構成要素にも埋め込まれています。例えばデザインプロジェクトの途中ではプロトタイピングを行いますが、そのプロトタイプは、ユーザビリティテスト、エクスパートレビュー、インタビュー、アンケート等いくつかの方法で評価されることになります。プロトタイピングという「Try」の活動の中に、評価という「Catch」が含まれているのです。このように、プロジェクトの大きな反復サイクルの中に、小さな反復サイクルがいくつも存在し、フラクタルな構造をとることになります。


Try と Catch のフラクタル構造

このような、順序性を持たない相互反復的な取り組みが、現代的なデザインプロセスと言えるでしょう。プロジェクトの大きな部分と小さな部分が同じ原理で Try-Catch を振動させていくこと。このシンプルで深い考え方が、ユーザー中心設計を新しい時代に最適化するのです。

ここに書かれた個々の手法は必ずしも全てのプロジェクトで行う必要はありません。また組織やサービスに最適な手法を組み合わせ、独自のメソッドを構築していくことが重要です。その前提として、ここに書いたように、大小の反復が折り重なってサービスやブランドが形成されてくというUXデザインプロセスのイメージを掴んでいただければと思います。