DXの仕事を小例で体験|データ・AI・4つの仕事を知る

このページはプロモーション(広告)を含みます。

データ・AI・4つの仕事を知る(初級・読む20分+演習30分)

この授業のゴール

仕事でどう使うか

DX(デジタルトランスフォーメーション:デジタル技術で業務や組織のやり方を変えること)の仕事は、新しい道具を入れることではなく、業務の流れを測り、変え、定着させることです。予測が正確でも、承認が3日かかれば発注は間に合いません。

路線 この授業の使いどころ
DS(データサイエンティスト) 業務の記録(工程ごとの時刻)から、待ち時間の分布や例外の頻度を集計して示す
ML(機械学習エンジニア) 予測を業務に組み込むとき、承認や入力の工程が予測の価値を減らさないか確認する
DX(DX推進・AI企画) 業務改善メモを書き、現場と合意して、手順・システム・AIの案を費用と効果で比べる
RS(研究者) 業務や組織の変化を評価するとき、導入前後を比べる指標と条件をそろえる

DXの担当者は、システム開発、現場の調整、研修、規程の改定まで幅広く関わります。職種名だけで範囲を決めつけず、どの業務のどの数字をどう変えるかで役割を確認してください。

前提

Pythonでは、タプル(("在庫確認", 15, 0) のように複数の値をまとめた組)と、for による繰り返しを使います。出てきた箇所で説明します。

身近な状況:発注が仕入先に届くまでに丸1日以上かかる

雑貨店「ことり堂」(架空)では、人気商品の在庫が減ると、次の手順で発注しています。

  1. 在庫確認(担当者):在庫を数えて、足りない商品を決める。
  2. 発注案作成(担当者):商品と数量をまとめる。
  3. 店長承認(店長):数量と金額を確認して署名する。
  4. 本部確認(本部):予算と仕入先を確認する。
  5. 発注入力(担当者):仕入先のシステムに入力する。
  6. 仕入先へ送付(担当者):発注書を送る。

店長は言います。「発注が遅くて欠品する。発注の予測にAIを入れたい。」しかし、この手順を実際に計測すると、次のようになりました(1件あたりの平均、単位:分)。

工程 担当 作業時間 待ち時間
在庫確認 担当者 15 0
発注案作成 担当者 30 120
店長承認 店長 5 960
本部確認 本部 10 480
発注入力 担当者 10 60
仕入先へ送付 担当者 5 0

待ち時間は、前の工程が終わってから、次の工程が始まるまでの時間です。店長承認の待ち時間960分は16時間で、店長が翌朝まで不在だったことを表します。実際の手を動かす時間(作業時間)は、合計でわずか75分です。

直感的な説明:作業は短く、待ちが長い

荷物の配送にたとえます。トラックで走っている時間は短くても、倉庫で積み替えを待つ時間が長ければ、荷物は届きません。

業務の遅れも、同じ構造であることが多いです。1人1人は忙しく働いていても、仕事は人から人へ渡る間に止まっています。このとき、次の2つを混同しやすいです。

発注案作成を30分から5分に短縮しても、店長承認の待ちが960分のままなら、全体はほとんど変わりません。DXの最初の仕事は、どこで時間が止まっているかを数字で見つけることです。

正確な定義:リードタイムと工程の指標

指標を定義します。業務改善メモでは、指標の式と単位を最初に決めます。

$$T = \sum_{i=1}^{n} (w_i + q_i)$$

$n$ は工程の数です。ここでは $n=6$ です。

$$E = \frac{\sum_{i=1}^{n} w_i}{T} \times 100$$

数値を代入します。作業時間の合計は $15+30+5+10+10+5=75$ 分、待ち時間の合計は $0+120+960+480+60+0=1620$ 分です。$T = 75 + 1620 = 1695$ 分(約28.25時間)、$E = 75 \div 1695 \times 100 \approx 4.42\%$ です。

つまり、リードタイムの約95.6%は待ち時間です。工程ごとに $w_i+q_i$ を見ると、店長承認が965分で全体の約56.9%、本部確認が490分で約28.9%、この2工程だけで85.8%を占めます。

注意:リードタイムは、「いつからいつまで」を決めて測ります。開始を「在庫確認の開始」とするか「在庫が減った時刻」とするかで、数字が変わります。測り方を関係者で揃えてから改善を始めます。

段階付き例題:3つの案を同じ指標で比べる

店長に出された案は、次の3つとします。

3案と現状を、同じ式で計算します。

steps = [  # (工程, 作業時間[分], 待ち時間[分])  待ち時間は「前の工程が終わってから、この工程を始めるまで」
    ("在庫確認",     15,   0),
    ("発注案作成",   30, 120),
    ("店長承認",      5, 960),
    ("本部確認",     10, 480),
    ("発注入力",     10,  60),
    ("仕入先へ送付",  5,   0),
]

def summarize(steps):
    work = sum(s[1] for s in steps)            # 作業時間の合計[分]
    wait = sum(s[2] for s in steps)            # 待ち時間の合計[分]
    total = work + wait                        # リードタイム[分]
    return work, wait, total, round(work / total * 100, 2)

def modify(steps, name, new_work=None, new_wait=None):
    out = []
    for s in steps:
        if s[0] == name:
            s = (s[0], s[1] if new_work is None else new_work, s[2] if new_wait is None else new_wait)
        out.append(s)
    return out

now = steps
plan_a = modify(modify(steps, "店長承認", new_wait=120), "本部確認", new_work=0, new_wait=0)
plan_b = modify(steps, "発注案作成", new_work=5)
plan_c = modify(steps, "発注案作成", new_work=15)
for name, st in (("現状", now), ("案A", plan_a), ("案B", plan_b), ("案C", plan_c)):
    work, wait, total, e = summarize(st)
    print(name, "作業", work, "待ち", wait, "リードタイム", total, "分", "=", round(total / 60, 2), "時間", "作業比率", e, "%")

出力は次のとおりです。

案 作業(分) 待ち(分) リードタイム(分) 時間 作業比率
現状 75 1620 1695 28.25 4.42%
案A 65 300 365 6.08 17.81%
案B 50 1620 1670 27.83 2.99%
案C 60 1620 1680 28.0 3.57%

結果を読む。案Aはリードタイムを約78%短縮(1695→365分)しますが、案BとCは約0.9〜1.5%しか短縮しません。作業時間は減っても、待ち時間が残るからです。AIを入れる案Cは、この手順の課題にほとんど効きません。

ただし、案Aにも条件があります。承認を省く範囲を広げると、過剰発注や不正のリスクが増えます。一定額の上限、事後チェック(週次で発注内容を確認)、例外ルートが必要です。つまり、「AIを入れない」ことが目的ではなく、課題(待ち)に効く手段を選ぶことが目的です。

操作して理解する:待ち時間を変えて効果を予想する

同じ計算で、条件を変えて予想します。コードを実行する前に、結果を紙に書いてください。

steps = [  # (工程, 作業時間[分], 待ち時間[分])  待ち時間は「前の工程が終わってから、この工程を始めるまで」
    ("在庫確認",     15,   0),
    ("発注案作成",   30, 120),
    ("店長承認",      5, 960),
    ("本部確認",     10, 480),
    ("発注入力",     10,  60),
    ("仕入先へ送付",  5,   0),
]
total_now = sum(s[1] + s[2] for s in steps)

# (1) 店長承認の待ちだけを960分→240分にしたら?
steps1 = [(n, w, 240 if n == "店長承認" else q) for n, w, q in steps]
print("(1)", sum(w + q for _, w, q in steps1), "分")

# (2) 全工程の作業時間を半分にしたら?
steps2 = [(n, w / 2, q) for n, w, q in steps]
print("(2)", sum(w + q for _, w, q in steps2), "分")

# (3) 本部確認を廃止(作業も待ちも0)したら?
steps3 = [(n, 0 if n == "本部確認" else w, 0 if n == "本部確認" else q) for n, w, q in steps]
print("(3)", sum(w + q for _, w, q in steps3), "分")

答え:

考えてみましょう。(1)は、承認の待ちを720分減らすだけで、(2)の全工程の作業半減より、はるかに効果があります。ただし(1)は、店長の働き方(承認の時刻を決める)を変えるので、現場の合意が必要です。数字は同じ「分」でも、変えやすさ、費用、リスクは案ごとに違います。

発展:例外と平均、現場の合意、定着

例外:すべての発注が同じ流れとは限りません。緊急の発注、高額の発注、差し戻し(不備で戻る)があります。案Aの通常ルートが365分、従来の流れが1695分で、全体の10%が従来の流れ(例外)だと、平均のリードタイムは $0.9 \times 365 + 0.1 \times 1695 = 498$ 分です。例外が1割でも、平均は365分ではなく498分に伸びます。例外の件数と時間も、必ず測ります。

現場の合意:店長にとって、承認の時刻を決めることは、他の仕事の自由度を下げます。本部にとって、確認の省略は責任の範囲を変えます。数字(待ちの6割が店長承認)を見せ、誰が何を失い、何を得るかを話し合って決めます。

定着:新しい手順は、導入しただけでは続きません。(1)手順書の更新、(2)研修、(3)導入後の指標(リードタイム、欠品件数、承認の省略率)の記録、(4)見直しの時期の設定、が必要です。

費用と効果:効果は「欠品が減る額」だけでなく、工数の削減、リスクの増加も含めます。数値は仮定を置いて試算し、結果を後で実績と比べます。

よくある失敗

失敗1:作業時間の短縮だけを見て、全体が速くなると考える

誤った見積もり:「発注案作成を30分から5分に短縮する(案B)。25分も短縮できるので、発注が速くなる。」

before = 75 + 1620
after = (75 - 25) + 1620        # 作業が25分減るだけで、待ちは変わらない
print("短縮率", round((before - after) / before * 100, 2), "%")

出力は 1.47 % です。待ち時間が残る限り、作業の短縮は全体にほとんど効きません。

直し方:作業時間と待ち時間を分けて表にし、全体の時間(リードタイム)への効果を計算してから、案を比べます。

失敗2:待ち時間を測らず、担当者の忙しさだけで判断する

誤った判断:「承認が遅いのは、店長が怠けているからだ。」

店長の承認作業は5分です。待ちの960分は、承認の頻度(翌朝まで見ない)、他の仕事、承認依頼の通知がないこと、などの仕組みで生まれています。個人の責任にすると、本質的な改善(時刻の固定、通知、承認ルールの変更)が見えなくなります。

approve_work = 5
approve_wait = 960
print("承認の作業が占める割合", round(approve_work / (approve_work + approve_wait) * 100, 2), "%")

出力は 0.52 % です。この工程の時間の99%以上は待ちです。

直し方:個人の評価ではなく、工程と待ちの数字を関係者で見て、仕組みの案を一緒に考えます。

失敗3:効果だけを見て、例外とリスクを見ない

誤った提案:「承認を全部省けば、リードタイムが365分より短くなる。」

承認を全面的に省くと、金額の大きい誤発注や、重複発注、不正の検知漏れなどが起きます。損失を試算します。

# 仮定:全体の発注の2%で誤発注が起き、1件あたり平均3万円の損失、月200件の発注
orders, error_rate, loss = 200, 0.02, 30000
print("月の想定損失", orders * error_rate * loss, "円")

出力は 120000.0 円です(仮定の例です)。この損失が、リードタイム短縮で減る欠品の損失を上回るなら、全面省略は不利です。

直し方:省略する範囲に上限(金額)を設け、超える場合は従来の承認にします。事後チェックの頻度と、例外の扱いも決めます。効果とリスクを同じ単位(円)で並べて比べます。

まとめ

用語

DX(デジタルトランスフォーメーション)(Digital Transformation)

デジタル技術を使って、業務や組織のやり方を変え、成果を出すこと。

リードタイム(lead time)

仕事の開始から完了までにかかる合計時間。作業時間と待ち時間の和。

待ち時間(wait time)

前の工程が終わってから次の工程が始まるまでの、仕事が止まっている時間。

例外処理(exception handling)

通常の手順で処理できない場合(緊急、高額、差し戻しなど)の別の手順。

よくある質問

DXとITシステムの導入は同じですか?

同じではありません。システムは手段の一つです。DXは、業務の流れや組織のやり方を変えて成果を出すことで、手順の見直し、規程の変更、人の役割の調整を含みます。システムを入れても手順が変わらなければ、成果は出ません。

待ち時間はどうやって測りますか?

工程ごとの開始・終了時刻の記録(システムのログ、メールの時刻、台帳の日時)から、前の工程の終了と次の工程の開始の差を取ります。記録がなければ、まず数十件を手作業で記録して概算します。

AIが効く業務は、どんな業務ですか?

作業時間が長く、判断のパターンがあり、誤りの影響が小さいか確認の手順がある業務です。この授業の例のように、待ちが主因の業務には効きません。まず待ちと作業の内訳を測ります。

現場が改善案に反対したら、どうしますか?

反対の理由(責任、負担、リスク)を聞き、数字で課題を共有します。試行期間と上限を設け、結果を一緒に評価する方法が有効です。

導入後に効果が出たかは、どう確かめますか?

導入前に測った指標(リードタイム、欠品件数など)を、同じ定義で導入後に測り直します。季節や繁忙の違いがあるので、同じ時期の比較や、複数の期間での確認を行います。

DS・ML・DX・RSのうち、どの路線がこの仕事をしますか?

重なります。DSは計測と分析、MLは予測の組み込み、DXは手順の変更と定着、RSは効果の評価を担うことが多いですが、職場により分担は違います。肩書で範囲を決めつけず、成果物で確認します。

確認問題

問1 リードタイム1,695分のうち、作業時間が75分だった。作業時間の比率として正しいものはどれか。

  1. ① 約44.2%
  2. ② 約0.44%
  3. ③ 約95.6%
  4. ④ 約4.42%
解答と解説

正解:④

75÷1,695=約0.0442で、4.42%です。残りの約95.6%が待ち時間です。

問2 発注の遅れの主因が承認の待ち時間である場合、効果が最も大きいと考えられる案はどれか。

  1. ① 発注案作成の作業を自動化する
  2. ② 承認の頻度やルール(上限つきの承認省略など)を見直す
  3. ③ 予測モデルの精度を上げる
  4. ④ 担当者の入力を速くする
解答と解説

正解:②

待ちが最大の工程に効く案が、全体の時間に効きます。作業の短縮は待ちを減らしません。

問3 承認を全件省略する案について、判断に必要な追加の確認はどれか。

  1. ① 不要。速くなるので採用してよい
  2. ② 承認者の評価を下げる
  3. ③ 誤発注や不正のリスクを円で試算し、上限・事後チェック・例外ルートを決める
  4. ④ システムの色を変える
解答と解説

正解:③

効果とリスクを同じ単位で比べ、リスクを抑える設計を同時に決めます。

問4 案Aの通常ルートが365分、従来の流れ(例外)が1,695分で、例外が全体の10%のとき、平均のリードタイムはいくつか。

  1. ① 365分
  2. ② 1,030分
  3. ③ 1,695分
  4. ④ 498分
解答と解説

正解:④

平均=0.9×365+0.1×1,695=328.5+169.5=498分です。

問5 「AIを導入する」ことを目的にしてしまうと、どんな問題が起きるか。

  1. ① 課題に効かない案でも進めてしまい、効果が出ない手段にお金や時間を使う
  2. ② 問題は起きない
  3. ③ 必ず成功する
  4. ④ 現場が必ず喜ぶ
解答と解説

正解:①

目的は課題の解決です。手段は課題に合わせて選びます。AIが課題に効かないこともあります。

問6 業務改善の担当者が、承認の遅さを「店長が怠けているから」と説明した。この説明の問題はどれか。

  1. ① 問題はない
  2. ② 待ちを生む仕組み(頻度・通知・ルール)を見ずに、個人の責任に帰している
  3. ③ 店長の作業時間が5分だから、実際は速い
  4. ④ 承認は必要ない
解答と解説

正解:②

待ちの多くは仕組みから生まれます。数字を関係者で見て、仕組みの案を考えるのが基本です。

次に学ぶこと

次は 研究の仕事を小例で体験 で、研究(RS)の仕事を、予測法の比較実験の小例で体験します。業務改善の効果を評価するときにも、比較の条件をそろえる考え方が使えます。単位の換算に不安があれば 単位と桁と丸め に戻ってください。

この授業の確認問題だけで習得とはしません。ON03 の総合テストと、自力課題で判定します。

キャリア学習:データサイエンティスト・機械学習エンジニア・DX推進・研究者を目指す人の学習アプリ。164モジュール・984授業を、ブラウザで動くSQLとPythonの演習で。基礎と各分野の最初のモジュールは無料。全部は2,980円の買い切り。

アプリを無料で開く有料版と無料版の違い