Slide 1

Slide 1 text

AI駆動開発の時代になったので トヨタ生産方式から見直す デンキヤギ株式会社 terurou

Slide 2

Slide 2 text

自己紹介 • terurou • デンキヤギ(株) 代表取締役 • 帳票エンジン(yagisan-reports)にAIを絡めて売ってます • 2時間スプリントをたぶん5年ぐらいやってます

Slide 3

Slide 3 text

まずは現状整理から

Slide 4

Slide 4 text

AIの登場によって、 • コードの生産が超高速化、品質十分 • 手でコードを書くことはほぼなくなった

Slide 5

Slide 5 text

上に行くほど AIの恩恵は小さい コーディング「は」高速化した システム化企画 運用・評価 要件定義 システムテスト 基本設計 結合テスト 詳細設計 単体テスト 実装 超高速化!

Slide 6

Slide 6 text

プログラマーは中間管理職や ベンダー管理者のような役回りに

Slide 7

Slide 7 text

AI以前 AI以後 リーダー リーダー AI プログラマー プログラマー プログラマー AI プログラマー プログラマー プログラマー AI AI AI AI AI AI AI AI AI

Slide 8

Slide 8 text

AIにコードを書かせて、人間はレビュー ≒ 外注にぶん投げて、納品物を検収

Slide 9

Slide 9 text

コーディングの性質は、製造業に近くなった • 製造機械のボタンを押したら、製品ができる • プロンプトを入力したら、コードができる

Slide 10

Slide 10 text

工場制手工業 から 工場制機械工業 への転換

Slide 11

Slide 11 text

ただし、 工場制機械工業とは違う部分もある

Slide 12

Slide 12 text

同一品種を量産するのではなく、 単一のコードベースを編集し続ける

Slide 13

Slide 13 text

では、AI時代になって、 アジャイル開発はまだ適用できるのか?

Slide 14

Slide 14 text

現在のアジャイル開発は、 • リーンソフトウェア開発の影響が大きい • AI以前に体系立てられたものである

Slide 15

Slide 15 text

コードを生産することが重コストだった時代の 考え方を踏襲したままでいいのか?

Slide 16

Slide 16 text

だったら、原典を見直してみよう

Slide 17

Slide 17 text

https://www.diamond.co.jp/book/9784478460016.html

Slide 18

Slide 18 text

トヨタ生産方式の目的は 生産性の向上。 もっと言えば、原価の低減。

Slide 19

Slide 19 text

生産性を上げるには 「徹底したムダの排除」が必要

Slide 20

Slide 20 text

トヨタ生産方式の2本柱 • ジャスト・イン・タイム • 自働化

Slide 21

Slide 21 text

ジャスト・イン・タイム 在庫ゼロが理想で、 必要な分だけを生産する

Slide 22

Slide 22 text

過剰な在庫はムダ • 保管場所だけでなく、運搬と管理も増える • 時間の経過で破損、劣化などが生じる • 不良在庫(売れない・使えない) → 損失

Slide 23

Slide 23 text

後工程が前工程に、 必要なもの(材料)を、 必要なとき、 必要な分だけ引き取りに行く

Slide 24

Slide 24 text

さらに前の工程 前工程 … 素材・部品の生産 ボディの生産 … 素材・部品の生産 シャーシの生産 … 素材・部品の生産 タイヤの生産 … 素材・部品の生産 エンジンの生産 後工程 最終 組立 最終製品 自動車

Slide 25

Slide 25 text

必要な分だけを作れば ムダは出ない

Slide 26

Slide 26 text

ただし、大前提として、各工程は 100%良品でなければならない

Slide 27

Slide 27 text

自働化 前工程に異常が発生したら、 生産ラインが全て自ずと停止する

Slide 28

Slide 28 text

異常があるのに他の工程が動き続けると、 中間在庫が積みあがってしまう 前工程A 稼働中 前工程B 異常停止 前工程C 稼働中 供給なし 後工程 部品待ち Bがなく組立不可

Slide 29

Slide 29 text

まだまだ過剰在庫を生む要素はある いわゆる「作りすぎのムダ」

Slide 30

Slide 30 text

みかけの能率と必要数 • フル稼働すると、月間で10万個生産でき、 1個当たりの製造原価は下がる • でも需要は月7万個しかなかったら?

Slide 31

Slide 31 text

仕事の進みすぎ • 生産能力に余裕がある=手待ちがでる • 空いているので、次の作業をやってしまう • 手待ちが隠蔽され、ムダな生産も発生

Slide 32

Slide 32 text

少人化 カイゼンにより生産効率が向上した分は むやみに生産量を増やすのではなく、 少ない人数で済むようにする

Slide 33

Slide 33 text

余力を生み出す • 効率化で余力が生まれたら、既存人員で 内製化や新しい取り組みを行うことができる • 社員教育に割り当ててもよい

Slide 34

Slide 34 text

離れ小島をつくるな • 工場にポツンポツンと作業員がいるのはダメ • 一人では人間同士のチームワークが取れない • 一人だけの仕事でも複数集めてチームに

Slide 35

Slide 35 text

チームワーク、助け合い運動 • 後工程が遅れたら、前工程が手伝いに行く • 全員が熟練工ではなく、新入社員もいる

Slide 36

Slide 36 text

ソフトウェア開発に置き換えてみる

Slide 37

Slide 37 text

目的は原価の低減

Slide 38

Slide 38 text

AIでコードを生産するスピードは上がったが 作りすぎのムダは生じていないか?

Slide 39

Slide 39 text

ジャスト・イン・タイム

Slide 40

Slide 40 text

AIによって、もはや コードを生産することは負担ではない

Slide 41

Slide 41 text

「将来に備えて…」「拡張性を…」 「こういう使い方もするかも…」は 在庫のムダになっていないか? 将来、そのコードは本当に使えるの?

Slide 42

Slide 42 text

AIがあるなら、必要になったときに コードを生成しても間にあうでしょ

Slide 43

Slide 43 text

AI以後、 レビューが滞留する話は 本当によく出るようになった

Slide 44

Slide 44 text

後工程(レビュー)が対応できないのは 生産が過剰になっていないか? これも在庫のムダ

Slide 45

Slide 45 text

AIの分だけ生産量を増やすのではなく、 少人化 or レビュー工程をカイゼン

Slide 46

Slide 46 text

AIによってできた余力を レビュー工程のカイゼンに振り分ける

Slide 47

Slide 47 text

大前提として、各工程は 100%良品でなければならない

Slide 48

Slide 48 text

Pull Requestをぶん投げる際に ちゃんと品質は担保できてますか?

Slide 49

Slide 49 text

https://x.com/t_wada/status/2104720765895819501

Slide 50

Slide 50 text

コードをやみくもに量産するのではなく、 レビュー負担を小さくせよ これはチームによって最適解が異なるはず

Slide 51

Slide 51 text

自動テスト、コード解析、CIの強化 • AIが機能をぶっ壊しても検知できるように → 自働化 • テストがちゃんとしていたら、レビューも楽

Slide 52

Slide 52 text

テスト設計・テスト手法の学習 • いくらテストコードの量があっても テスト内容がダメなら意味はない • AIによる余力を教育に配分

Slide 53

Slide 53 text

テスタビリティの高いコード テストしやすい設計になっていなければ、 自動テストしようと思っても無理がある

Slide 54

Slide 54 text

テストに限らず、 プログラミング言語自体の静的検証も 有効な手段の一つ

Slide 55

Slide 55 text

離れ小島をつくるな • 一人で黙々と作業をし続けて、 最後にPull Requestをぶん投げられても困る • コードが完成する前から、要件や実装方針を すり合わせ、Pull Requestビックバンにしない

Slide 56

Slide 56 text

コーディング以外は速くなってない 上に行くほど AIの恩恵は小さい システム化企画 運用・評価 要件定義 システムテスト 基本設計 結合テスト 詳細設計 単体テスト 実装 超高速化!

Slide 57

Slide 57 text

デンキヤギでは2時間スプリントで吸収 • 常にレビューし続けていたら、 Pull Request時に確認することはほぼない • ムダな機能や要件漏れなども早期に検知

Slide 58

Slide 58 text

AIを導入することは間違いなく 生産性向上・原価低減に有効だが、 作りすぎのムダは全てを台無しにする

Slide 59

Slide 59 text

「生産性」を誤用するな コードを速く生産できること自体が 生産性ではない。 生産性=利益(価値)÷労働量

Slide 60

Slide 60 text

今回は話さなかったこと • 2時間スプリントについて • スプリント期間が1-2週間とか長すぎ • 試作・検証と本開発は明確に分離する • 計画は常に変わり続けるもの

Slide 61

Slide 61 text

さいごに このスライドはトヨタ生産方式(大野耐一本)の チェリーピックなので、自分で読みましょう。 ザ・ゴールでもいいですが、ページ数が…。