business-flow-visualizer

flow-notation v0.4 / Claude Code・Codex CLI 対応スキル

業務ヒアリングの結果から、AI に業務フロー図を書いてもらうための記法とスキルです。 Excel や draw.io で図形を並べる作業をやめて、聞き出すことに集中できます。

3 ステップ

人間は「聞き出すこと」に集中し、見せるのは AI に任せる、という役割分担です。

1

ヒアリングする

エンジニアと AI が一緒に業務担当者へ聞きます。AI は質問の型(全体像→役割→時系列→詳細→用語→分岐)を持ち、聞き漏れを止めます。

エンジニア × AI
2

.flow に落とす

聞いた内容を YAML で書きます。聞いていないことは書きません。答えが得られなかった項目は空欄のままにします。

AI(人が確認)
3

図にする

役割 × 時系列のスイムレーン HTML を AI が描きます。パーサもレンダラも書かず、仕様書を読んで AI が組み立てます。

AI

実例

シナリオごとに ①ヒアリング → ②.flow → ③業務フロー図 を切り替えて確認できます。

01

自動車部品工場:受注 → 出荷

EDI で受注し、生産計画・部品調達・製造・検査を経て出荷するまで。記法の語彙をひととおり含む実寸大の例。

出典
ヒアリング(シミュレーション)
工場職員(製造課)+エンジニア(生産技術)
規模
8役割 × 8列 / 16ステップ
業務フロー図を別タブで開く ↗
並行と合流期限(SLA)社外システム連携用語補足手戻り課題と改善案

エンジニアと AI が一緒に聞き取ります。記録の全文です(枠の中をスクロール)。 各回答がどの記法フィールドになったかを引用で併記しています。

ヒアリング時の会話 — 自動車部品工場:受注 → 出荷

これはシミュレーションです。 実在の企業・担当者の発言ではなく、
flow-interview スキルの手順を検証するために作成した架空のヒアリング記録です。
記法がどんな質問から埋まっていくかを追えるように、やり取りをそのまま残しています。

聞き手: flow-interview(AI) 話し手:

  • 田中さん(製造課・工場職員)… 現場の実作業、紙の運用、待ち、困りごと
  • 佐藤さん(生産技術・エンジニア)… システム、EDI、リードタイム、自動化状況

flow-interview の手順どおり、全体像 → 役割 → 時系列 → ステップ詳細 → 用語 → 分岐・並行・例外 の順に、会話を小さく回して聞いている。 聞けなかったことは推測で埋めず、空欄のままにしている(末尾に一覧)。


Round 1. 全体像

Q(聞き手): この業務、どこから始まってどこで終わりますか? 現状(AS-IS)を描きますか、理想(TO-BE)ですか?

A(佐藤・エンジニア): 始まりは自動車メーカーさんからの確定注文がEDIで飛んでくるところ。 終わりは製品を出荷して、ASN(事前出荷通知)を送るまでです。今回は現状(AS-IS)でお願いします。 理想を語る前に、今どこで詰まってるかを可視化したい。

A(田中・工場職員): 現場感覚だと「注文が来た」→「作れ」って来て、「検査待ち」で止まって、 「出荷しろ」で終わる感じですね。

→ view: AS-IS / start: と end: が決まる

Round 2. 役割(=行)

Q: 登場する部署と社外を、上流から順に挙げてください。社外・外部システムは分けたいので教えてください。

A(佐藤): 社外が 自動車メーカー(発注元)と 部品サプライヤー。 社内は 受注管理課 → 生産管理課 → 調達課 → 製造課 → 品質保証課 → 出荷課 の順です。

Q: サプライヤーとのやり取りは人ですか、システムですか?

A(佐藤): EDIの自動発注です。なので「外部」扱いでいいです。メーカーからの受注も同じくEDI。

→ roles: が確定。社外は #社外、外部システム連携は #外部 を付ける

Round 3. 時系列(=列)とマイルストーン

Q: 時間の刻みは何が自然ですか? 節目はどこですか?

A(佐藤): 営業日で Day0受注 → Day1計画 → Day2部品入荷 → Day3製造 → Day4検査 → Day5出荷。 標準リードタイムが5営業日です。

A(田中): 節目は現場的には3つ。生産計画が確定した時点、製造が終わった時点、出荷した時点。

→ timeline: と milestones: が確定。「5営業日」は sla: へ

Round 4. ステップの詳細(手段・成果物・時間・待ち・困りごと)

受注の取り込み

Q: Day0の受注取り込みから。誰が何をして、それはシステムですか手作業ですか?

A(佐藤): EDIで受注管理システムに自動で入ります。 ただ内示(フォーキャスト)と確定数の突合は手作業。担当が毎朝30分くらいExcelで見比べてます。

→ by: 外部/EDI / artifact: 受注管理システム op: 受注登録 / time: 30分 freq: 毎日
→ 「突合は手作業」は issue: に

Q: そこは改善したいところですか? 案があれば一緒に描けます。

A(佐藤): うーん、そこはまだ具体的に考えていないです。今は製造の実績のほうが先。

→ 改善案(tobe)は書かない。案が無いものを勝手に書かない

Q: 差異があったらどうなりますか?

A(佐藤): ±10%を超えたらメーカー担当に電話・メールで照会します。 回答が半日〜1日待ちになって、計画着手が翌日にずれることも。

Q: 照会はその日のうちに投げますか?

A(佐藤): はい、その日の午後には投げます。

→ cond / wait: 回答待ち 半日〜1日 / rework: で受注確認へ戻す
→ 照会は「Day0 午後」の列に置ける
生産計画

Q: 計画は誰が、何を使って立てますか?

A(佐藤): 生産管理課が生産管理システム(MRP)で立てて、確定させます。

Q: どれくらい時間がかかりますか?

A(佐藤): 測ってないですね。 MRPを流すのは一瞬ですが、確認と調整が入るのでばらつきます。

→ by: システム/生産管理システム(MRP) / artifact: 生産計画 op: 計画確定
→ 所要時間は空欄にする(測っていないため)
部品の調達

Q: 計画のあとは? 同時に走る作業はありますか?

A(佐藤): はい、計画確定後に「部品発注」と「治具・段取り準備」が並行で走ります。 両方そろわないと製造に入れません。

A(田中): そう、材料が来ても段取りができてないと着手できないし、逆もある。ここは「両方待ち」です。

Q: 発注は具体的にどうしますか?

A(佐藤): 不足分の発注データをEDIで送信します。納入されたら受入検収をして計上します。

Q: 部品の納入に期限はありますか? 遅れたら?

A(佐藤): 発注翌日(1営業日)が納期。遅れたら調達から督促を掛けます。

Q: 部品の納入まわりで、困っていることはありますか?

A(佐藤): そこは今、大きな問題にはなっていないです。だいたい期日どおり来ます。

→ 課題(issue)は書かない。困りごとが無いなら空欄

A(田中): ただ、材料待ちで手が空くことはありますよ。

→ wait: 部品入荷待ち
段取りと製造

Q: 段取りの準備はどれくらいかかりますか?

A(田中): 半日くらいです。品種を切り替えるので。

Q: 製造の実作業について。何を使って、記録はどう残しますか?

A(田中): 紙の製造指示書を持ってラインで加工・組立。まる1日かかります。 実績は紙の日報に手書きして、翌朝まとめて生産管理システムに入力してます。 ここが一番のムダで、実績がリアルタイムで見えない。

Q: 改善案のイメージはありますか?

A(佐藤): MESで設備から実績を自動収集したい。それが本命です。

→ artifact: 製造指示書(紙) op: 実績を手書き記入 / time: 1日
→ issue:「日報が紙。翌朝まとめて入力で、実績がリアルタイムに見えない」/ tobe: MES
検査

Q: 検査は? 待ちは発生しますか?

A(田中): 品質保証の出荷検査。ロットが溜まるまで検査待ちが半日くらい出ます。

Q: 検査そのものは何を使いますか? 成績書はどこで作りますか?

A(田中): 検査は治具に当てて測ります。成績書は検査システムで、測定値を入れると出ます。

Q: 検査そのものの所要時間は?

A(田中): ロットの大きさでまちまちですね。測ってはいないです。

→ by: 人手/検査治具 / artifact: 検査成績書 op: 検査システムで作成 / wait: 検査待ち 半日
→ 所要時間は空欄にする(測っていないため)

Round 4.5. 出てきた専門用語を拾う

Q: いま出てきた言葉、業務を知らない人にも分かるようにしたいので教えてください。 「内示」って、どういう意味ですか?

A(佐藤): 確定前にメーカーから示される見込みの注文数量です。確定注文とは数量が変わることがあります。

Q: EDI、MRP、MES、ASN は?

A(佐藤): EDIは電子データ交換、企業間でデータを決まった形式でやり取りする仕組み。 MRPは資材所要量計画、計画から必要な部品と数量・時期を割り出すもの。 MESは製造実行システム、設備や作業者から実績をその場で集めるもの。 ASNは事前出荷通知、何をいつ送るかを出荷前に知らせるデータです。

Q: 現場の言葉も。「治具」「段取り替え」「受入検収」「検査成績書」は?

A(田中): 治具は加工や組立のときに部品を正しい位置で固定する道具。 段取り替えは生産する品種を切り替えるために治具や設定を入れ替える作業。 受入検収は納入された部品を検査して、数量と品質を確認して受け入れる手続き。 検査成績書は検査の結果を記録した書類で、出荷する製品の品質を証明します。

→ glossary: に9語を定義。本文では [[用語]] で参照する

Round 5. 分岐・例外・手戻り

Q: 検査でNGが出たときは?

A(田中): 手直し(ライン外)して再検査に回します。 この手直しの記録が紙で残るので、後追いが大変。

Q: 出荷は? 梱包は手作業ですか?

A(佐藤): 梱包・ラベル貼りは手作業です。そのあと納品書を発行、 最後にASNをEDIでメーカーに送信して完了です。

→ except: 検査NG? / ng: で手直しへ / rework: で再検査へ戻す
→ 出荷課の2ステップ / 最後は by: 外部/EDI(ASN)

空欄にした項目(聞けなかった/答えが無かった)

flow-interview の鉄則に従い、推測で埋めずに空欄のままにした。

箇所項目理由
生産計画を立案・確定する所要時間「測っていない」(佐藤さん)
出荷検査を行う所要時間「ロットによってまちまち、測っていない」(田中さん)
部品を納入する課題「大きな問題にはなっていない」(佐藤さん)
受注データを取り込む改善案「まだ具体的に考えていない」(佐藤さん)
各ステップ頻度受注取り込み(毎日)以外は聞けていない

推測で補った箇所

箇所内容根拠
梱包・納品書発行 と ASN送信 を2ステップに分けた聞き手による構造化発言は「梱包して、納品書を出して、ASNを送る」という一連の流れ
治具・段取り準備を Day2 に配置聞き手による配置判断「両方そろわないと製造に入れない」からの逆算

未ヒアリングの項目

  • 初品検査の有無
  • ロット・トレーサビリティ記録の運用
  • 複数ラインの並行稼働
  • 督促を誰がどの手順で行うか

この会話から生まれたもの

  • order-to-shipment.flow … 上記のやり取りを記法に落としたもの
  • order-to-shipment.html … .flow から flow-visualize で生成した業務フロー図

元ファイルを開く →

聞いた内容をそのまま YAML で書きます。at: が「誰の行 × いつの列」を指し、そこが図の座標になります。

# flow-notation v0.4 — 自動車部品工場:受注→出荷 (AS-IS)
# 出典: ヒアリング時の会話.md(工場職員+エンジニア)
# 会話に出ていない数値・課題・改善案は書いていない。空欄にした項目は会話記録の末尾を参照。
roles:      [自動車メーカー#社外, 受注管理課, 生産管理課, 調達課, 部品サプライヤー#外部, 製造課, 品質保証課, 出荷課]
# 同じ日に複数の行為が起きるため、SPEC 2.2 に従い Day0 と Day1 の粒度を割っている
timeline:   [Day0午前, Day0午後, Day1午前, Day1午後, Day2, Day3, Day4, Day5]
milestones: { 生産計画確定: Day1午前, 製造完了: Day3, 出荷完了: Day5 }
sla:
  受注〜出荷リードタイム: { span: [Day0午前, Day5], limit: 5営業日 }
  部品納入:               { span: [Day1午後, Day2], limit: 1営業日 }
view:       AS-IS

# 業務を知らない人向けの用語補足。本文中の [[用語]] がツールチップになる
glossary:
  EDI:      電子データ交換。企業間でデータを決まった形式でやり取りする仕組み
  内示:     確定前にメーカーから示される見込みの注文数量。確定注文とは数量が変わることがある
  MRP:      { desc: 資材所要量計画。計画から必要な部品と数量・時期を割り出すもの, aka: [生産管理システム] }
  MES:      { desc: 製造実行システム。設備や作業者から実績をその場で集めるもの, aka: [製造実行システム] }
  治具:     加工や組立のときに部品を正しい位置で固定する道具
  段取り替え: 生産する品種を切り替えるために治具や設定を入れ替える作業
  受入検収: 納入された部品を検査して、数量と品質を確認して受け入れる手続き
  検査成績書: 検査の結果を記録した書類。出荷する製品の品質を証明する
  ASN:      事前出荷通知。何をいつ送るかを出荷前に知らせるデータ

steps:
  - start: 確定注文の受信
    at: [自動車メーカー#社外, Day0午前]
    trigger: 毎朝 EDI 自動受信

  - id: r1
    at: [受注管理課, Day0午前]
    from: 確定注文の受信
    act: 受注データを取り込み内容を確認する
    by: 外部/[[EDI]]
    artifact: 受注管理システム
    op: 受注登録
    time: 30分
    freq: 毎日
    issue: "[[内示]]と確定数の突合を Excel で手作業している"

  - id: c1
    cond: "[[内示]]との差異が ±10% 超?"
    from: r1
    then: r2
    else: p1

  - id: r2
    at: [受注管理課, Day0午後]
    from: c1
    act: メーカー担当に数量差異を照会する
    by: 人手/電話・メール
    wait: 回答待ち 半日〜1日
    rework: r1
    issue: 回答が遅いと計画着手が翌日にずれる

  - id: p1
    at: [生産管理課, Day1午前]
    from: c1
    act: 生産計画を立案・確定する
    by: システム/生産管理システム([[MRP]])
    artifact: 生産計画
    op: 計画確定
    milestone: 生産計画確定

  # 計画確定後、部品発注と製造準備が並行で走る
  - par: par1
    from: p1
    to: [b1, m0]

  - id: b1
    at: [調達課, Day1午後]
    from: par1
    act: 不足部品を発注する
    by: 外部/[[EDI]]発注
    artifact: 発注データ
    op: 発注送信

  - id: s1
    at: [部品サプライヤー#外部, Day2]
    from: b1
    act: 部品を納入する
    by: 外部/納品・[[受入検収]]
    artifact: 納品書
    op: 受入計上
    wait: 部品入荷待ち
    on_overdue: -> 調達課より納期督促

  - id: m0
    at: [製造課, Day2]
    from: par1
    act: "[[治具]]・[[段取り替え]]を準備する"
    by: 人手/段取り替え
    time: 半日

  # 部品入荷と段取り完了の両方がそろって製造着手
  - id: m1
    at: [製造課, Day3]
    from: [s1, m0]
    join: all
    act: 加工・組立を行う
    by: 人手/製造ライン
    artifact: 製造指示書(紙)
    op: 実績を手書き記入
    time: 1日
    issue: 日報が紙。翌朝まとめて入力で、実績がリアルタイムに見えない
    tobe: "[[MES]] で設備から実績を自動収集"
    milestone: 製造完了

  - id: q1
    at: [品質保証課, Day4]
    from: m1
    act: 出荷検査を行う
    by: 人手/[[治具]]に当てて測定
    artifact: "[[検査成績書]]"
    op: 検査システムで作成
    wait: 検査待ち 半日

  - except: 検査NG?
    from: q1
    ng: m2
    ok: h1

  - id: m2
    at: [製造課, Day4]
    from: q1
    act: 手直しし再検査に回す
    by: 人手/ライン外作業
    rework: q1
    issue: 手直しの記録が紙で後追いが大変

  - id: h1
    at: [出荷課, Day5]
    from: q1
    act: 梱包・ラベル貼りをして納品書を発行する
    by: 人手/梱包
    artifact: 納品書
    op: 発行

  - id: h2
    at: [出荷課, Day5, 2]
    from: h1
    act: "[[ASN]] を送信し製品を出荷する"
    by: 外部/[[EDI]]
    artifact: ASN
    op: 送信
    milestone: 出荷完了

  - end: 納入(メーカー受領)
    at: [自動車メーカー#社外, Day5]
    from: h2

order-to-shipment.flow を開く →

上の .flow から AI が描いた図です(2560 × 1470)。枠の中を横スクロールできます。用語に点線が付いた語はマウスを乗せると説明が出ます。

別タブで大きく見る ↗

02

システム開発:開発依頼 → 納品

顧客の相談から、要件・課題整理(第1回)とシステム開発(第2回)の 2 段階発注を経て納品するまで。分岐と戻りが多い。

出典
実際のヒアリング
システム開発会社の担当者(実在の業務)
規模
3役割 × 15列 / 25ステップ
業務フロー図を別タブで開く ↗
2段階発注条件分岐前の工程へ戻る注釈(note)成果物の複数指定マイルストーン

エンジニアと AI が一緒に聞き取ります。記録の全文です(枠の中をスクロール)。 各回答がどの記法フィールドになったかを引用で併記しています。

ヒアリング時の会話 — システム開発:開発依頼 → 納品

これは実際のヒアリング記録です。(シナリオ① と違い、シミュレーションではありません)
業務の説明者は本リポジトリの利用者。聞き手は flow-interview(AI)。
記法がどんな質問から埋まっていくかを追えるように、やり取りをそのまま残しています。

聞き手: flow-interview(AI) 話し手: 依頼者(システム開発会社側)

flow-interview の手順どおり、全体像 → 役割 → 時系列 → ステップ詳細 → 分岐・手戻り の順に、会話を小さく回して聞いている。 聞けなかったこと・答えが無かったことは推測で埋めず、空欄のままにしている(末尾に一覧)。


Round 1. 全体像

Q: どんな業務ですか。どこから始まってどこで終わりますか。現状(AS-IS)ですか理想(TO-BE)ですか。

A: 1. システム開発の一通りの流れのフローです 2. 顧客からの開発依頼から始まり、システムの納品にて終わります 3. AS-IS を書いて、ところどころ TO-BE を織り交ぜたいです

→ view: AS-IS / start: と end: が決まる
※ TO-BE については Round 3 で「特にない」と確認され、最終的に AS-IS のみとなった

Round 2. 役割と流れ(話し手が時系列順にまとめて説明)

Q: 登場する役割を上流から順に。社外はいますか。兼務はありますか。

A:(時系列順に説明)

まずは顧客から、こういうデジタル化がしたいんだけど、システム化がしたいんだけど、といった
まず提案を受けるところから始まります。
そこで弊社上流工程担当が、まずヒアリングを行い、現状の業務分析や課題の整理などを行い、
ユーザーと合意を行います。
そこで、共通の業務課題認識が持てた後に、コンセプトの定義と今回のシステム化の対象をざっくり決めます。
ここで、第1回目の見積もり、要件・課題整理に対する見積もりを行います。
弊社はシステム開発までに2段階の発注を行っており、第1回目はまず要件の整理と課題の整理を行います。
ユーザーと現状の業務や課題を認識合わせし、それを成果物として提出するのが第1回目です。
第2回目は、その整理した要件や課題、実際に実現したいフローをもとに機能の開発、
システム開発を行うのが第2回目です。
ここで顧客は、システム開発まで行うかどうかはまだ判断する必要はありません。
ひとまずは、第1回目の発注、要件の整理、課題の整理を行うかどうかを
この見積もりをもとに判断していただきます。
そこで合意に至り、発注となった際は、詳細な現状業務のヒアリングであったり、現状業務のフロー化、
課題の整理、課題の認識合わせなどを顧客と行い、
実際どんなところにシステム化改善の余地があるかを検討します。
システム化改善の前に、業務そのもの自体を無駄な仕事の削減であったり、改善をできるかどうか、
時には社内風土まで踏み込んで、そこをあるべき姿、理想の形をともにこのフェーズでは描きます。
そこで最終成果物として、現状の業務フロー(As-is)と理想の業務(To-be)、
さらには課題のマッピングを行ったものを成果物としてユーザーと合意を行い、
システム化に進むかどうかの判断をしていただきます。
この際に、第2回のシステム化に向けた見積もりも行い、提案いたします。
そこで合意をいただけた際は、実際にシステム開発に進んでいきます。
今回の業務フローでは、システム開発のフローについては詳細は省略いたしますが、
基本的に要件の整理、詳細設計、実装、テスト、ユーザーでのユーザーテストなど一通りを行い、
実業務で運用できるとユーザーとも合意がいただけた場合に、開発完了納品という形になります。

Q(聞き取った構造を返して確認): 15の行為として拾いました。担当者が分からないのが4か所あります。 (コンセプト定義/第1回見積/第2回見積/システム開発)

A: 4、5、11 は上流工程担当、13 は会社全体の開発担当が行います。

→ roles: [顧客#社外, 上流工程担当, 開発担当] の3行に確定

Round 3. 時系列・分岐・TO-BE

Q: 時系列の刻みはフェーズ名ですか期間ですか。判断が NO のときはどうなりますか。 図に併記する TO-BE(御社の進め方の改善案)はありますか。

A:

  • 時系列の好みは「フェーズ名」です
  • 判断が NO だった場合は基本的には終了になりますが、機能の縮小や再見積もりなどを行い、再提案する場合もあります。 それは顧客から要望があった場合のみに限ります
  • 14の運用できないは、開発フェーズに戻るでやり直しです
  • このシステム開発フローに関する TO-BE は特にありません。AS-IS をただ視覚化したいだけです
→ view: AS-IS、tobe は使わない

Round 4. 成果物・期間・待ち・課題

Q: 再提案のループはどこに付きますか。成果物の呼び方は。期間は分かりますか。 顧客の判断待ちは発生しますか。課題(⚠)は付けますか。

A:

  • 基本的には、NO を言われた際の見積もりに戻ります
  • 見積もりは「見積書」でいいです。10 の成果物もそれでいいです (現状業務フロー/理想業務フロー/課題マッピング)
  • 2、8 の段階でも途中、成果物は共有します。ただし、納品という形ではありません
  • 各フェーズの期間は、場合によってまちまちなので、一回視覚化できてからちょっと考える
  • 顧客の判断待ちは、もちろん発生します
  • 特に課題はなしでいいです
→ artifact: 見積書 / artifact: 現状業務フロー・理想業務フロー・課題マッピング
→ 2・8 は artifact: 途中成果物 op: 共有
→ time / freq は空欄。issue は使わない。判断ノードに wait: 顧客の判断待ち

Round 5. 残りの確認(NOの既定・途中成果物の名前・マイルストーン)

Q: NO のときの既定は「終了」ですか「見積もりに戻る」ですか。 途中で共有する成果物の呼び方は。マイルストーンは置きますか。

A:

  • B(NO → 見積もりに戻って再提案するのが基本。まとまらなければ終了)
  • 途中成果物で
  • マイルストーンは、第1回発注、第2回発注、納品にしましょう
→ 分岐の else は再提案へ。再提案がまとまらないときだけ終了
→ milestones: { 第1回発注, 第2回発注, 納品 }

空欄にした項目(聞けなかった/答えが無かった)

flow-interview の鉄則に従い、推測で埋めずに空欄のままにした。

箇所項目理由
全ステップ所要時間(time)「場合によってまちまち。視覚化してから考える」
全ステップ頻度(freq)伺っていない
全ステップ課題(issue)「特に課題はなしでいい」
全ステップ改善案(tobe)「このフローに関する TO-BE は特にない」
判断の待ち待ち時間の長さ「判断待ちは発生する」とだけ伺った。日数は未確認
手段(by)各行為をどう実施するか(対面/オンライン/ツール等)伺っていない

推測で補った箇所

箇所内容根拠
フェーズ名15個聞き手が命名し、確認を取った話し手の説明を区切って命名。Round 3 で提示し了承を得た
「顧客が判断する」を1ステップとして独立させた聞き手による構造化「判断していただきます」という発言を、顧客レーンの行為として明示するため
再提案がまとまらない場合の終了を分岐として表現聞き手による構造化「まとまらなければ終了」(Round 5・B)を分岐で表した

未ヒアリングの項目

  • 各フェーズの期間・工数
  • 各行為の手段(対面/オンライン/使用ツール)
  • システム開発フェーズの内訳(本人の指示により詳細は省略)
  • 営業・PM など、3役割以外の関与者の有無

元ファイルを開く →

聞いた内容をそのまま YAML で書きます。at: が「誰の行 × いつの列」を指し、そこが図の座標になります。

# flow-notation v0.4 — システム開発:開発依頼 → 納品 (AS-IS)
# 出典: ヒアリング時の会話.md(システム開発会社側の担当者へのヒアリング)
# 会話に出ていない数値・課題・改善案・手段は書いていない。空欄にした項目は会話記録の末尾を参照。
roles:      [顧客#社外, 上流工程担当, 開発担当]
timeline:   [相談, 現状分析, 課題合意, 対象決定, 第1回見積, 第1回発注, 詳細ヒアリング, 課題整理,
             業務改善検討, 成果物合意, 第2回見積, 第2回発注, システム開発, 検収, 納品]
milestones: { 第1回発注: 第1回発注, 第2回発注: 第2回発注, 納品: 納品 }
view:       AS-IS

# 図全体への補足(事実の注釈。課題ではない)
notes:
  - システム開発までに2段階の発注を行っている。第1回は要件と課題の整理、第2回は機能の開発。
  - 発注の判断でNOになった場合は、機能を縮小し再見積もりして再提案するのが基本。それでも合意しなければ終了する。

steps:
  - start: 顧客からの開発依頼
    at: [顧客#社外, 相談]
    trigger: デジタル化・システム化の相談を受ける

  # ---- 第1回発注に向けた提案 ----
  - id: n1
    at: [上流工程担当, 現状分析]
    from: 顧客からの開発依頼
    act: ヒアリングし現状業務を分析して課題を整理する
    artifact: 途中成果物
    op: 共有

  - id: n2
    at: [上流工程担当, 課題合意]
    from: n1
    act: 顧客と業務課題の共通認識を持ち合意する

  - id: n3
    at: [上流工程担当, 対象決定]
    from: n2
    act: コンセプトを定義しシステム化の対象を決める

  - id: n4
    at: [上流工程担当, 第1回見積]
    from: n3
    act: 第1回(要件・課題整理)の見積もりを提示する
    artifact: 見積書
    op: 提示

  - id: n5
    at: [顧客#社外, 第1回発注]
    from: n4
    act: 第1回を発注するか判断する
    wait: 顧客の判断待ち
    note: この時点では、システム開発まで行うかを判断する必要はない

  - id: c1
    cond: 第1回を発注する?
    from: n5
    then: n6
    else: rp1

  - id: rp1
    at: [上流工程担当, 第1回発注]
    from: c1
    act: 機能を縮小し再見積もりして再提案する

  - id: c1b
    cond: 再提案でも合意しない?
    from: rp1
    then: e1
    else: n4
    back: [else]      # else は見積もりへ戻る

  - id: e1
    end: 終了(見送り)
    at: [顧客#社外, 詳細ヒアリング]
    from: c1b
    view: 例外終了

  # ---- 第1回(要件・課題整理) ----
  - id: n6
    at: [上流工程担当, 詳細ヒアリング]
    from: c1
    act: 詳細な現状業務をヒアリングしフロー化する

  - id: n7
    at: [上流工程担当, 課題整理]
    from: n6
    act: 課題を整理し顧客と認識を合わせシステム化の余地を検討する
    artifact: 途中成果物
    op: 共有

  - id: n8
    at: [上流工程担当, 業務改善検討]
    from: n7
    act: 業務そのものの改善を検討し、時には社内風土まで踏み込んであるべき姿を顧客とともに描く

  - id: n9
    at: [上流工程担当, 成果物合意]
    from: n8
    act: 成果物を提出し顧客と合意する
    artifact: [現状業務フロー, 理想業務フロー, 課題マッピング]
    op: 提出

  - id: n10
    at: [上流工程担当, 第2回見積]
    from: n9
    act: 第2回(システム化)の見積もりを提示する
    artifact: 見積書
    op: 提示

  - id: n11
    at: [顧客#社外, 第2回発注]
    from: n10
    act: システム化に進むか判断する
    wait: 顧客の判断待ち

  - id: c2
    cond: システム化に進む?
    from: n11
    then: n12
    else: rp2

  - id: rp2
    at: [上流工程担当, 第2回発注]
    from: c2
    act: 機能を縮小し再見積もりして再提案する

  - id: c2b
    cond: 再提案でも合意しない?
    from: rp2
    then: e2
    else: n10
    back: [else]      # else は見積もりへ戻る

  - id: e2
    end: 終了(見送り)
    at: [顧客#社外, システム開発]
    from: c2b
    view: 例外終了

  # ---- 第2回(システム開発) ----
  - id: n12
    at: [開発担当, システム開発]
    from: c2
    act: システム開発を行う(要件整理・詳細設計・実装・テスト・ユーザーテスト)

  - id: n13
    at: [顧客#社外, 検収]
    from: n12
    act: 実業務で運用できるか判断する
    wait: 顧客の判断待ち

  - except: 実業務で運用できる?
    from: n13
    ok: n14
    ng: n12           # 開発へ戻ってやり直し
    back: [ng]

  - id: n14
    at: [開発担当, 納品]
    from: n13
    act: 開発完了として納品する
    milestone: 納品

  - end: 納品完了
    at: [顧客#社外, 納品]
    from: n14

development-flow.flow を開く →

上の .flow から AI が描いた図です(4660 × 620)。枠の中を横スクロールできます。用語に点線が付いた語はマウスを乗せると説明が出ます。

別タブで大きく見る ↗

記法(flow-notation v0.4)

語彙は 28。行は役割、列は時系列。座標はピクセルではなく (役割, 時点) のペアで決まります。

分類書き方
軸roles: / timeline: / milestones:
行為と成果物act: / artifact:(複数可) / op: / by:(人手・システム・外部)
時間time: / freq: / wait: / sla: / on_overdue:
分岐と戻りcond:(then/else) / except: / par: / join: / rework: / back:
補足issue:(課題) / tobe:(改善案) / note:(注釈) / glossary: と [[用語]]

記法仕様の全文を読む →

スキル

Claude Code / Codex CLI のどちらでも動きます(同じ実体を両方の置き場所から参照)。

flow-interview

ヒアリングして .flow にします。聞いていないことは書かないのが鉄則で、空欄は正しい状態として扱います。

flow-visualize

.flow から自己完結の HTML 図を描きます。図に出す言葉は日本語に固定しています。

flow-verify

ヒアリング記録・.flow・図の 3 つを突き合わせます。会話に根拠のない記述と取りこぼしを検出します。