本文へ移動

ホーム / デザイナー / 第3部 デザインシステムと実装

第3部 デザインシステムと実装・第8章

受け渡しとレビュー

★★☆ 重要8トピック・面接 3問

デザインをエンジニアに渡して実装してもらう段階(ハンドオフ)と、その後のレビューの進め方を押さえます。受け渡しは1回で終わるものではなく、実装中の確認まで含めた流れです。

ひとことで

Dev Mode・仕様のメモ・プロトタイプで意図を伝え、実装をプレビュー環境で一緒に確認する。

受け渡し(ハンドオフ)は、デザインをエンジニアに渡して実装してもらう段階です。Figma の Dev Mode では、エンジニアが寸法・トークン・書き出した素材を確かめられます。ただし数値だけでは「なぜそうするか」「データが違ったらどうなるか」は伝わらないので、メモ(注釈)とプロトタイプで補います。

チェックの項目中身
状態読み込み中・空・エラー・オフライン・権限なし・多すぎる
画面サイズいちばん狭い幅・ブレイクポイントごと・大きな文字の設定
操作タップ・ホバー・フォーカス・キーボード・戻る操作・アニメーション(時間と動き方)
例外長い文言・0件・画像がない・入力の誤り・取り消し
値トークン名で指定しているか。トークンにない値の理由
アクセシビリティコントラスト・読み上げの文言(アイコンだけのボタン)・フォーカスの順番
決まっていないこと未定の部分と、誰がいつ決めるか

このチェックの項目を、チームのテンプレートとしてデザインのファイルに置いておくと、毎回の抜けが減ります。項目ごとの書き方は、この章の次のトピックで扱います。

面接ではこう答える

受け渡しは、デザインをエンジニアに渡して実装してもらう段階です。Figma の Dev Mode で寸法やトークンは確かめてもらえますが、数値だけでは「なぜそうするか」「データが違ったらどうなるか」は伝わりません。そこで、状態・画面サイズ・操作・例外・トークン・アクセシビリティ・未定のことを、チェックリストに沿って注釈とプロトタイプで補います。未定のことも、誰がいつ決めるかまで書いて渡すようにしています。

ひとことで

デザインに番号を付けて、見た目に出ない決まり(状態・ルール・読み上げ・データの条件)を書いたメモ。エンジニアが推測しなくて済むようにする。

注釈は「見た目に出ないこと」を書く1見出し(h1)。2行まで、超えたら「…」2カード:0件のときは「空の状態」の画面へ3一覧の並び順は新しい順。読み上げの順も同じ4保存ボタン:送信中は「保存中…」で二重送信を防ぐ
注釈の例:番号を付けて、見た目に出ない決まりを書く

数値(大きさ・色・余白)は Dev Mode などで読み取れますが、決まりは見た目に出ません。注釈には、見た目に出ないことを書きます。

書くこと例
表示のルール2行まで・超えたら省略。0件のときの表示。並び順
データの条件「未読があるときだけバッジを出す」。どの API の値か分かればそれも
操作の結果押すとどこへ行くか・戻るとどこへ戻るか・処理中の扱い
アクセシビリティ見出しの階層・読み上げの名前・フォーカスの順番
例外長い文言・画像がない・権限がない
未定のこと何が未定で、誰がいつ決めるか

注釈は、画面の横に番号つきで書くと対応が分かりやすくなります。長くなる決まりは、別の仕様の文書にまとめてリンクしてもかまいません。

面接ではこう答える

注釈は、デザインの画面に番号を付けて、見た目だけでは伝わらない決まりを書いたメモです。例えば、見出しは何行まで出してそれを超えたら省略する、0件なら空の状態の画面へ、並び順は新しい順、送信中は二重送信を防ぐ、といったことです。読み上げの名前や見出しの階層、データの条件も見た目には出ないので、ここに書きます。エンジニアが推測で決める部分を減らすのが目的なので、未定のことも「未定・誰がいつ決めるか」として書いておきます。

8.3Dev Mode と Code Connect

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

Dev Mode は、エンジニアが Figma で寸法・トークン・素材を確かめるための表示。Code Connect は、Figma の部品に実際のコードの部品を結び付けて表示する仕組み。

デザインの部品と、コードの部品を結び付けるデザインFigma の部品Dev Mode寸法・トークン・素材Code Connect実際のコードを表示実装同じ部品を使う
Dev Mode と Code Connect の役割

Figma の Dev Mode は、エンジニアがデザインを読むための表示です。寸法・余白・使っているトークン・書き出す素材を確かめられます。

機能役割デザイナーがしておくこと
寸法・余白の表示要素どうしの距離や大きさを測るオートレイアウトで組む(値が正しく出る)
トークンの表示色・余白がどのトークンか分かるライブラリの変数を使う。直接の値を使わない
素材の書き出しアイコン・画像を形式を選んで書き出す書き出しの設定をしておく
実装の準備ができた印どの画面が作ってよい状態か分かる途中のデザインと区別して印を付ける
Code Connect部品のコードの書き方を表示部品の名前・プロパティをコードとそろえる

Dev Mode が自動で出す CSS などのコードは参考程度で、そのまま使われることは多くありません。実際には、デザインシステムの部品とトークンで組み立てます。だからこそ、デザイン側でも部品とトークンを正しく使うことが大事です。

面接ではこう答える

Figma の Dev Mode は、エンジニアがデザインの寸法やトークン、書き出す素材を確かめるための表示です。さらに Code Connect を使うと、Figma の部品を選んだときに、自動で作られたコードではなく、デザインシステムの実際のコードの部品と props の書き方が表示されます。デザイナーの側では、トークンと部品をライブラリから正しく使っておくことが前提で、自由に描いた値は Dev Mode でもただの数値としてしか伝わりません。実装の準備ができた画面に印を付けておくと、どこを作ればよいかも分かりやすくなります。

ひとことで

アニメーションは、時間(ミリ秒)・イージング(速さの変わり方)・何がどう動くかを数値で伝え、動くプロトタイプで確かめる。

同じ 0.3秒でも、動き方(イージング)で印象が変わる一定(linear)だんだん止まる(ease-out)ゆっくり始まり止まる(ease-in-out)横軸が時間、縦軸が進み具合。画面に入ってくるものは「だんだん止まる」が自然に見えやすい
イージングの違い(時間と進み具合)

「ふわっと出る」では、人によって思い浮かべる動きが違います。動きは数値で伝えます。

書くこと例
何が・どう動くかシートが下から上へ。背景は透明度 0 → 0.4
時間0.25秒(250ms)。UI の多くの動きは 0.1〜0.5秒程度に収まる
イージングease-out(入ってくるもの)・ease-in(出ていくもの)。細かく決めるなら cubic-bezier の数値
きっかけ押したとき・表示されたとき・スクロールしたとき
動きを減らす設定のとき動きを消して透明度の変化だけにする、など

時間とイージングも、motion.duration.short・motion.easing.standard のようにトークンにすると、画面ごとに値がばらばらにならず、実装でも同じ名前で使えます。複雑な動き(イラストのアニメーションなど)は、専用の形式(Lottie など)で書き出す方法もあります。

面接ではこう答える

アニメーションは、静止画では伝わらないので、時間をミリ秒で、イージングと呼ばれる速さの変わり方を ease-out などの名前や数値で、何がどこからどこへ動くかと一緒に書きます。動くプロトタイプも見せると、意図とのずれが減ります。時間とイージングもトークンにしておくと、画面ごとにばらばらになりません。あわせて、動きを減らす設定のときの代わりの見せ方も決めて渡しています。

画像やアイコンなどの素材は、使う場所に合った形式と大きさで渡します。素材の形式は表示の速さにも響きます(詳しくはパフォーマンスの章)。

素材渡し方の例
アイコン・ロゴSVG(単色のアイコンは色をコードで変えられるように)
写真元の大きな画像を渡し、形式(WebP など)と大きさの出し分けは実装で行うことが多い
アプリの画像iOS は @2x・@3x、Android は密度ごと。ベクターで済むならベクター
イラストのアニメーション動画、または Lottie などの専用の形式
ファイルの名前icon-search.svg のように、意味が分かる英小文字の名前

どこまでデザイナーが書き出し、どこから実装で自動で変換するかは、チームによって違います。最初に決めておくと、同じ画像が何度も書き出し直されることを防げます。

ひとことで

デザインのレビューは1回ではなく、ラフ・受け渡し前・実装中・リリース前の段階で行う。実装中に実物を触って確かめるのがいちばん効く。

デザインレビューのタイミングは1回ではありません。①ラフの段階で実現性を相談、②受け渡しの前に仕様をエンジニアと読み合わせ、③実装中にプレビュー環境(プルリクエストごとに作られる確認用の環境など)で実物を触って確認、④リリース前に最後の確認、の流れが基本です。③がいちばん効果があります。実装が終わってからの指摘は直すのが大変なので、途中の段階で見せてもらうようにお願いしておきます。

デザインレビューは4回。遅いほど直す手間が増える棒:直す手間の目安ラフデザイン受け渡し実装リリース① 実現性の相談② 仕様の読み合わせ③ いちばん効くプレビュー環境で実物を触る④ 最後の確認
受け渡しの流れとレビューのタイミング。実装中の確認がいちばん効く
段階見ること
ラフ実現性・データが取れるか・大きな工数の差
受け渡しの前状態・画面サイズ・例外の抜け。未定のこと
実装中実物の操作感・実データでの見え方・狭い幅・遅い回線
リリース前全体のずれ・アクセシビリティ・計測の確認

面接ではこう答える

デザインのレビューは、完成した後に1回やるものではなく、ラフの段階で実現性を相談し、受け渡しの前に仕様を読み合わせ、実装中にプレビュー環境で実物を触って確かめ、リリース前に最後の確認をする、という流れで行います。この中でいちばん効くのは実装中の確認です。実装が終わってからの指摘は直すのが大変なので、途中の段階で見せてもらうよう、最初にエンジニアにお願いしています。

レビューで指摘するときは、「デザインと違う」だけでなく、「どの状態・どの幅で」「何がどう違うか」を、スクリーンショットと一緒に伝えます。重要度(リリース前に必須か、後でよいか)も添えると、エンジニアが優先順位をつけやすくなります。

書くこと例
どこで画面の名前・状態・画面幅・端末と OS・ライト/ダーク
何がどう違うか「ボタンの上の余白:実装 12px、デザイン 16px(space.4)」
画像実装とデザインを並べたスクリーンショット
再現の手順どう操作したら起きるか(状態によって変わるとき)
重要度リリース前に必須/次の版でよい/気にしなくてよい

重要度の目安として、「使えない・誤解する」(例:ボタンが押せない、エラーが伝わらない)は必須、「見た目が少し違う」は後でよい、とチームで基準をそろえておくと、話し合いが短くなります。違いの原因がデザインの書き漏れだったときは、受け渡しのチェックリストに足して、次から防ぎます。

ひとことで

プレビュー環境は、本番に出す前の変更を実物で確かめられる確認用の環境。プルリクエスト(変更の提案)ごとに作られることが多い。

デザイナーが確かめるのは「プレビュー環境」変更を作るエンジニアプルリクエスト変更の提案プレビュー環境実物を触れるレビュー・テストデザインも確認本番に公開ユーザーに届く
変更が本番に出るまで(Web の例)

Web の開発では、エンジニアの変更はプルリクエスト(変更の提案)として出され、レビューを通ってから本番に公開されます。その途中で、変更を実物で確かめられるプレビュー環境が使えることが多いです。

環境中身デザイナーの使い方
ローカルエンジニアの手元のパソコン画面共有で見せてもらう
プレビュー環境プルリクエストごとの確認用URL を開いて実物を触る。コメントを残す
ステージング本番とほぼ同じ確認用の環境リリース前の最後の確認
本番ユーザーが使う環境リリース後の見え方と指標の確認

アプリの場合は、テスト用の配布の仕組み(iOS の TestFlight など)で、開発中の版を自分の端末に入れて確かめます。どちらも、エンジニアに「確認用の URL や版ができたら教えてほしい」と頼んでおくと、実装中のレビューが回りやすくなります。

面接ではこう答える

プレビュー環境は、エンジニアが作った変更を、本番に出す前に実物で触れる確認用の環境です。Web では、変更の提案であるプルリクエストごとに自動で作られることが多く、URL を開くだけで確かめられます。デザイナーはここで、実データや狭い幅、遅い回線での見え方を確かめ、違いがあればプルリクエストにコメントします。本番に出た後に直すより、ずっと手間が少なく済みます。

この章のまとめ

🖨 まとめシート(印刷・PDF)
  • 数値だけでなく、状態・画面サイズ・操作・例外・未定のことまで渡す
  • 動きは時間とイージングの数値と、動くプロトタイプで伝える
  • 実装中にプレビュー環境で実物を触って確かめるのが、いちばん効くレビュー
  • 受け渡しのチェックリスト:Dev Mode・仕様のメモ・プロトタイプで意図を伝え、実装をプレビュー環境で一緒に確認する。
  • 注釈の書き方(仕様のメモ):デザインに番号を付けて、見た目に出ない決まり(状態・ルール・読み上げ・データの条件)を書いたメモ。エンジニアが推測しなくて済むようにする。
  • Dev Mode と Code Connect:Dev Mode は、エンジニアが Figma で寸法・トークン・素材を確かめるための表示。Code Connect は、Figma の部品に実際のコードの部品を結び付けて表示する仕組み。
  • 動きの仕様(時間・イージング):アニメーションは、時間(ミリ秒)・イージング(速さの変わり方)・何がどう動くかを数値で伝え、動くプロトタイプで確かめる。
  • 実装レビューのタイミング:デザインのレビューは1回ではなく、ラフ・受け渡し前・実装中・リリース前の段階で行う。実装中に実物を触って確かめるのがいちばん効く。
  • プレビュー環境とリリースの流れ:プレビュー環境は、本番に出す前の変更を実物で確かめられる確認用の環境。プルリクエスト(変更の提案)ごとに作られることが多い。

この章のクイズ

面接ではこう聞かれる

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

Q1デザインを渡すときに必ず含めていることは?

模範回答

画面の見た目だけでなく、4つを必ず含めています。1つ目は状態で、読み込み中・空・エラー・オフライン・権限なしなど、画面ごとに一覧にしてデザインします。2つ目は画面サイズで、いちばん狭い幅やブレイクポイントごとのレイアウト、文字を大きくしたときの見え方です。

3つ目は操作で、タップやホバー、フォーカス、戻る操作、アニメーションの時間や動き方を、プロトタイプや数値で示します。4つ目は例外で、長い文言、0件や大量のデータ、画像がないとき、入力の誤りなどです。加えて、まだ決まっていない部分と、誰がいつ決めるかも書いておきます。そうしておくと、実装中にエンジニアが迷ってその場で決める場面が減ります。

深掘りされたら

  • 状態の抜けを防ぐために、どうやって状態を洗い出していますか?
  • iOS と Android で分けてデザインするのはどんなところですか?

見られているポイント状態・画面サイズ・操作・例外

Q2アニメーションの意図を、エンジニアにどう伝えていますか?

模範回答

数値と動くプロトタイプの両方で伝えています。数値は、何がどこからどこへ動くか、時間を何ミリ秒か、イージングを ease-out などの名前か数値で書きます。時間とイージングはトークンにしておくと、画面ごとにばらばらにならず、実装でも同じ名前で使えます。

そのうえで、動くプロトタイプを見せて操作感を合わせます。あわせて、動きを減らす設定のときの代わりの見せ方と、重くなりやすい動き(幅や高さを動かすもの)を避けているかも確かめます。実装中にプレビュー環境で実物を触って、細かい調整をします。

深掘りされたら

  • 動きの時間はどうやって決めていますか?

見られているポイント数値化・プロトタイプ・動きを減らす設定までを伝えているか

Q3実装中のデザインを、どうやって確かめていますか?

模範回答

プレビュー環境を使っています。Web では、エンジニアの変更の提案ごとに確認用の環境が作られることが多いので、その URL をもらって実物を触ります。アプリなら、テスト用の配布で開発中の版を自分の端末に入れます。

見るのは、静止画では分からないところです。実データでの見え方、いちばん狭い幅、遅い回線での読み込み中の表示、キーボードでの操作、動き。違いは、どの状態・どの幅で何がどう違うかをスクリーンショットと重要度つきでコメントします。完成してからより途中で見るほうが直す手間が小さいので、最初に「確認用の環境ができたら教えてほしい」と頼んでおきます。

深掘りされたら

  • 重要度はどう決めていますか?

見られているポイント実装の流れ(プルリクエスト・プレビュー環境)を知り、早く確かめているか