世界を動かす技術を、日本語で。

AIがあなたのプロセスを速くするとは思えません

概要

  • 多くの組織 がプロセス最適化に注力する傾向
  • AI導入 と過剰な期待が現場で増加
  • The Toyota Way および The Goal の再読で気づいた本質的課題
  • ボトルネック への誤った対処が多い現状
  • プロセス改善 の正しいアプローチの重要性

市場低迷時のプロセス最適化とAI幻想

  • 市場が低迷すると、多くの組織が プロセス最適化 に注力
  • 最近では AI導入 がプロセス最適化の文脈で語られる機会が増加
  • AIに対する 非現実的な期待 が現場で蔓延
  • プロセス最適化の本質を理解せず、表面的な施策に終始するケースが多発

名著再読から得た気づき

  • 大学時代に The Toyota WayThe Goal を読了
  • 再読を通じて、現場のプロセス最適化が 単純化 されすぎていることを実感
  • 多くの最適化活動が 本当に注目すべきポイント を見誤っている現状

ガントチャートで見るボトルネックの可視化

  • プロジェクト全体の流れを ガントチャート で可視化
  • 最も時間がかかる工程(例: ソフトウェア開発)が一目瞭然
  • 多くの人は「一番時間がかかる工程=改善対象」と判断
  • しかし、 時間が長い=原因がそこにある とは限らない

ボトルネックへの誤ったアプローチ

  • ボトルネックに対し 人員を投入 したり、AIで一気に解決しようとする傾向
  • なぜその工程が長いのか、 根本原因 を探らないまま対処
  • 単に工程を短縮するのではなく、 上流工程 の問題把握が不可欠

上流課題の重要性

  • ソフトウェア開発に限らず、 全ての長期プロセス に共通する課題
  • 開発の本質は「 問題の正確な理解と定義」にある
  • 不明瞭な要件や曖昧な仕様が 開発の遅延 を招く主因
  • 「販売完了時にユーザーへメール送信」など、 曖昧な指示 が現場を混乱させる

AIによる自動化への過度な期待

  • 「AIがコード生成すれば 開発が不要 になる」といった過信
  • 実際にはAIも 詳細な指示や要件定義 が不可欠
  • AI導入後も ドメインエキスパートやプロダクト担当者 の深い関与が必要
  • 人間開発者に 詳細な仕様書 を与えれば生産性が劇的に向上するのも同じ

プロセス高速化の本質

  • プロセスを本当に早くしたいなら、 実務者が必要な情報やリソース を事前に揃えることが重要
  • 例:法務承認が遅い場合、 必要書類の不足や手配の煩雑さ が根本原因
  • 人員増強ではなく、 高品質なインプットの提供 がボトルネック解消の鍵

名著から学ぶボトルネック管理

  • The Goal の教訓:「 ボトルネックには予測可能で高品質なインプットを与えること
  • これこそが プロセス自動化・最適化 の第一歩
  • The Toyota Way はプロセス改善の優れた指南書
  • The Goal は漫画版もおすすめ
  • The Mythical Man-Month も合わせて読む価値あり

まとめ

  • 表面的な最適化 やAIへの過信ではなく、 本質的な課題の特定と高品質なインプット が重要
  • プロセス改善の本質を理解し、 現場の実態に即した施策 を講じることが成功の鍵

Hackerたちの意見

一方で、これは多くの人が大企業でのテクノロジー関連の仕事で考えていることや見ていることを、まさにその通りに説明しているクリーンな投稿だね。著者さん、あなたの意見に110%同意するし、他の人にもあなたが書いたことを理解してほしいと思ってる。でも、最近特にHNや実際の職場で、これを何度も繰り返している気がする。別のブログ記事が、リーダーたちに「AIが本当に物事を早くする」って思わせるのは無理だよ。彼らは社会的にも経済的にもそう振る舞うインセンティブがあるからね。だから、彼らのAIプロジェクトが失敗するか、前のプロジェクトと同じくらい遅くなるのを待つしかないし、何かを学んでくれることを願ってる。

そうだね。僕は住宅ローンが終わって、少し仕事を選べる余裕があるから、日々ガーデニングしたり、エージェントツールを使って個人的なコーディングプロジェクトに没頭してる。例えば、高性能のOLTPデータベースをゼロから作ったり、全く新しい論理的な永続プログラミング環境を構築したり、ちょっと変わった数学に基づいたシンセサイザーやFPGAソフトプロセッサを作ったり。普通の人がやることだよね。だから、これらのツールが一人の手の中でどれだけのことができるかは知ってる。すごいよ。でも、最低トークンのノルマを設定したり、「スターAIコーダー」と呼ばれる人たちが「コードレビューはしないで」とか「手でコーディングするのをやめて」と言っている話を友達から聞くと、首を振りたくなる。冬に契約の仕事を少しやってみたけど、まあまあだったけど、結局はコードレビューで対立するLLM同士の戦いになって、創業者が毎週末に新しいプロジェクトをコーディングしてた。これらのツールはチームワークや本当のチームソフトウェアエンジニアリングには向いてない。業界が理解するまで、ただ様子を見るつもりだよ。まともに働ける場所は、ゆっくりと言える年配の賢い人たちがいるところだけだと思う。今のところ、オンタリオ州ハミルトンエリアでカットしたルバーブが1束5ドルで売ってるよ。アスパラガスもたくさんある。

いや、ビジュアルやガントチャートは、まさに理解できる「PM用語」だと思う。確かに、C-suiteや投資家がイノベーションのシグナルを出している限り、何も解決しないけど、それも長くは続かないだろうね。

残念だけど、君の言う通りだと思う。こういう投稿を職場でシェアするのも躊躇しちゃうよ。現状に合わないことはあまり受け入れられない感じがするから。

そう、AIはコードを素早く生成できる(それが良いことかどうかは議論の余地があるけど)、でもそれが正しいコードを生成しているわけではない。いや、実際にはコードはほぼ常に正しいよ。追加される方法は、君が自分のコードベースを十分に理解しているなら、あまり好ましくないかもしれない。どこに何を追加するか、どう名前を付けるか、どれだけコメントを追加したいか、どこに追加するかといった儀式があるからね。そういうのが、エージェントによってうまく行われないと、僕みたいな人をイライラさせるみたいだし、AGENTS.mdにあっても失敗することが多い。> もし人間の開発者に同じ量の機能や範囲のドキュメントを与えたら、彼らの生産性が急上昇するのが見えるだろう。IT業界でほぼ20年やってきたけど、これは絶対に起こらないと思う。もし起こったとしても、それは非常に稀で、話す価値もないよ。

いいえ、コードは実際にはほぼ常に正しい それは私の経験とは違う、特に入力がバグやパフォーマンスの問題のときは。ガイドがないと、頻繁に幻覚を見たり誤診したりする。でも、何をしているかに目を光らせて、正しい方向に押し進めれば、RCAや分析はうまくできて効率を改善することができる。 > 人間の開発者に同じ量の機能/スコープのドキュメントを与えたら、あなたの生産性は急上昇するだろう。人が情報を消化して分析する速さには、機械と比べて限界があると思う。

LLMが最初に出たとき、人々は「Facebookのクローンを作って」みたいに言えばいいと思ってたけど、今はもっと具体的に要求を伝えたり、定義を明確にする必要があるって気づいてきたよね。それがソフトウェアのボトルネックだった。僕が働いていたときも、「データを取得してユーザーに渡す」みたいな要求が来て、何のデータか、どこに保存されているのか、どんな形式で返すのかの定義が全くなかった。だから、プロダクト担当者と一緒に彼らが本当に何を望んでいるのかを理解するのにかなりの時間を費やしてた。LLMで良い結果を得るためには、似たようなことをしないといけない。曖昧な要求は曖昧な結果を生むからね。

LLMが最初に出たとき、人々は「Facebookのクローンを作って」みたいに言えばいいと思ってたけど、今はもっと具体的に要求を伝えたり、定義を明確にする必要があるって気づいてきた。それがソフトウェアのボトルネックだった。これは1986年にフレッド・ブルックスが「No Silver Bullets」というクラシックなエッセイの中で「エキスパートシステム」や「自動プログラミング」のセクションで予測していたことだ。彼は、Vibe Codingの核心的な特徴と、今私たちが経験していることを正確に示している。慎重に選ばれたいくつかの領域での初期の成功と、その領域を超えて広がるにつれての合理的だが画期的ではない生産性の向上がある。

今、プロダクトオーナーたちが自分の仕事をLLMに振り分けようとしている。以前は、要求を出す人が曖昧な要求や悪い要求を出していたから、プロセスはうまくいかなかった。彼らはビジネスの意図を理解していなかったり(または不注意だったり)したからね。LLMは、同じ曖昧で悪い要求を受け取って、それを信じられるように見せるだけなんだ。

もっとひどいよ。曖昧な要件は、問題の曖昧な解釈しか生まない。たとえ良い要件を提供しても、結局は曖昧な解釈しか手元にない。将来的にはこういうことが問題にならないって約束されてるけど、実際には全然実現してない。「Facebookのクローンを作れ」っていうのが、エンドユーザーへの曖昧な約束なんだ。現実は、曖昧な解釈から生まれる多くの仮定に繋がって、最終的には成功を主張するために要件を変更しなきゃいけなくなる。だから、すべてが妥協の産物になっちゃう。市場に出せる製品を作るための特別な結果はない。どこにでも死体が転がってる。要件を定義して実装するためには、この技術よりももっと良いものが必要だよ。

さらに悪いのは、人間のソフトウェアチームと関わると、曖昧な要件は(少なくともうまく運営されている組織では)さらなる具体化を求められることだ。「『データを取得する』ってどういう意味?」みたいにね。でもLLMは「もちろん!データを取得してユーザーに渡す完全に実装されたコードをどうぞ。」って言って終わりなんだ。

プロダクトの人たちはLLMが大好きだよ。なぜなら「Xはどういう意味?どうやって機能するの?」って質問しないから。プログラマーは、すべてのケースについて聞くけどね。

Hacker Newsで議論の続きを見る