読者です 読者をやめる 読者になる 読者になる

UX DAY TOKYO 2015

2015.uxdaystokyo.com

行ってきた。直接に関係がある話はあんまりしません。

エクストリームプログラミングが発表されたのは1999年だったという(Wikipediaより)。

www.amazon.co.jp www.amazon.co.jp

(日本語版は2000年。英語の1st Editionがあると良かったのだけど、Amazonにあったのは2004年の2nd Editionだった。)

Embrace Change(変化を抱擁せよ)

ソフトウェア開発の失敗は、事前に仕様と設計を凍結することから発生する。仕様の決定をできるだけ遅らせることによって、開発する製品の陳腐化を防ぐ。そのためには何をすれば良い?仕様を決定できる人間が実装を行うチームの近くにいなくてはいけない。オンサイトカスタマー。そもそも完成されたソフトウェアでないと発見できない類の問題がある。反復的な開発。もしも新しい変更が失敗だったときのために、ソースコードはいつでも過去のものを参照できるようにする。バージョン管理。全てのXPのプラクティスはソフトウェアの変更をリリースされる最後の瞬間まで続けられるようにするためのものである。(どれもちょう雑な説明なので、ちゃんとした資料を確認してください。)

このアイディアは広く受け入れられ、アジャイルスクラムと呼ばれる開発手法として発展を続けた(雑な説明)。アジャイルスクラムは、XPよりもコラボレーションやプロセスに意識が移っているように見える。ストーリーカード、イテレーション、デイリースタンダップ、見積もり、振り返り。どうすれば気むずかしくて内向的なプログラマーたちを、チーム作業に適応させることができるのか。

現在ではプログラマは、品質の高いソフトウェア製品をチームで開発する方法について、一定の知見を有するようになった(もちろんXPがカバーする範囲で)。


さて、2010年になって周りを見てみると、取り残された人々がいる。より正確には、XPが生まれた時点ではソフトウェア製品の開発で重要な役割を果たすと認識されていなかった、そして現在では当時よりもはるかに重要であると認識されているデザイナと呼ばれる人たちがいる。UIデザイン、情報デザイン、ビジュアルデザイン、マイクロインタラクション。デザイナが貢献する分野は広範囲にわたっていて、どれも今日のソフトウェア製品では重要な分野として認識されている。

が、いまいちXPやアジャイルの流れで発見されてきたプラクティスは共有されていない。

使っているツールに起因する困難はある。PNGをGitで管理することにはほとんど意味がない。なぜかというとそれらはPhotoshopで編集した結果を出力したものだから。PSDを無理矢理Gitで管理することはできるがdiffをとったり、マージしたりするのはほぼ不可能である。マージできないファイルを複数人で同時に変更することはできない。プログラミングの対象となるソースコードとはかなり状況が違う。*1

ツールについては発展を待とう。しかし、プロセスにも問題がある。反復的な開発プロセスにどうやって適応すれば良いか。デザインはそれだけでは意味を持たず、ユーザーに価値を届けることが本質である。デザイナだけで議論することには意味がない。他の人たちと、どうやってコミュニケーションすれば良いか?

UX design is a team sport.

チームの関係者を集めて一緒にデザインするには、紙とペンで絵を描いて壁に貼る。その前に人間の描き方を説明しよう。UXの改善とはなにか?課題はどう定義すれば良いのか?問題があることを説得するにはどうすれば良いか?関係者みんながアクセスできるデータ共有方法はなにか?


今よりもソフトウェア製品を使ったときの体験を向上するにはどうすれば良いか?ボトルネックはデザインの技量ではなくて、別のところにある 。つまりコラボレーションでありプロセスである。そういう意識を感じた。*2

かなり良いイベントでした。

*1:多分、あと5〜10年でこの状況は改善されると思う。PhotoshopIllustratorが支配的な立場を保てるのは、紙や印刷物と計算機上で使う画像を両方サポートしているからであり、印刷屋さんとコミュニケーションするためのプラットフォームとしての役割があるからである。Sketchのような、計算機上で扱う画像のためだけのソフトウェアが一定の成功を収めることがわかった今、この分野の競争が激化することは間違いがない。そのときに重要であると考えられるに違いない(と私が信じている)のはプログラマとの協業を容易にすることであり、つまりGitで変更を管理してみんなで編集して後でマージするというワークフローとの親和性である。

*2:と言っても、そもそも私の問題意識があってこそ勝手に匂いをかぎ取っているだけかもしれないし、特に目新しい話ではないのかもしれない。プログラミングの話は大まかな流れはざっくりとは理解しているつもりだけど、この界隈の流れは良くわからないので、これはあまり意味のある言明ではない。