機略戦記

Maneuver warfare

全体最適を行うためには「部分非最適」を受け入れる必要がある

大体の仕事は、いくつかの機械や人、あるいは組織が連携して働いて最終的な成果(製品とかサービスとか)を作る。

このような仕事において、最終的な成果を増やすためには、「改善を行って効果がある部分」と「ない部分」がある事を認識する必要がある。それを分かっていないと改善するつもりで悪化させてしまう事になる。

そのような場合がある事を、いくつかの例とその背後にある原則を使って説明する。

例え話その1: あるパン工場

あるパン工場の生産ラインを想像してみよう。

  1. 小麦粉と水をまぜ、そこにイーストを入れる。
  2. 温めて生地を発酵させる。
  3. パンの形に成形する。
  4. 焼く。
  5. 包装する。
  6. 箱詰めする。

6つの加工機器を経て、パンが完成する一連の工程である。

これらの工程は、以下のように順番に行う必要がある。

1 → 2 → 3 → 4 → 5 → 6

先ほどのパン工場について、1〜6それぞれの工程が処理できる量は異なるものと仮定しよう。つまり、「1. 小麦と水を練る機械は1時間あたりパン110個分の生地を練れる」「4. パンを焼く機械は1時間あたり100個のパンを焼ける」とかだ。

あなたはこのパン工場の生産速度を改善したいものとする。
あなたならどんな基準で改善すべき工程を選ぶだろうか?

さて、このパン工場の1〜6の工程には、改善するとパンの生産量が増える工程と、改善してもパンの生産量が増えない工程とがある。

例えば、2.生地を発酵させる機械が1時間辺り100個分しか処理できないのに、1.小麦と水を練る機械が1時間あたり150個分の生地を練れるようになってもパンの生産量は増えない。2.生地を発酵させる機械の前に発酵待ちパンが積み上がっていくだけである。1時間で150個分練って、100個分しか発酵させられないので、1時間で50個ずつ発酵待ちの生地が溜まっていく。

あるいは、4. パンを焼く機械が1時間あたり120個しか処理できないのに、5. 包装する機械が1時間あたり180個処理できるようになってもパンの生産量は増えない。5. 包装する機械は1時間の内、累計40分だけパンを包装し、残りの時間はパンが焼けるのを待つことになる。

このように、パンの生産量はパン工場どこを改善しても増えるという訳ではないこのような想定の時、パンの生産量を増やすのは、1〜6の中で最も遅い工程に対する改善のみである。

例え話その2: ピクニックに行く小学生達

  • 小学1年生〜6年生までの小学生が1人ずつ、計6人でピクニックに出かけたとする。
  • それぞれが歩く速度は以下としよう。
1年生さん < 2年生さん < 3年生さん < 4年生さん < 5年生さん < 6年生さん
  • ピクニックに出た6人の小学生が皆で一本道を進む時、このピクニック隊が進むスピードはもっとも足が遅い小学生によって決まる。6年生さんが、ちびっこマラソンで3kmを10分で走れる俊足の小学生であっても全く関係ない
  • ピクニック隊全体の速度を上げたい時、いくら6年生さんが歩くスピードを早めても意味が無い。
    • 1年生さん〜5年生さんが置いてきぼりになって隊列が伸びるだけである。
    • 全体のスピードがあるのは、1年生さんが歩くスピードが上がった時だけである。
  • だから、やるべき事は、1番遅い1年生さんの荷物を、その他の小学生さんが肩替わりしてあげる事である。例えば6年生さんが1年生さんの荷物を持ってあげる。こうすれば全体のスピードが上がる。

この時、荷物を肩替わりした6年生さんのスピードは、「6年生さんだけが歩く時」より遅くなるが、それは、全体のパフォーマンスに全く悪影響を与えていない。むしろ、全体のスピードは上がっている。全体を最適するためには部分の非最適を許容しなければならない。

強度と重さ

左右から引っ張られる1本の鎖の紐を想像しよう。「この鎖の強度を決めるのは、鎖の最も弱い部分である。それ以外を強化しても全体の強度は上がらない

ここまで見てきた様々な例のように、「改善した時、システム全体に効果が出るのはボトルネックの部分のみ」という原則に支配される事象を「鎖の強度世界」と呼ぼう。

一方、別の原則が支配する世界もある。例えば「鎖の重さ」だ。これは、全体のどこを重くしても、鎖全体の重さが増す。このような原則に支配される世界を鎖の重さ世界と呼ぶこととする。

大抵の仕事は鎖の強度世界

「鎖の強度世界」「鎖の重さ世界」この違いを産むのは何であろうか。それは、「システムを構成する各要素が連動するかどうか」である。複数の要素が連動して動き、全体として何か役割を果たす。だからそれらの要素の中にボトルネックが生まれ「鎖の強度世界」の原則が働くようになる。相互作用が無ければ「鎖の重さ世界」のように単純な累積によってパフォーマンスが決まる。

大抵の仕事は「鎖の強度世界」の原則に従う、最終成果物を作るまでに複数の物や人が連動しない仕事というのは少ない。

ソフトウェア開発方法論や生産管理への適用

さて、「鎖の強度世界」という世界観に基づいた方法論は様々ある。 (というか、これこそが様々な生産活動の方法論に共通する一般法則なのでは無いかと私は思う)

根本は同じ「ボトルネックへ集中せよ」である。(ただし、「何がボトルネックなのか?」という考え方はぜんぜん違うが…)

「鎖の強度世界」ではボトルネックへの投資だけが価値を持つ。逆に、ボトルネック以外への投資を絞っても全体のパフォーマンスは落ちない。むしろ、ボトルネック以外への投資を絞り、ボトルネックへ再投資することが全体のパフォーマンスの向上に繋がる。

だから、「あらゆる非効率を許さない」というスタンスは、個別最適化であり、全体最適を損なう考え方なのである。

「あらゆる非効率を許さない」というスタンスは、「生地を発酵させる機械が満タンなのにどんどん生地を練る行為」であり、「6年生さんを全速力で走らせる行為」であり、「クリティカルパスを気にしない行為」であり、「価値あるストリーの優先順位を気にしない行為」であり、どうしようもなく間違っている行為なのである。

https://www.amazon.co.jp/%E3%82%B6%E3%83%BB%E3%82%B4%E3%83%BC%E3%83%AB-%E3%82%A8%E3%83%AA%E3%83%A4%E3%83%95-%E3%82%B4%E3%83%BC%E3%83%AB%E3%83%89%E3%83%A9%E3%83%83%E3%83%88-ebook/dp/B0081M7YEE/ref=dp_kinw_strp_1www.amazon.co.jp