寓話
機械を管理することと職人を管理すること
老孫の工場には二種類の労働者がいる:機械操作員と手工匠人。機械操作員はボタンを押し、計器を見て、手順を踏み、各段階が既定されている。手工匠人は図面を受け取ると自分で材料を選び、どの段階を先にやるか自分で決め、異常に遭えば自分で手法を調整する。
工場のスケジューリングシステムは当初、機械オペレーター向けにのみ設計されていた。システムが指示を出すと、オペレーターはそれに従う。機械が故障すればオペレーターが修理を申請し、スケジューリングシステムはタスクを次の空いているオペレーターに回す。このシステムは三年間、安定して信頼できる形で稼働した。
後に工場は手工芸職人の一団を雇い、彼らも同じスケジューリングシステムに接続させた。問題はすぐに現れた。スケジューリングシステムはある職人に「椅子を一脚作る」タスクを割り当てたが、職人は図面を一目見て言った。この椅子にはブナは適さない、オークに替えるべきだ、と。システムには「職人がタスクに反論する」というフローがなく、タスクは止まってしまった。
別の職人が二つの作業を並行して処理していたところ、システムは彼がサボっていると思い込み、自動的に一方を他人に転送した。職人が戻ると半製品が持ち去られており、最初からやり直すしかなかった。スケジューリングシステムは「進行中だが未完了」の状態を理解していなかった。
老孫は调度チームと匠人の代表を呼び集め、システムを再設計した。新システムは二種類のタスクを区別した:確定的タスクはオペレーターに送り、固定手順、固定時間、固定結果がある;開放性タスクは匠人に送り、目標記述、制約条件、受入基準を添え、匠人は修正提案を出し、進捗を報告し、協力を申請できる。
新システムは「意図整合」と呼ばれる段階を追加した。職人にタスクを割り当てる前に、システムはまず問う:このタスクは判断が必要か?調整が必要か?多段階の意思決定が必要か?三つとも否なら、オペレーターチャネルを通す。一つでもあれば、職人チャネルを通し、職人により大きな自律的余地を与える。
ある顧客が工場を見学した後、老孫に尋ねた:あなたたちのこのスケジューリングシステムは、つまりオーケストレーションですか?老孫は言った:はい、ただし私たちはオーケストレーションを二層に分けています。下層は汎用オーケストレーション——すべてのタスクの配信、追跡、再試行を管理します。上層は 帮手 オーケストレーション——自ら考える実行者を専門に管理します。
後に老孫のチームは一つの規則を定めた。新しいタスクをスケジューリングシステムに接続する前に、分類表を記入し、「手順を事前設定できる」か「自律的な意思決定が必要」かを判断する。分類を誤れば、どんなに優れたオーケストレーションエンジンでも、職人を機械として扱い、機械を職人として扱ってしまう。