Software Quality.com

●1.22 お知らせのコーナーに JaSST'12東京でお会いしましょう! を追加

ホーム
★agile inspection WS
What's new
お知らせ
サイト マップ
Softwareを取り巻く状況
用語解説
要求工学
利用品質/人間中心設計
ソフトウェア品質特性
プロトタイプ
レビュー
マネジメント
SW構成管理
books
プロセス改善
独り言・私語
training
reference
当サイトについて
お問い合わせ
利用品質・ユーザビリティ(usability)・人間中心設計
 
コンピュータシステムは人間にとって役立つものであるべきですが、本当に役に立つシステム、人間に優しいシステムとして開発されているのでしょうか。
多くの企業で開発され、運用、保守されているシステムの使いやすさと、そのライフサイクルにおいて利用者・ユーザーを含めた人間中心の活動がなされているのかについては大きな課題があると思われます。
ここでは、システムまたはソフトウェア開発プロセスの視点からユーザビリティ(使いやすさ)を考察します。
※設計や評価を計画・実施する際には”ソフトウェア品質特性”も含めた総合的な視点で臨んでくださいね。

■ユーザビリティ(使いやすさ)とは?■
「使いやすさ」という言葉だけを捉えると、完成した製品がどの程度使いやすいか?という一点だけを考えればよいと思いがちです。(私もそうだと思っていました。)
そのこと自体は一部間違いではありませんが、現在はもっと視点を広げて考える必要があるようです。
その理由は、使いやすさをある局面だけを見て判断することができないこと、そして利用する人や利用するための状況が変化すれば製品の「使いやすさ」が変化するためです。
さらに、外部環境(例えば新技術の出現など)が変化すると、それまで使いやすかった製品が、使いづらい製品になる可能性もあるからです。

→システムの使いやすさは、システムが持っている特性だけではなく、システムの外部環境が変化することで悪化する可能性があります。例:時間とともに、より便利に、より複雑に、より多くの機能を求められる

それらのことを包含して、「使いやすさ」とは以下の事項を含んだ総合的な概念で捉えられているようです。
・利用者の視点で製品を開発すること
・使いやすさを考慮した設計を行なうこと
・意図した使いやすさが組み込まれていることを評価すること
・使いやすさが維持できているかを監視し、継続的に製品を見直すこと
 

■利用品質って何?■
ユーザビリティ(usability-使いやすさ)の特性がISO 9241-11で定義されています。
この規格ではユーザビリティを「特定の利用状況において、特定のユーザによってある製品が、指定された目標を達成するために用いられる際の、有効さ、効率、ユーザの満足度の度合い」と位置づけています。
簡単に言えば、システムを利用する立場で捉えた品質が利用品質です。
その特性は以下の3事項となっています。
 

利用品質の特性 

定義
有効性 (Effectiveness)

ユーザが目標を達成する上での正確さ、完全性。 

効率性(Efficiency)ユーザが有効性を満たして目標を達成する際に費やした資源。 
満足度 (Satisfaction)

製品を使用する際の、不快感のなさ、及び肯定的な態度。 


また、ユーザビリティの定義に登場した”利用状況 (Context of use)”とは、「ユーザ、仕事、装置(ハードウェア、ソフトウェア及び資材)、並びに製品が使用される物理的及び社会的環境」となっています。
例えば、システムの利用状況には、どんな人が使うのか、その人たちのコンピュータリテラシー(使いこなし能力)はどの程度か、どんな場所で使うのか、どんな環境で使うのか、などが該当します。
 
■使いやすいシステムを実現・維持する-人間中心設計プロセス■
使いやすく、人間にとって役に立つシステムを実現し、維持するための方法論として「人間中心設計プロセス」が存在します。
これは「ISO13407:1999 (JISZ8530:2000)インタラクティブシステムの人間中心設計プロセス」にまとめられているものですが、その概要を下表に示します。
 

STEP

概要
※人間中心設計の必要性の特定

人間が利用して何かの結果や成果を得るためのシステムを開発する場合、(使う側の)人間の使いやいシステムを設計し、実装する必要があります。その必要性を特定し、ユーザー側、開発する側双方で認識を合わせることが重要になります。
人間中心設計の必要性認識がなければ、以下の人間中心設計活動の要素も不十分、不適切な活動になるでしょう。

(1)利用状況の把握と明示システムを利用する環境や制約事項、想定する利用者の能力や特徴などを把握し、明示する 
(2)ユーザーと組織の要求事項の明示システムを利用するユーザーや組織を特定し、そのユーザー・組織がシステムを利用する際に必要な要件(要求事項)を明示する
特にこの時点で「どこまでをシステムに委ね、どこまでを人間が対応するのか(=機能配分)」を適切に見定める必要がある
(何でもITに委ねることが最適解にはならない)
(3)設計による解決案の作成

 ・これまでの経験や様々な情報源から取得される既存の知識・情報、多様な職種により設計(解決)案を検討し、提案する
・実際の設計作業によって要求事項を満たす(複数の)解決案を具体化する
複数(多く)の解決案が存在する場合は、選定基準などを定めて1つまたはいくつかの候補に絞り込む
シミュレーション・プロトタイプ・モックアップなどの手段により、設計案を試作することも考慮する
・ユーザーに設計案(解決案)を提供し、解決案に沿って想定される作業(又は作業の模倣)をしてもらう
・実際に作業をしてもらったユーザーから、設計(解決)案へのフィードバックを取得し、その結果から設計(解決)案を見直し、必要な場合変更を行なう
(目的達成までこれらの作業を繰り返す)

(4)要求事項に対する設計の評価要求事項を満たす設計(解決)案になっているかどうかを評価する
途中途中の簡易な評価、部分的な評価から、専門家による評価・本番環境での妥当性確認、長期間のモニタリングまでを含むため、開発プロセス+運用プロセスのどの段階でどのような評価を行なうのかを企画・計画時点で明確にし、実施する必要がある
※特定ユーザー及び組織の要求事項を満足

人間中心設計活動(上記タスク(1)~(4)の繰り返しを含む)の結果、特定したユーザーと組織の要求事項を満足する

 
■人間中心設計プロセスの期待効果■
・開発・保守作業における手直し・手戻りが最小化することによる生産性の向上
・利用者の学習時間、訓練・支援対応工数の最小化
・利用者の満足度向上
・システムを使うことで得られる効果(生産性)の最大化/システムを活用する組織の競争力向上
 
■ユーザビリティは何に左右されるのか?■
ユーザビリティは何に左右されるのでしょうか?
まず大事なことは「利用者」の感性やリテラシ(使いこなしの能力)、使用目的などに影響されるということです。
また、同じシステムでも、使う場所(設置する場所)や使う人(利用者)の能力が異なれば、使いやすさは変化します。
よって、人間の仕事をサポートするコンピュータシステムを開発する際は、その目的は何か、利用者が誰なのか、どの程度のコンピュータリテラシを持っているのか、どのような環境や状況でシステムを利用して仕事を行なうのかを明確にすることで、意図したユーザビリティを実現することが可能になります。
このことを別な視点で整理すると、システムのユーザビリティは、意図した利用者、想定した利用の状況(環境を含む)に基づき評価することが大事
であるということになります。
 
■使いやすさの捉え方から分かること■
先の述べた「ユーザビリティ(使いやすさ)」の捉え方(概念)から分かることは何でしょうか。
それは、人が利用するシステムやソフトウェアは、その使いやすさを当初開発時にだけ組み込んでも、また、ある一時期だけ手直ししたとしても根本的な対応にはなりえないということです。
それでは現状のシステム(ソフトウェア)開発、改良作業はどうでしょうか。

・利用者との接点もなく、技術者の思いつきだけで開発作業を行なう。
・ユーザが参加せずに設計を進め、テスト段階になって変更要求のオンパレード。
・納品後に大量のクレームが発生し、使いづらいシステムとして我慢して使い続ける。
・クレームや使いやすさ改善要求に一過性の目先対応で済ませてしまう。

などなど様々な開発者中心、開発側都合中心活動や一時しのぎ的対処療法だけが繰り返し行なわれているような気がします。

■利用の状況を把握する■
”ITシステムは何かを成し遂げるためのツール”ですから、ITシステムを使う人の年令・性別・境遇・家族構成や使う場所、周辺環境、他システムとのつながり、などを把握しておくことが重要になります。これらの情報全体を「利用の状況」と呼びます。
例えばデジタルカメラ(というシステム)を考えてみてください。
デジタルカメラを使って撮影するのは当然ですが、それを持ち運ぶ、撮影後にプリントする、関係者に配る、皆で喜びを記念となる情報を共有する・・・など、一連の流れの中でデジタルカメラというシステムの役割は、ユーザが獲得したい結果を導く一過程でしかありません。
これらの利用状況の中でデジタルカメラはどうあるべきか? を検討し、役立つ機能、使いやすい機能を搭載しなければ、ユーザに役に立つシステムになり得ないのです。
役に立たないシステムは、ユーザに選択されない運命をたどる、満足しないユーザは以降そのメーカや企業を避ける、などの行動をとります。
このようにユーザビリティは顧客満足度を向上させ、売上に直結するのです。

ところでITシステムを構築する際には、作る側の視点でアプローチしていることが多くなっていませんでしょうか。
典型的には「このシステムを使えないユーザが馬鹿なんだ」のような言葉で表現されるのがそれです。
また、いくら技術者がこうだろう、ああだろうと事前検討したとしても、ユーザに直接使ってもらう、見てもらう、評価してもらうことがないシステム構築も結果的に同じことです。
これからは(いやすでに)作り手の視点や価値観で作ったITシステムでは売れない時代がやってきます。

まず第一歩としてユーザの視点で作るために利用の状況を把握する、そして早い時期から顧客・ユーザーに見てもらう、(擬似的にでも)使ってもらうことから始めてみてください。
 
 
■人間中心設計プロセスの実現に必要な条件■
人間中心設計プロセスの概要を説明してきましたが、これらは実直にやれば効果が期待できるものです。
とはいえ、これらのポイントをすべて、いきなり実装するのは無理がある組織も多いと思います。
できるところから対応する上で、人間中心設計プロセスにおいて絶対に外せないポイントであり、かつこれが実現できれば効果が大きいものを提示しておきますので参考にして下さい。
それはユーザーに開発(+運用)プロセス全般に参画してもらうということです。
これは当然必要な事項ですが、多くのシステム開発プロジェクトで実現できていない事項でもあります。
ユーザーに参画してもらえているプロジェクトでも、プロジェクト終盤の評価時点のみに参画し、多くの手戻りを発生させ、出来上がったシステムは役に立たない、あるいは使い勝手の悪いシステムを我慢して使う・・・・そんな状況も多くなっていると思われます。
役に立つシステムを構築するには、いかにしてプロジェクトの初期から全般にユーザー参画してもらうかが重要な鍵(必要条件)となります。

■実現が困難な事項■
人間中心設計活動の中で必要なポイントを提示してきましたが、その中で実現が最も困難な事項は「多様な職種に基づく検討」ではないでしょうか。
マーケティング、要求分析・要求定義、プロジェクトマネージャ、アプリケーションエンジニア、人間工学などの各種専門分野に精通する要員が様々な視点で設計案を検討、評価し、目的が達成されるまで繰り返すことが重要なのですが、そのような多様な分野に精通した要員が少ないだけではなく、一つのシステム開発に組織内の専門要員が終結する体制を組むこと自体がその必要性認識が薄いことにより困難だと思われます。
要員の確保が無理ならば組織の外部から応援してもらうなどの対応も考えられますが、それ以前に組織として多様な職種による対応が必要である、いや必須であるという認識を共有することがなければ実現は困難であると言えます。皆さんの組織ではどうでしょうか。

■多様な職種に基づく検討の実現■
多様な職種に基づく検討:この実現が困難な事項を現実のものにするためには「組織として多様な職種による対応が必要である、いや必須である」と組織が認識を持たなければなりません。人間中心設計活動を組織的戦略の一つとして位置づけ、その実現に向けた準備を具体的に行うことになります。
具体的な準備には、様々な役割に必要な専門性を持つ技術者(例:マーケティング担当者・ユーザーインターフェースデザイナー・人間工学の専門家・テクニカルライター・認知心理学専門要員・ヒューマンインタラクション専門要員など)の育成、人間中心設計活動上でどのような役割を果たすのかについての認識と実践能力付与、組織的な人間中心設計プロセスの設計・構築・維持、などが含まれます。
人間中心設計についてこれまで何も対応できていなかった組織であれば、十分な集中的かつ計画的対応を取ったとしても数年間の中長期的対応が必要になると想定されます。

■ITシステムの盲点■
ITは社会のインフラや日常生活に欠かせない存在となった今日ですが、さて本当にITは人間にとって役に立つものとなっているのでしょうか。
危惧されることは、何でもかんでもITに委ねてしまうことで、かえって余計な手間がかかるようになってしまうこと。
そして、効率化だけを優先するあまり人間が本来持つ役割や能力を何も発揮することなく、結果的に人間自身の「考える力・判断する力」を退化させる原因や日常生活を見えない危険にさらすことになることはないのか、ということです。

特にITのことだけを深く知る技術者は、システムの機能を何でも安易にIT化したり、わざわざ難しい実現手段(個人的趣味など)で実現したりする傾向があります。
「ITができること」、と「ITにさせるべきこと」は異なということを認識する必要があります。

ITによるシステムは、人間とIT の適切な機能配分で実現するべき・・・・人間中心設計プロセスのメッセージの一つがここにあります。