上野学さんのtweet

2
Manabu Ueno @manabuueno

「うちのシステムも iPhone のようにマニュアル読まなくても簡単に使えるようにしたい。」と要望される。iPhone と業務システムでは用途が違うしそもそも OS とアプリケーションだし比べるのもおかしいが、どうやら iPhone はマニュアルがなくても使えるという認識らしい。

2016-05-31 11:52:55
Manabu Ueno @manabuueno

実際 iPhone でもある程度の前提知識がないとそれほどうまくは使えないということを私は知っているが、学習効率がよいので人はそのことを忘れてしまうのだろう。

2016-05-31 11:53:01
Manabu Ueno @manabuueno

マニュアルを読まなくても使えるようにしろと言う人の多くが意味するのは、手順を覚えやすくしろということだ。タスクが単純であれば丁寧なガイダンスがついたウィザードをつくればよい。しかし多くの場合、タスクはそれほど単純ではない。

2016-05-31 11:53:08
Manabu Ueno @manabuueno

iPhone の学習効率が高いのはひとえに直接操作感を重視したイディオム設計にあるということも私は知っている。つまりモードレスであることが大きなファクターになる。

2016-05-31 11:53:15
Manabu Ueno @manabuueno

iPhone に対してユーザーが「マニュアルを読まなくても使える」と感じるのなら、その使いやすさとは、手順が覚えやすいのではなく、そもそも決まった手順が無いということなのだ。

2016-05-31 11:53:20
Manabu Ueno @manabuueno

手順が決まっていない。ユーザーは好きな方法で目的に向かっていける。これが GUI の根本であるモードレスネスだ。しかしこのコンセプトはシステムの企画者や設計者の間でほとんど理解されていない。

2016-05-31 11:53:25
Manabu Ueno @manabuueno

これまでコンサルで様々なシステムを見てきた。世の業務アプリの8割はタスクベースのUIストラクチャになっていて、それをオブジェクトベースに変えるだけで劇的に改善できる。これは銀の弾丸と言っていいほど汎用的で強力なノウハウだ。

2016-05-31 11:53:31
Manabu Ueno @manabuueno

ここでいう改善とは、操作効率、学習効率、業務効率、UI拡張性などの向上。画面数の削減(5〜10分の1に) による開発工数の低減など。それなのにほとんどのユーザー部門、情シス部門、SIer はまずこのUIストラクチャを発想することができない。

2016-05-31 11:53:36
Manabu Ueno @manabuueno

なぜならほとんどの開発メソッドでは上流工程で業務分析やワークフロー分析を十分行うことを重要視しており、その結果タスクの羅列こそがUIストラクチャであると短絡的に捉えられてきたからだ。システムに対してユーザーは何かを明確に要求しているという前提で、開発者はそれを特定しようとした。

2016-05-31 11:53:42
Manabu Ueno @manabuueno

デザイナーがUCDだなんだと言い出すずっと前からシステム開発の上流ではユーザーコンテクストの特定に躍起になっていたわけで、観察やインタビューといったものはすでによく行われていた。ユーザーに最初に着目したのは開発者であり、数々のアンチパターンが厳しいクリティシズムを発生させていた。

2016-05-31 11:53:48
Manabu Ueno @manabuueno

ビジネスアプリの設計においてタスクが偏重されてきたのは、それが、電話や紙を用いて行われていた業務をスクリーンにそのまま置き換えるという初期動機によるものだ。しかし世の常として、道具はまず仕事に合わせて作られるが、やがて進化した道具によって今度は仕事が変化するのだ。

2016-05-31 11:53:53
Manabu Ueno @manabuueno

オブジェクトベースのUIストラクチャでは、ユーザーはタスクを選ぶのではなくエンティティ選ぶ。エンティティはインスタンスのマスター&ディテールを持ち、それらは目的に合わせた表示形式とアクションを持つ。ユーザーは業務という概念ではなく情報オブジェクトに直接向き合うことになる。

2016-05-31 11:53:59
Manabu Ueno @manabuueno

事業体において、エンティティ(主要な概念単位)は変化しにくいが、業務(タスク)は変化しやすい。だからタスクベースのUIストラクチャは複雑化しやすく破綻する。オブジェクトベースならきれいに拡張できる。ビューとそこに付随するアクションを増やすだけでよいから。

2016-05-31 11:54:08
Manabu Ueno @manabuueno

ユーザーが直接エンティティに向き合うということは、仕事の本質に向き合うということだ。仕事の対象とアクションはスクリーン上に明示されているので業務を手順として覚える必要はない。対象について意識しなければならない幅と深さはビューのフォーマットで自然にコントロールされる。

2016-05-31 11:55:11
Manabu Ueno @manabuueno

多くのクライアントはまず自分たちの業務システムがどれだけ複雑かということを訴えてくる。そこでオブジェクトベースのアプローチで50画面を5画面にしてしまうと、驚き、複雑に思われていた業務が実はそれほどでもなかったと気づく。彼らは感心すると同時に、ややがっかりした様子さえ見せる。

2016-05-31 11:55:25
Manabu Ueno @manabuueno

メニューから業務名という形骸を取り去りユーザーを仕事の本質に向き合わせると、保守的なステークホルダーが拒絶反応を示すこともある。しかし業務システムのデザインはすなわち仕事のデザインであるという意識を共有できないのなら、そのプロジェクトはあまりに不毛だろう。

2016-05-31 11:55:31