SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

コーディングに取り組むUIデザイナーがその重要性をアピール、開発者もデザインへの参画を!

UIデザイナー向けイベント「UI Crunch #8」レポート

プロダクトの周辺で試作、ツール、プロトタイプからコードを書いてみよう

一方で、株式会社Gunosyのデザイナーで、成澤氏の次のセッションに登壇した森浩明氏は、デザイナーが実装に直接関わらなくてもよいのではないかという考えを示した。時間不足、実装の責任へのプレッシャー、学習の負担などさまざまな理由はあるが、何よりデザインを疎かにしてまで実装する、コードを書くというのは本末転倒になるからだという。

株式会社Gunosy デザイナー 森浩明氏
株式会社Gunosy デザイナー 森浩明氏

しかし、森氏はデザイナーがコードを書くことを否定しているわけではない。開発に直接コミットするコードではなく、その周辺でコードを書くことを勧めている。検証やテストなどを行うコードを積極的に書くことは開発や自分の作業の助けになるし、失敗しても誰にも迷惑がかからない。そこでたくさん失敗することで何らかの気づきも得られる。

森氏がデザイナーも取り組んでみるとよいとして挙げた実装は「試作」「ツール」「プロトタイプ」の3つ。試作は、自分のアイデアを試して形にする、動かしてみること。エンジニア並みではなく下手なコードでもよいので、積極的にコードを書いて何かを作ってみる。何か問題があったら、それをどう解決するか、解決するためには何が必要かを調べ、試作することで解決を図る。失敗しても、その過程で何かの気づきがあれば十分。森氏自身も、iOSでエディタを試作し、iOS SDKの限界を理解した経験があるという。

ツールは、日々使うツールを自分で作ってみることである。たとえば、IllustratorやPhotoshopはJavaScriptで制御できるので、Illustratorで描いたパスの座標をスクリプトで出力し、それをiOS用のコードに貼り付けて図形を描画するといったことが可能だ。自分で使うツールなので、自分が使いやすければよく、過剰な完成度は必要ない。

プロダクトの周辺で試作、ツール、プロトタイプからコードを書くことを推奨(引用元:森氏のスライド@Speaker Deck)
プロダクトの周辺で試作、ツール、プロトタイプからコードを書くことを推奨(引用元:森氏のスライド@Speaker Deck

プロトタイプは、プロダクトのコードに自分で手を加えて作るものを指す。そのため、実際のデータを使ってテストして動作を確認できる。モックアップとは異なり、本番とほぼ同じフィードバックを得やすい。プロダクトにコミットしないので、品質にこだわらずさまざまな検証が可能である。

デザイナーにとって、プロダクトにコミットするコードを書くことはハードルが高い。また、必ずしもプロダクトにコミットするコードを書く必要もないだろう。森氏は「プロダクトの周辺で、開発の助けになる間接的なコミットを行うところから始めてみるとよい」という、デザイナーが実装を行う1つの方法を提案した。

デザイナーがコードを書くことでデザインプロセスを最適化し、プロダクトの完成度をアップ

ウォンテッドリー株式会社のデザイナー、青山直樹氏は、デザイナーがコードを書くことを前提とした場合のデザインプロセスを紹介した。

ウォンテッドリー株式会社 デザイナー 青山直樹氏
ウォンテッドリー株式会社 デザイナー 青山直樹氏

青山氏がウォンテッドリーに入社するきっかけとなったのは、「デザインもコードも書きたいデザイナーウォンテッド」というデザイナー募集だったという。ウォンテッドリーでは、デザイナーが全員コードを書いている。デザイナーにその理由を聞くと、「HTMLを書く延長で自然に」「作りたいのは絵ではなくプロダクトだから、自分で書くほうが効率的に目的に近づける」といった答えが返ってきた。すなわち、デザイナーがコードを書くのは、技術によってしか到達できない表現があるから、そしてチームでの開発ではデザイナーがコードを書いたほうがいろいろと効率化が可能になるからだといえる。

デザインは一般的に、ワイヤーフレーム、画面遷移、画面デザイン、プロトタイピング、指示書作成といった流れで行うが、コードを書くデザイナーを前提とするとこれらのプロセスの一部が不要になる。デザイナーにとってもコードを書けることで選択肢が増え、エンジニアが忙しいときなど状況に応じて最良の進め方を選択できる。

また、デザイナーとエンジニアとの距離が近いために、「ワイヤーフレームや画面遷移などの情報設計はミーティング中に済ませる」「標準的なグラフィックスであれば画面デザインを行わない」など、一部の作業を省くことができる。省いたことで何か問題が起こってもリリースまでに巻き返せば、デザインのクオリティは確保される。また、デザイナーとエンジニアのコミュニケーションや、プロジェクト全体の進捗管理はGitHubベースで行っており、「手が空いているときにできることをやる」体制が整っているため、作業はスムーズに進んでいるという。

デザイナーがコードを書くことでデザインプロセスの最適化が可能(引用元:青山氏のスライド@Speaker Deck)
デザイナーがコードを書くことでデザインプロセスの最適化が可能(引用元:青山氏のスライド@Speaker Deck

このように開発のプロセスを簡易化する一方で、既存の制作物を繰り返し使用できる環境も整備している。たとえば、アイコンをライブラリ化してコマンド1つで書き出し/追加できるようしたり、ガイドラインのパターンを組み込んでおき、デザインの一貫性を確保し、変更時に簡単に修正できるようにしたりといったことだ。

まとめると、デザイナーが全員コードを書くウォンテッドリーでは、プロジェクトの進め方を大胆に最適化し、余った時間でプロダクトの完成度を上げている。ただし、「重要なのは、デザイナーがコードを書けるかどうかではなく、エンジニアと一緒にいかに無駄なく作業できるか」だと青山氏は指摘する。デザイナーがやりたいならコードを書けばよいし、別なことで価値を発揮できるならコードを書かなくても別にかまわないのでは、との考えを最後に示した。

次のページ
より良いプロダクトを作るためにエンジニアはどのようにデザインに関わるべきか

この記事は参考になりましたか?

イベントレポート連載記事一覧

もっと読む

この記事の著者

坂井 直美(サカイ ナオミ)

SE、通信教育講座の編集、IT系出版社の書籍編集を経てフリーランスへ。IT分野で原稿を書いたり編集したり翻訳したり。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9468 2016/06/06 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー