向き合う事、歯を食いしばる事と Design について

会社で UI 周りのコンサルタントをお願いしている会社の方がいるのだが、その方とはインターフェースするメンバーが限られているので、直接お話しする機会がずっとなかった。

今回たまたま、だいぶ前にコンサルしてもらった内容の実装を担当する事になり、その説明や詳細詰めのために対面でミーティングを持つことができた。

若くして会社の代表も兼務しているデザイナさんという事で、画面の設計のどの部分にも、どんな質問にも(ちょっと思い出したりしつつも)きちんと意図のある答えが返ってき、そこに込められた彼自身の意志もしっかりと表現されていた。

彼自身は会社でプログラマも雇っているので、特にフロントエンドのエンジニアリングは知識ベースといえど色々知っている。しかし、当然ながらプログラマとしてのキャリアがある訳ではないので、デザインパターンがどうだとか、リファクタリングがどうだとか言っても通じはしない。(言葉は知っているかもしれないが。)

向き合う、歯を食いしばる

彼に今回弊社から依頼した仕事は、既存の画面の再構築なので、当然対象となるのは画面である。にも関わらず、彼の話しはほとんど裏側のモデリングの話しと大差ない言葉で語られていた。「こういうの DDD のユビキタス言語になるのかなー」などと考えていたら彼の口からこんな言葉が出た。

「(画面のある部分を指して)この部分は僕自身まだ向き合いきれていない箇所ですが、実装の前にはしっかりと向き合って考えなければいけない部分です。(〜中略〜)難しい部分ですが、ここは歯を食いしばって考え抜かないといけませんね」

失礼ながらデザイナさんの口から出る言葉だとは思えなかった。(ホントにデザイナさんに失礼なのですが。。)
「向き合う」「歯を食いしばる」という言葉はドメイン駆動設計でも何度か出てきた言葉だが、読んでいた当時も「大げさな書き方だなー」と半ば冷めた目で見ていたのだが、まさかこの言葉が全く異なるコンテキストの人から出てくると思わなかったのだ。

画面を設計すること

言葉だけ走りメモして帰ってからも考えていたのだが、本当に裏にあるデータの構造まで考え、それを画面上にもっとも顧客にわかりやすい形で表現しようとしたならば、それはドメインモデルの設計をする事に極めて近い行為なのかもしれない。(アウトプットが似通ってくるのかまでは分からないが。)

ドメイン駆動設計も、顧客とその課題に向き合い、(利口なUIを避け)、歯を食いしばって取り組む事が必要だとある。結局は、見ている先は顧客、またはそのユーザであり、その課題であるはず。ただ、往々にして未熟なチームは安易なトランザクションスクリプトを組み、ただデータを表示するだけの何も解決しないシステムを作ってしまう。

画面設計もまた同じで、やり近い視点として顧客やユーザがいるものの、逆にデータは遠く見えにくいが、それもしっかりと意識し取り組むか取り組まないかで、単に流行りの見た目だけを取り入れた画面や、他のサイトをパクっただけの作りではなく、本当に課題に正面からぶつかれる UI ができるのだろうと思う。これは弊社のシステムが BtoB のシステムだからというのもあるのかもしれない。

その結果、用いる言葉も似てきた、、、と理解できなくもないし、個人的には何かそういう風に納得してしまった。

最初のリリースができて 30 点

これもそのデザイナさんが言っていた事だが、「自分ができる仕事はデザインを出すまで、そこまでできても何の価値も無い。まず小さくてもリリースする、それでやっと 30 点、そこから 100 点まで持っていくのが本当に大変な仕事です。」
これも、最近流行りのなんたらスタートアップやらの文脈関係なく、その通りだと思う。特に技術から遠い経営層は「100点のものを作る」が当たり前に考えがちな気がしていて、品質に関してもリリース後のバグなんて言語道断と思っていたりする。(もちろんそれが超重要な業界もあるが。)
大事なのはリリースしてからで、そこでようやくフィードバックを受ける事ができ、想像の世界から脱出できる。(って、これはリーンなんたらと同じか。)

よく、Styling と Design は違うというが、僕が Twitter Bootstrap 使ってキャッキャやってるのとは全然レベルの違う UI への向き合い方を魅せつけられて驚いたって話し。まあ、その世界のプロなのだからと言ってしまえばそうなのかもしれないけれど、ちょっと感動したので。