「ユーザインタフェース」に着目してみる


実際にC/S以降何が起こったかというと、RAD、オブジェクト指向、Webアプリケーションなどの技術がプログラミングの世界を大きく変えることになりました。プログラミングは高度になり、プログラマの実力によって、生産性は大きく左右されるようになりました。

高度になった、というと漠然としていますが、私は、昔(メインフレーム)と、今(オープン系)のもっとも大きな違いは、ユーザインタフェースだと思います。ユーザインターフェースには、機能要件と異なり、

    • 要求仕様(RFP)に書き表すことが難しい。

という特徴があります。
昔は、それでもよかったのです。メインフレームの端末を叩くのは一般職のおねえさんの仕事であり、彼女たちは事務のスペシャリストでありそれ自体が仕事なので、不親切なUIでもよかったのです。*1
ところが今は違います。1人1台PCが会社から支給され、総合職の人もシステムを直接使って仕事の能率を上げることが要求されています。彼(彼女)らにとっては、システムを使うこと自体が仕事ではなく、システムはあくまで手段(もしくは押し付けられて渋々使うもの)です。さらに、企業内には多くのシステム*2が乱立し、不親切なUIのシステムは使われなくなる運命*3にあります。
そのような中、ユーザ企業が開発力を失い*4、元請け(ITゼネコン)に丸投げをし、元請け(ITゼネコン)が下請けに丸投げ・・・いう構造の中では、要求仕様(RFP)化しにくい「ユーザインタフェース」が軽視されるのは当然です。*5
Web系IT企業*6多重下請け構造にならないのは、Web系IT企業にとってはユーザインタフェースはユーザ数の増減、すなわち企業の死活に直結する重要問題なので、内作することが必然であるためでしょう。
ユーザ企業も、情報系システムを活用した「攻めの経営」を進めるために、システムの内作化により、(総合職の)エンドユーザの視点に立った、使いやすいシステム、使ってもらえるシステムを提供するという方向性がもっとあってもいいのにと思います。


*1:少ないキータッチで仕事ができるようにファンクションキーに機能を割り当てて・・・みたいなUIの工夫は必要でした。ただ、ゴールは「少ないキータッチ数」と明確だったので要求仕様化しやすかったのです。また、後述のとおり内作だったので考慮できたという面もあるでしょうね。

*2:特に「情報系」または「非基幹系」といわれるような、無くても一応仕事はできるようなやつ。無くても一応仕事ができるようなものであるがゆえに、競合他社との差別化要因になり得るという面もあります。

*3:無くても一応仕事はできるようなシステムが、とっつきにくいUIであれば、使われない人が出てくるのは自明です。また、この手のシステムにはネットワーク外部性が働いているものが多く、一部の人が使わなくなると、渋々使っている人の効用も低下するという特徴があり、結局誰も使わなくなるという結末に至りがちです。(CRMとかSFAとか…)

*4:昔は日本でも、ユーザ企業の情報システム部員が自ら(COBOLで)プログラムを組む、というのは普通でした。

*5:ITゼネコンの作る企業向けシステムのUIはひどいもんです。ついでにエンタープライズ系パッケージのUIもひどいものが多いです。

*6:google、Yahoo、はてなlivedoorなど