B デザイン根拠(HTMLより先に記述)

デザインの根拠(design rationale)

対象: 株式会社ネクストブリッジ(SES専業、エンジニア186名、営業8名、経営層3名)向け業務システム 画面: projects.html(案件一覧・検索)、management.html(経営方針検討)

本書はHTML実装より先に書いた。実装中に判断を変えた箇所は末尾「実装時の変更」に追記する。


画面A: 案件一覧・検索(projects.html)

A-1. 利用者と目的

利用者は営業担当。基準ペルソナは東京営業・佐藤(担当エンジニア23名、うち終了予定・待機中が5〜6名)。 彼が画面を開く目的は次の4つ。

# 目的 頻度 重要度 補足
G1 朝の新着チェック。「昨日〜今朝に届いた案件に、自分の待機予定エンジニアに合うものがあるか」を判断する 毎日(10分) 良い案件は2〜3日で埋まるので、見落とし = 機会損失
G2 特定エンジニア(例: 来月末終了、Java 7年、希望70万以上、フルリモート希望)に合う案件を探し、提案先を3件ほど選んで提案する 週に数回(終了確定のたび) 最高 待機1人・1ヶ月で約49万円の損失。この画面の存在理由
G3 商談前に、その取引先の過去〜現在の案件と単価水準を振り返る 週1回程度 単価交渉・提案の相場感づくり
G4 社内競合の把握。自分が狙う案件に他の営業がすでに別エンジニアを提案していないか確認する G1/G2の途中で毎回 中〜高 単独の目的ではなくG1/G2に埋め込まれる

G1とG2は本質的に同じ問い(「この待機予定者に合う案件はどれか」)を、G1は新着に限って毎朝、G2はエンジニア1人に絞って深く行う。したがって両者を同じ操作系(エンジニアを選ぶ → 合う案件が絞り込まれる)で扱うのがこの画面の中心設計。

A-2. 目的ごとの操作フロー(時系列)

G1: 朝の新着チェック

  1. 画面を開く。最初に知りたいのは「今日・昨日の新着が何件あるか」と「自分の待機予定者は誰か(何人か)」。
  2. 待機予定エンジニア(5〜6名)を1人ずつ頭に置きながら新着を眺める。実務では「Javaの田中さんに合うのは…、インフラの鈴木さんに合うのは…」と人を軸に流し読みする。
  3. 合いそうな案件があれば、単価・開始時期・リモート条件・経験年数・面談回数・他営業の提案有無を確認する。
  4. 良さそうなら詳細を開き、その場で提案操作をする(後回しにすると埋まる)。

G2: エンジニアに合う案件を探して3件提案

  1. 画面を開き、対象エンジニア(例: 田中)を選ぶ。
  2. 田中の条件(スキル・希望単価・終了日・希望勤務形態)で案件が絞られる。ここで手入力は不要であるべき。
  3. 絞られた候補(10〜20件想定)を、単価・商流の浅さ・開始時期・リモート・勤務地・経験年数・社内競合 で比較する。表形式で列を揃えて並べるのが最も比較しやすい。
  4. 気になった案件に候補マークを付ける(3件程度)。
  5. 候補を1件ずつ詳細で確認(備考の「面談1回、即決したい」等、必須スキルの全文、エンド企業、商流制限、外国籍)。
  6. 詳細から「提案する」→ 提案エンジニアは田中が既定で選ばれている → 確定。ステータスが「提案中」に変わり、一覧にも反映される。
  7. 次の候補へ(一覧は閉じずに残っている)。

G3: 取引先の振り返り

  1. 取引先名で絞る。
  2. 普段は隠している「充足・クローズ・情報古い」を含めて、その取引先の全案件を見る。
  3. 単価の分布(下限・中央値・上限)、商流、件数、直近の受信頻度を把握する。
  4. 個々の案件をざっと見て、どの役割・スキルをどの単価で出しているかを掴む。

G4: 社内競合の把握

A-3. 何を最初に見せ、何を隠し、何を最短にするか

最初に見せる(初期表示)

隠す(既定では見せない)

最短にする操作

A-4. 操作負荷・認知負荷の低減策

工夫 効く目的・ステップ 種別
左パネルのエンジニアカードに「該当 N件 / 新着 K件」を表示。クリックで一覧が該当案件だけに絞られる G1-2, G2-1〜2 操作(手入力ゼロ)/認知(記憶不要)
マッチ判定はルール化: 必須スキルにエンジニアの主要スキルが1つ以上含まれる AND 単価上限 ≧ 希望単価 AND 開始時期 ≦ 終了日の翌月末(即日含む)AND リモート条件が希望と両立。厳しすぎると0件になるので、詳細フィルタで個別に緩められるようにする G2-2〜3 認知
本日受信行の青マーカーと「本日/昨日/N日前」表記。「情報古い」は灰色で薄く G1-1〜2 認知(鮮度)
商流をバッジ色で段階表示(エンド直・元請け直=濃い青、一次=青、二次=灰、三次以下=薄灰)。並び替え「商流が浅い順」を1クリック G2-3 認知(浅い商流を優先)
一覧のステータス列に提案中エンジニア名と担当営業を表示。他営業の提案は琥珀色の「社内競合」ラベル G4, G2-3 認知(異常に気づく)
候補マーク(星)列と「候補のみ表示」トグル。ヘッダに候補件数 G2-4 操作(3件を溜める)
詳細は右ドロワー。上下キー/ドロワー内の「前へ・次へ」で一覧を移動できる G2-5〜7 操作(遷移ゼロ)
提案モーダルは選択中エンジニアが既定。他のエンジニアも選べ、各人のマッチ度(スキル一致・単価・時期)を記号で示す G2-6 操作/認知
取引先を1社に絞ると、全ステータス表示に切り替え、上部に「件数・単価 下限/中央値/上限・商流内訳・直近受信」のサマリ帯を出す G3-2〜3 操作(切替不要)/認知(相場が一目)
フィルタは1行に収め、常時表示: キーワード、スキル(必須に含む)、単価下限、開始時期、リモート、勤務地、商流、ステータス、取引先、担当営業。「自分の担当のみ」トグル 全般 操作(スクロール不要)
行の高さ 36px、文字 13px、1画面で20〜25行見える密度 G1-2, G2-3 認知(比較)
「該当 N件」を常に表示。0件のときは「条件を緩める: 単価 / 時期 / リモート」の即時ボタン G2-2 操作

A-5. 検討したが採用しなかった案


画面B: 経営方針検討(management.html)

B-1. 利用者と目的

利用者は経営層3名(代表、営業本部長、管理本部長)。

会議で決めることは要件の7議題。それぞれについて「この画面で答えるべき問い」に言い換える。

# 議題 決めること(問い) 会議での所要 重要度
0 全体状況 先月と比べて何が変わったか。異常はどこか 5分 前提
1 待機対策 来月・翌々月の終了予定者は誰で、提案が進んでいないのは誰か。誰に指示するか 10分 最高(今すぐ動く)
2 採用方針 来期半年で何人採るか。稼働率92%・若手待機増の中で継続か抑制か 15分 最高(最大の投資判断)
3 単価交渉 どの顧客・どの単価帯を上げに行くか。薄利の契約はどこか 10分
4 商流改善 二次以下の比率をどう減らすか。どの取引先経由が薄利か 5分
5 顧客集中リスク 上位顧客への依存度は許容範囲か 5分
6 BP活用 自社員の稼働率とBPマージンのバランスは適正か 5分
7 離職 離職率の推移と、誰が辞めているか(単価帯・年次) 5分

要件の並び(採用→単価→商流→待機→…)から、待機対策を採用方針の前に移す。理由: 待機(名前つきの具体行動)は会議の中で最も即時性が高く、また採用判断の根拠(今の待機が若手に偏っている)でもあるため、先に見せた方が採用の議論が噛み合う。

B-2. 目的ごとの操作フロー(時系列)

会議(1時間、モニタ)

  1. 画面を開くと、上部に今月のKPI(売上・粗利率・稼働率・待機人数・待機コスト・平均単価・在籍・BP人数)が先月比・3ヶ月前比の差分付きで並ぶ。稼働率の低下(96→92%)が赤く目立つ。ここで「今月の異常は稼働率と待機」が共有される。
  2. 左の議題ナビに7議題が並び、それぞれに1行の「要点」(例: 「終了予定14名、うち未着手6名」)が出ている。司会が「今日は待機から」と言って議題1をクリックする。
  3. 議題1: 終了予定者一覧が営業別に並び、「提案未着手」が赤で目立つ。営業本部長が営業名を見て指示する。営業別の終了予定/提案中/未着手の横棒で、どの営業に未着手が偏っているか分かる。
  4. 議題2: 稼働率・待機人数の24ヶ月推移、採用数と待機数の関係、採用パイプライン、単価帯別(若手=〜50万帯の待機)を見る。「月Nの採用を続けたら半年後の稼働率・待機コストはどうなるか」の簡易試算を、採用ペースを変えながら議論する。ここで来期採用数を決める。
  5. 議題3: 単価帯別の人数・粗利率(50〜60万帯が薄利)と、顧客別の平均単価・粗利率を見る。粗利率が低い顧客・単価帯が琥珀色で目立つ。「4月改定で50〜60万帯を対象に、顧客X・Yから」と決める。
  6. 議題4: 商流別の人数・平均単価・粗利。二次以下の人数比率と、取引先別(商流が深い取引先)を見る。
  7. 議題5: 顧客別売上の横棒と依存度%。上位1社22%が閾値(20%)を超えて赤。
  8. 議題6: 自社稼働率とBP人数・BPマージンの推移。「自社員が待機しているのにBPを増やしているか」を見る。
  9. 議題7: 離職数・離職率の推移と、離職者の単価帯×年次×理由の分布。
  10. 各議題の末尾に「決定事項メモ」欄があり、書記が結論を書く(ローカル保持でよい)。

予習(30分、代表のPC)

  1. 上から順にスクロールして全議題の要点を読む。議題ナビの1行要点だけで全体像を10分で掴める。
  2. 気になる議題(今月なら稼働率低下と採用)を深く見る。試算をいじる。
  3. 論点を「決定事項メモ」に下書きしておく。

B-3. 何を最初に見せ、何を隠し、何を最短にするか

最初に見せる

隠す

最短にする

B-4. 操作負荷・認知負荷の低減策

工夫 効く議題・ステップ 種別
議題ごとに「決めること」「現状の要点」「グラフ」「表」「決定事項メモ」の同じ構造にする 全議題 認知(読み方が固定)
要点文は閾値ルールで自動生成(稼働率<94%: 警告、顧客依存>20%: 警告、粗利率<20%の帯: 警告、未着手>0: 警告)。異常があるときだけ赤で、なければ通常色 0, 1, 2, 3, 5 認知(異常に気づく)
終了予定者一覧は「提案未着手」を最上段にまとめ、赤で表示。営業別の集計横棒を横に置く 1-3 認知
稼働率グラフに目標線(95%)を引き、下回った期間を塗る 2-4 認知
採用数(棒)と待機人数(線)を同一グラフに重ね、「採用強化 → 若手待機増」の因果が見えるようにする 2-4 認知
単価帯グラフは人数棒 + 粗利率折れ線。粗利率が最も低い帯を琥珀で塗る 3-5 認知
顧客表は売上依存度・粗利率・商流・終了予定人数を1行に。粗利率<25%または依存度>20%は行の該当セルを色付け 3, 5 認知
商流は「人数比率の積み上げ横棒」と「商流別の平均単価・粗利」を並べ、二次以下の合計比率を大きく1つの数字で出す 4 認知
BPは自社稼働率とBP人数を同じ時間軸で重ねる。自社稼働率が下がっているのにBPが増えていれば文で指摘 6 認知
離職は月次推移(年率換算)+ 単価帯×理由のマトリクス。最多セルを濃く 7 認知
文字は本文16px、表14〜15px、KPI 32px、見出し22px。3mの距離で読めることを優先 認知(モニタ)
色は青1系統 + 警告の赤・琥珀のみ。凡例なしで読めるよう系列は2本まで 認知
決定事項メモはlocalStorageに保存し、次回開いても残る 10, 予習3 操作

B-5. 検討したが採用しなかった案


共通の見た目方針


実装時の変更

実装・ブラウザ確認(1426×746 のウィンドウ)で根拠と異なる判断をした箇所。