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

/home/by-natures/dev*

ソフトウェア開発者として働く人の技術的なメモ

July Tech Festa に参加しました

seminar 053

学生時代、アルバイトとして大変お世話になった方が参画されており、招待をいただきましたので、July Tech Festa へ参加してきました。

略称は JTF2013 となっており、毎年開催しているイベントなのかな…?と思っていたのですが、今年が初開催のような雰囲気でした。公式サイトの開催概要を引用します:

クラウド環境が普及し,関連した話題が盛り上がり,これにしたがい,これらを裏側で実現する開発者の技術修得の意欲が高まってきています。また,各種ITトレンドが凄まじい速度で移り変わり,技術者同士が活発に交流し,情報交換と人脈構築をしようという動きが顕著にみられます。これらの意欲と活動に応じるため,ITに係るエンジニアの知的興味を満足するための夏の祭典として「コードの中のインフラ(Infrastructure as Programming)」をスローガンに当イベントを開催いたします。

コードの中のインフラ、というスローガンですが、最初読んだときはイマイチ理解できていなかったのですが、発表を聞いている中で「なるほど」と感じました。要はインフラに関するクラウド技術を発表するよ!ということのようです。具体例を挙げると、Chef, Puppet, serverspec, CloudStack などの話がありました。

特に serverspec は生みの親である宮下 剛輔氏が話をされており、「可能な限りシンプルに、そして使いやすく」という理念で設計されているプロダクトだと知りました。Chef や Puppet でサーバの設定をしても、結局サーバにログインしてコマンドを打って確認してしまう、それならクライアント不要の SSH だけで外から確認が行えるツールを作ってしまおう!ということのようです。

そんな JTF2013、私が一番印象に残ったのは、「ユーザエクスペリエンス・デザイン・ガイド」というタイトルでの坂田 一倫氏(@sprmari0)のお話です。インフラのイの字も出てきませんでしたが(笑)、思いもしない話が聞けるのが勉強会の良いところだと常々感じます。

最後に坂田氏の発表をご紹介します。

ユーザエクスペリエンス・デザイン・ガイド by 坂田 一倫氏

[slideshare id=24214337&doc=jtfuxguide-130714020846-phpapp01]

坂田氏は株式会社コンセントでユーザエクスペリエンスアーキテクトとして勤めており、Webサイトからスマートフォンアプリまでを含めた戦略立案、ファシリテーション及び設計を担当されています。坂田氏のブログ "UXploration" が UX に関して非常に熱心に情報発信されており勉強になりますので、こちらもぜひご覧ください。

私の業務がちょうど自社プロダクトの管理画面のリニューアル化で、クライアント側とサーバ側の双方でコーディングをしています。しかしコーディング以上に難しいのが UX です。デザインについてはそれぞれが「使いやすさ」の基準をもっているため、それをデザイナーさんとの打ち合わせなり、チーム内やステークホルダとの打ち合わせで決めていくのですが、打ち合わせ以上に大切なのがユーザビリティテストです。管理画面の仮想的な利用者をペルソナとして用意し、こういう風に使うだろうというシナリオを用意し、実際に被験者にテストしてもらいます。

「テストしてもらいます」と書きましたが、開発初期であればテストできるものがないのでワイヤフレームやモックをベースにテストを行います。開発が進むにつれ、次第に目指すべきユーザビリティと掛け離れてしまうため、開発中にも定期的にユーザビリティテストを行うことが大切とのこと。

[caption id="attachment_3240" align="aligncenter" width="400"]開発が進むにつれ、ユーザビリティが悪化するリスクが増大することを示唆しています。開発プロセスにユーザビリティテストを組み込み、このリスクを定期的に解消することが必要です。 開発が進むにつれ、ユーザビリティが悪化するリスクが増大することを示唆しています。開発プロセスユーザビリティテストを組み込み、このリスクを定期的に解消することが必要です。[/caption]

開発が進むとユーザビリティが下がる、という言葉が非常に印象的でした。というのも、今の開発はモックをベースに開発をしているのですが、それなりに開発期間が長いので、色々な理由でモックと少しずつ違う点が出てきたり、モックでは想定していなかった問題(例えばモックで用意していたデータと、実際に流れ込んでくるデータの量が全く違うなど)が出てきて、開発している画面が、テストを行ったモックと少しずつ離れてしまうんです。

では定期的にユーザビリティテストが行えるか、というと画面は開発中なので機能は揃っておらず、定期的にユーザビリティテストを行うのが難しい。。「テストは定期的に行うべきなのは分かるが、開発中だとテストしづらい」という疑問を坂田氏に伺うと、以下の2つの解決策を頂きました:

  • モックの段階でテスト出来ることはテストし、そのテスト結果は開発中でも担保する(その後のテスト内容には含めない)
  • ユーザビリティテストはシナリオがベースになるため、シナリオテストが行えるように機能開発をし、順次テストしていく

開発中でもシナリオを切りだして、少しずつテストすればいいというのが目からうろこでした。

大変勉強になったセッションで、UX に関する勉強会にも顔を出した方がよいのかも…と感じました。坂田さん、ありがとうございました!