本文へ移動

ホーム / デザイナー / 第6部 エンジニアとの協業

第6部 エンジニアとの協業・第13章

エンジニアとの協業

★★☆ 重要7トピック・面接 4問

エンジニアと一緒に良い体験を作るための、日々のやりとりのこつを押さえます。相談のタイミングと聞き方、工数の感覚、段階的なリリース、開発の進め方、エンジニアの事情を扱います。

13.1早めに巻き込む

用語★★☆ 重要
ひとことで

完成したデザインを渡すのではなく、ラフの段階で実現性と工数を相談すると、良い妥協点が見つかる。

完成したデザインを渡してから「これは難しい」と言われると、やり直しの時間も気持ちの負担も大きくなります。ラフの段階でエンジニアに見せると、実現性と工数(作るのにかかる手間)が早く分かり、体験の目的を保ったまま、作りやすい形を一緒に探せます。

変える手間ここで相談すると変更が安い作った後の変更は高いラフデザイン受け渡し実装リリース後
相談は早いほど安い(形のイメージ)
タイミング相談すること
企画・ラフデータは取れるか、どの画面に影響するか、大きな工数の差はどこか
デザインの途中標準の部品で作れるか、新しい部品が要るか、状態の抜けはないか
受け渡しの前仕様の読み合わせ。未定の部分を誰が決めるか
実装中プレビュー環境での確認。細かい調整

体験の目的(「ユーザーが迷わず次の操作に進める」など)を先に伝えておくと、エンジニアからも代わりの案が出やすくなります。

面接ではこう答える

完成したデザインを渡してから難しいと言われると、やり直しの時間も気持ちの負担も大きくなります。そこで、ラフの段階でエンジニアに見せて、データが取れるか、どこで工数が大きく変わるかを早めに相談します。デザインの途中では標準の部品で作れるかや状態の抜けを、受け渡しの前には仕様の読み合わせを、実装中にはプレビュー環境での確認を、と段階ごとに相談することを変えています。体験の目的を先に伝えておくと、エンジニアからも代わりの案が出やすくなります。

判断に使いにくい聞き方・「これ、できますか?」・「なるべく早くお願いします」・「デザインどおりにしてください」判断に使える聞き方・「どこがいちばん大変ですか?」・「標準の部品の案だと手間は?」・「最初はここまで、で分けられる?」
実装の難しさの聞き方

実装の難しさの聞き方:「できますか?」と聞くと、「できます(ただし2週間)」という答えになりがちです。代わりに次のように聞くと、判断に使える答えが返ってきます。

  • 「この案と、標準の部品を使った案で、手間はどのくらい違いますか?」
  • 「どこがいちばん大変ですか?そこを変えたら楽になりますか?」
  • 「このデータは今の API で取れますか?」
  • 「最初のリリースではここまで、次で残りを作る、と分けられますか?」
聞くこと分かること
いちばん大変なところ工数を大きくしている原因(データ・部品・動き)
代わりの案との差体験の差と手間の差を比べて決められる
今の API・データで取れるかサーバー側の作業が要るか
段階に分けられるか最初のリリースの範囲
後から変えにくいところ最初に決めておくべきこと
ひとことで

工数は、作るのにかかる手間(人数×期間)。新しい部品・新しいデータ・凝った動き・複雑な状態があると大きくなりやすい。

体験への効果と工数で、案を並べてみる工数(小 → 大)効果まずやる(効果大・工数小)段階に分けて計画するついでにやるやらない・代わりの案
効果と工数で案を並べる
工数が大きくなりやすい理由工数を抑える代わりの案
新しい部品作る・状態をそろえる・アクセシビリティ・テスト既存の部品の組み合わせ・バリアントの追加
今ないデータ・新しい APIサーバー側の作業が要る今あるデータで出せる範囲から始める
凝ったアニメーション調整と性能の確認に時間がかかる標準の動き。動きは後の版で
ドラッグ・複雑なジェスチャータッチ・マウス・キーボードの全部に対応ボタンで同じ操作ができる形
リアルタイム・オフライン同期とぶつかりの扱いが複雑更新ボタン・オンラインのみから始める
OS ごとに違うデザイン両方で作る・確かめる共通にできる部分を増やす

面接ではこう答える

工数は、作るのにかかる手間のことで、何人で何日かかるかで考えます。見た目の変更でも、新しい部品が要る、今の API にないデータが要る、凝ったアニメーション、ドラッグなどの複雑な操作、オフラインやリアルタイムの同期があると、工数は大きくなりやすいです。逆に、既存の部品と既存のデータで作れるものは早く作れます。どこで工数が大きくなるかの感覚を持っておくと、案を出す段階で、効果と工数のバランスを考えられます。

ひとことで

最初は価値を確かめられる最小限の形(MVP)で出し、フィーチャーフラグで一部の人にだけ見せて、データを見ながら広げる。

小さく出して、確かめてから広げる最初の版いちばん大事な部分一部の人にフィーチャーフラグデータを見る使われ方・指標次の版残りを作る全員に広げる
段階的に出して確かめる

工数の大きいデザインも、段階に分ければ早く出せます。最初の版では、体験の目的に欠かせない部分だけを作り、使われ方を見てから残りを作ります。

言葉意味デザインでの使い方
MVP(実用最小限の製品)価値を確かめられる最小限の形最初の版に入れるものと、後にするものを分ける
フィーチャーフラグ機能のオンとオフを外から切り替える仕組み社内・一部の人だけに新しいデザインを見せる
段階的な公開少しずつ対象を広げる問題があればすぐ戻せる
A/B テストランダムに分けて比べるフィーチャーフラグの仕組みで出し分けることが多い

注意したいのは、「最初の版」のまま次が作られないことです。段階に分けるときは、全体の形(最終的に目指すデザイン)と、次の版でやることをチームで共有しておきます。

面接ではこう答える

一度に完成形を作るのではなく、まず価値を確かめられる最小限の形で出すのが MVP の考え方です。フィーチャーフラグという、機能のオンとオフをコードの外から切り替える仕組みを使うと、新しいデザインを社内や一部のユーザーにだけ見せて、問題がないか、使われているかを確かめてから全員に広げられます。デザインでは、最初の版にどこまで入れるかを PdM やエンジニアと決め、後の版で足す部分も含めた全体の形を持っておくようにしています。

ひとことで

多くの開発チームは、1〜2週間のスプリントで計画・開発・レビュー・振り返りをくり返す。作業はチケットに分けて見積もる。

スプリント(1〜2週間の区切り)の中でのデザイナーの動き(例)計画今回作るもの開発実装中の確認レビューできたものを見る振り返り進め方を直すデザイナーは「今回作るもの」より1〜2回先のデザインを進めておくことが多い
スプリントの流れとデザイナーの関わり
言葉意味デザイナーの関わり
スプリント1〜2週間ほどの開発の区切り先のスプリントの分のデザインを用意しておく
チケット(課題)作業の単位。Jira・GitHub の Issue などデザインのリンクと受け入れの条件を書く
見積もり作業の大きさの目安(ポイントや日数)デザインの範囲で大きさが変わる。範囲を分ける相談
受け入れの条件完成とみなす条件状態・画面サイズの条件を入れる
レビュー・デモできたものをチームで見る実物でデザインとの違いを見る
振り返り進め方の改善受け渡しのやり方の改善を出す

チケットにデザインのリンクを貼るときは、どの版のデザインかが分かるようにします(デザインのファイルは後から変わるため)。変わったときは、チケットにも変更を書いておきます。

面接ではこう答える

多くの開発チームは、1〜2週間ほどのスプリントという区切りで、計画、開発、レビュー、振り返りをくり返します。作業はチケットという単位に分けて、どれくらいの大きさかを見積もります。デザイナーは、今のスプリントで作られる画面の確認をしつつ、1〜2回先のスプリントで作る画面のデザインを進めておくことが多いです。デザインが計画に間に合わないと開発が止まるので、チームの進め方に合わせて、受け渡しの時期を決めておくようにしています。

13.6よくあるすれ違い

用語★☆☆ 発展
ひとことで

状態の抜け・画面サイズ・アニメーション・細かい余白で起きやすい。

デザイナーとエンジニアのすれ違いは、だいたい決まった場所で起きます。

すれ違いの例対策
状態の抜け(空・エラー・読み込み中)を実装の都合で作られた画面ごとの状態の一覧を受け渡しに入れる
狭い画面や長い文言で崩れたいちばん狭い幅と長い文言のデザインも作る
アニメーションが意図と違う時間・動き方(イージング)を数値で書き、動くプロトタイプを見せる
余白や色が少しずつ違うトークンで指定する。トークンにない値は理由を書く
「デザインどおり」と言われたが使いにくい実装の途中で実物を触って確かめる

どれも、どちらかが悪いというより「決めていないこと」から起きます。見つけたら、次から防ぐためにチェックリストやデザインシステムに足していきます。

面接ではこう答える

デザイナーとエンジニアのすれ違いは、だいたい決まった場所で起きます。状態の抜け、狭い画面や長い文言での崩れ、アニメーションの意図の違い、余白や色の細かい違い、デザインどおりなのに使いにくい、といったものです。どれもどちらかが悪いというより、決めていないことから起きるので、状態の一覧、いちばん狭い幅のデザイン、動きの数値、トークンでの指定、実装中の確認で防ぎます。見つけたら、チェックリストやデザインシステムに足して、次から起きないようにしています。

ひとことで

急いで作ったなどの理由で、後から変えにくくなったコードの状態。返済(作り直し)しないと、新しい変更の工数が増えていく。

エンジニアの「この変更は思ったより大変」には、デザインからは見えない理由があることが多いです。

エンジニアの事情例デザイナーができること
技術的負債古い画面だけ別の仕組みで作られていて、部品が使えない作り直しの時期に合わせてデザインを変える
ほかの画面への影響共通の部品を変えると、全部の画面に影響する変更の範囲を確かめ、必要ならバリアントを足す
テスト・確認変更ごとにテストの修正と確認が要る変更をまとめる・細切れにしない
障害・緊急の対応本番の問題が優先される予定がずれることを前提にする
アプリの審査すぐに直せないリリース前の確認を厚くする

こうした事情を知っていると、「デザインどおりにしてほしい」と「事情は分かる」の間で、どこを優先するかを一緒に決められます。

面接ではこう答える

技術的負債は、急いで作った、古い仕組みのまま、といった理由で、後から変えにくくなったコードの状態のことです。借金のように、返さないと利子が増えるように、新しい機能やデザインの変更にかかる工数がだんだん大きくなります。「この画面だけ変えるのに時間がかかる」という答えの裏には、この負債があることが多いです。デザイナーとしては、負債の返済の作業もチームの計画に必要なことを理解し、デザインの変更と一緒に返せるタイミングがないかを相談します。

この章のまとめ

🖨 まとめシート(印刷・PDF)
  • 完成してからではなく、ラフの段階からエンジニアに見せて実現性と工数を相談する
  • 「できますか?」ではなく「どこが大変か・何を変えれば楽になるか」を聞く
  • 一度に全部作らず、段階的に出して確かめる。開発の進め方(スプリント・チケット)に合わせる

この章のクイズ

面接ではこう聞かれる

まず答えを見ずに声に出して答え、そのあと開いて比べる。

Q1エンジニアから「実装が難しい」と言われたらどうしますか?

模範回答

まず、何がどう難しいのかを具体的に聞きます。工数がかかるのか、性能が出ないのか、データが取れないのか、で取れる手が変わるからです。そのうえで、このデザインで守りたい体験の目的を改めて伝えます。

目的が分かれば、標準の部品を使う、動きを減らす、最初のリリースでは一部だけ作って次で残りを作る、などの代わりの案を一緒に考えられます。案ごとに手間と体験の差を比べて決め、決めたことはデザインにも反映します。最初から完成形にこだわらず、ラフの段階で相談しておくと、こうした場面そのものが減ります。

深掘りされたら

  • 代わりの案でも体験が大きく損なわれる場合は、どうしますか?

見られているポイント理由を聞き、体験の目的を保つ代替案を一緒に考える

Q2エンジニアには、どのタイミングでデザインを見せていますか?

模範回答

完成してからではなく、ラフの段階から見せます。ラフでは、データが取れるか、どの画面に影響するか、どこで大きく手間が変わるかを相談します。デザインの途中では、標準の部品で作れるかや状態の抜けを、受け渡しの前には仕様を一緒に読み合わせます。

実装が始まったら、プレビュー環境で途中の段階を見せてもらいます。後になるほど直す手間が大きくなるので、早く小さく見せるほうが、結果としてデザインの意図も守りやすいと考えています。

深掘りされたら

  • ラフを見せて、方向が大きく変わった経験はありますか?

見られているポイント早い段階の相談と、段階ごとの目的

Q3デザインレビューで実装との違いを見つけたとき、どう伝えますか?

模範回答

「デザインと違う」とだけ言うのではなく、どの画面のどの状態・どの幅で、何がどう違うのかを、スクリーンショットとデザインを並べて伝えます。数値が違うならトークン名や値も書きます。

あわせて重要度を添えます。リリース前に必ず直したいもの、後でよいもの、気にしなくてよいものに分けると、エンジニアが優先順位をつけやすくなります。違いの原因がデザインの書き漏れなら、自分の側の受け渡しのチェックリストにも足します。

深掘りされたら

  • 細かい余白のずれは、どこまで指摘しますか?

見られているポイント具体的な伝え方と優先度

Q4エンジニアとの協業でうまくいった経験を教えてください。

模範回答

例えば、検索結果の画面で、凝った絞り込みの UI をデザインしたところ、エンジニアから「この形は API の作り直しが要る」と言われたケースです。ラフの段階で相談していたので、まだ変える余地がありました。

目的は「ユーザーがすぐに条件を絞れること」だったので、それを伝えたうえで、よく使う条件だけを先に出す案をエンジニアと一緒に考えました。最初のリリースはその形で出し、使われ方のデータを見てから残りを作る、と段階を分けました。目的を共有して早めに相談したことが、うまくいった理由だと考えています。

深掘りされたら

  • うまくいかなかった経験と、そこから変えたことは?

見られているポイント目的の共有・代替案・段階的なリリース