テイラーからアジャイルへ:算術的生産性と人間的生産性をめぐる考察
テイラーからアジャイルへ:算術的生産性と人間的生産性
近年、重要なビジネススキルとして称揚されるもののひとつに、「問題/課題発見力」がある。不確実で不確定な市場環境の中で、複雑に絡み合った網の目を解いて問題をじぶんの力で発見する力は、たいへん重要なものとしてもてはやされている。消費社会は成熟を迎えており、もはやわたしたちの解くべき問題は、「生産能力の向上」や「製品の品質向上」といった、20世紀の古き良き製造業の問題群の中には存在しない。5年後の産業地図の様相さえ予想することが難しい状況の中で、それでも進むべき道を定義して切り拓く力が「問題/課題発見力」であるならば、その能力の重要性に疑うべきところは微塵もない。
ぼくはソフトウェアという、それ自体が大変不確実な商品をあつかう仕事をしている。ソフトウェアを扱うひとびとは、その不確実性をガバナンスするために独特の組織論を生み出してきた。それらの多くは、ソフトウェア以上に不確実な存在である「人間」の集まりが、いかにして「良いプロダクト」を生み出すことができるかを徹底的に思考する。アジャイルとか、リーンとか、少し古いけれどデザイン思考とかそういった理論の体系が該当するが、それらは、テイラーの科学的管理法や、フォーディズムに極まる「算術的な生産性の最大化」とは、一見矛盾する問題解決を行おうとする。
それは以下のような対照だ。テイラーの科学的管理法やフォーディズムは、作業を細かく分断し、複雑な製品づくりを単純な工程の連続に分解し、各工程に規模の経済を適用させることで「算術的な」生産性の最大化を導く。一方、アジャイルやリーンは、作業の分断を可能な限り少なく抑え、製品づくりの工程を全て担えるスモールユニットに可能な限りの自律性を与え個々の創発性を引き出すことで、「人間的な生産性の最大化」の必要性を解く。なお、「人間的な」生産性という言葉を使うと、パッションとかやる気とかそういう精神論的な話をしていると思われるかもしれないが、ソフトウェア生産においては、上述したような組織編成をした方が生産性が向上するということは、きちんと実証されている。詳細は、LeanとDevOpsの科学を参照されたい。
もう一つ重要なこととして、「算術的な生産性の最大化」においては、頭脳と手足の分業が行われることに言及せねばならない。ヒエラルキーの上部に存在するエグゼクティブが、組織のあるべき姿や向かうべき道を考え、下部の実行部隊はそれを適切に実行することに全力を尽くすという形で、内部の垂直分業が行われる。一方で、「人間的な生産性の最大化」においては、頭脳と手足は分離しないことが重要だとされる。小さなチームであっても、自分たちのことは自分たちで考えて小さなカイゼンを積み重ねる。トヨタ式生産から着想を得たリーン、そしてアジャイルの方法論に共通する価値である。スクラムの至上命題は、「自己組織化」、つまり自分たちだけで無限にカイゼンループを作り出すことができるようになること、であることを思い出されたい。
なお、本稿の製造業的な分業についての記述は、沼上先生の『組織デザイン』に論拠の多くを依っている。
責任の雲散霧消:製造業的分業の根本的な問題
ぼくはかねてから、「算術的な生産性の最大化」において実践される生産工程の分業は、顧客に至るまでの生産工程に多くの「分断」を生じさせることで、成果責任の所在を曖昧にするという弊害があると考えている。そしてそういった分断は、市場ニーズの変化が速い業界では致命的な弱点になるのだ。
たとえば、アパレル企業のバリューチェーンを考えてみる。アパレルのバリューチェーンは企画、調達、製造、販売、アフターケアのあらゆる工程が細かく水平分業されている。分業の結果、在庫リスクに備えて工程間で予備在庫を持つ仕組みとなるので過剰在庫が恒常化する。当然過剰在庫は価格に転化され、割を食うのは消費者である。
こうした問題は、しかし、アパレル業界が極めて細かく水平分業されておりバリューチェーン全体を把握することが極めて困難であったことや、専門商社が介在し子飼いの事業者を束にしてバリューチェーンを丸ごと売り物として差し出す「OBM/OEM」というビジネスを展開してきたことで、アパレル企業そのものが商流全体を管理する(垂直統合する)インセンティブを持たず、長期にわたって放置されてきた。結果として生じているのが、バリューチェーンを垂直投合することで一人勝ちしているユニクロやZARAなどのファストファッションを除き、「服がちっとも売れない」という状況である。
アパレル企業の勝敗を分けている要因のうち、論旨に関係の深いものだけをとりあげると、市場ニーズを生産工程に反映させる速度が極めて大きく影響している。単純な話だが、売れないものを作るのをやめて、売れるものをたくさん作れば勝てるのである。ところが商流が水平に分断されている状態では、多くの外注を伴うため、生産計画は1年〜2年のスパンで決まってしまっていて動かせない。だからこそ、アパレル業界の勝者はサプライチェーンを垂直統合し、生産工程へ市場ニーズを迅速に取り込むことに徹底に拘ってきた。市場ニーズを生産に反映させるのに1年かかるのと、1ヶ月、1週間しかかからないのでは、差は歴然としている。
アパレルはあくまで例として挙げているに過ぎないが、業界本を2冊ほど読むと状況がよくわかると思うので、関心のある方には以下をお勧めする。
ここで問題にしたいのは、では「服が売れないのは誰のせいなのだろうか?」ということだ。無論、服が売れないのは作り主であるメーカーの責任だといえばそれまでなのだが、では、具体的に誰がそれをなんとかしようと思うだろうか。企画段階から外部委託された山積みの在庫は、顧客に届くまでに数えきれないほどの分断に晒されている。分断の数だけ、責任もコミットメントも分散し、最終的には雲散霧消する。個々の分業された機能は、たしかに部分最適を実現するかもしれない。しかしそれはあくまでもパーツとしての機能を果たしているだけであり、分断の向こう側が「他人事」である以上、有機的な生産プロセスの中の「意味ある一部」として振る舞うことはできない。
顧客は商品を買わない。しかし、誰もそれに責任を感じていない。
責任を引き受ける:アジャイルによる解決
このような分断と、分断がもたらす責任の不在という状況は、ソフトウェアプロダクトの生産においても容易に再現される。特に、コンポーネント単位でチームをまとめる機能別組織では、こうした問題が生じやすい。要件を決める人、要件を設計に落とす人、実際に開発する人、品質保証をする人、運用をする人…。顧客にたどり着くまでの分断の数だけ、責任はこぼれ落ちる。
あるプロダクトをリリースしてもユーザが期待通りに使ってくれなかったとしよう。それは誰のせいなのか?要件を作った人は「設計が要件をうまく反映していなかった」と言えるし、設計した人は「開発が設計をうまく反映していなかった」と言えるし、開発した人は「要件が曖昧だった」と言えるし…といった具合で無限に結果に対する責任は退行していく。こうした状況に対して、「意思決定のプロセスが曖昧」といった批判は至極真っ当であるが、そもそもその意思決定は誰が担うべきなのだろうか?
仮に、要件を作る人が全体の責任を担うとしたら(多くの場合そういうことになっている)、その構造は開発プロセス全体を科学的に管理し、あらゆる工程のアウトプットを緻密に制御する「ウォーターフォール」的なものにならざるを得ない。ウォーターフォールは、不確実なドメインで戦う場合は「ダメ」である、というのが時代的なコンセンサスになりつつある。
仮に、開発を行う人が全体の責任を担うとしたら?要件の受注者のような状況で組織をそんな設計にすることが可能なのかは置いておくとして、分断のある状況で少しでも結果責任を開発者に持たせようとすれば、プロダクト開発そのものが極めて保守的に展開するに違いない。開発者は、要件に一切の不確実性が介在することを許さなくなるからだ。
じゃあやはり、みんなで責任を取ろう、全員野球で!と言ったところで、機能ごとの分断は超えられない。超えるメリットが一切ないからだ。使われない機能は量産されるが、その製造物責任は時限爆弾のようにキャッチボールされ続ける。ここに来て、分断された組織のなかで、責任を特定の何者かに負わせようという発想自体が、そもそも間違っているのではないか、と言うことにぼくたちはやっと気がつくのだ。
このような分断がもたらす責任の不在への手当として、アジャイルはバリューチェーン全体を一気通貫で担うことのできる職能横断型組織を基本組成とする(フィーチャーチーム、ストリームアラインドチーム、プロダクトチームなど、信仰の違いに応じて呼び方は異なる)ことで対処しようとする。職能横断型組織は、プロダクトの生産過程に一切の分断を持たず、その結果責任はチームが持つ。このような組成は、製造業的な分業と「算術的生産性」の論理と矛盾しているように見えるが、ソフトウェアプロダクトにおいてはエンドユーザーと製品チームとの「距離」が、顧客満足度やチームの生産性に相関していることが統計的にわかっている。こうした方が、実際の生産性は上がるのだ。
ぼくがここで強調したいのは、職能横断型組織が実現する「責任を引き受ける」構造の重要性だ。職能横断的に組成されたチームには、分断がないから、責任を転嫁する先がない。強いていえばエグゼクティブやマネージャーの無能を謗るくらいはできるだろうが、きちんと回っているアジャイルでは、必ずチームに自律性が与えられているから、よほどのことがない限りチームの決定に物言いが入ることはない。自律的な組織で「自分たちで決めたことをやる」からこそ、責任とコミットメントが生まれる。(だから決してアジャイルチームのやることを邪魔してはいけないし、もし邪魔したくなるのであれば、じぶんかチームのどちらかが未熟であるということだ)
コミットメントを取り戻す
言い方を変えて同じことを言うと、責任というパースペクティブから導出される算術的生産性と人間的生産性の最も大きな違いとは、人間の「責任を引き受け、コミットメントする能力」を信じているか否かである。
算術的生産性(≒20世紀製造業)の世界では、人間を文字通りコンポーネントとして捉え、部分最適としての機能を果たすことを求める。人間は、「意味ある一部」としての振る舞いは求められず、それ単体では決して意味をなさない「意味なき一部」に成り果てる。それは、フォーディズムが「より多くの労働者に」ジョブポストを開くために徹底的な分業を行ない、人間を部分最適に押し込めることで「結果責任」から解放した成果であった。(実際に、フォーディズムは単純労働者を囲い込み、彼らをみな中産階級にしてしまったわけである)
対して、人間的生産性(≒リーン/アジャイル)の世界では、ぼくたちは常に全体最適の観点で行動し、「意味ある一部」として思考し行動することを求められ続ける。アジャイルであるためには、自律駆動することが必要なのだ。そして、考える労働者としてぼくたちは「結果責任」を取る。これは、フォーディズムの世界で僕たちが取り上げられた「責任」を、文字通り「引き受け直す」ことを意味している。だから、アジャイルを実践するというのは、人間の「責任を引き受けてコミットメントする能力」を信じることを意味しているのである。
能力とわざわざ書いているのは、ぼくはこれが意思の問題である以上に能力の問題であると捉えているためである。ソフトウェアプロダクトの生産工程全体に責任を引き受け、コミットメントすることは、意思があろうがなかろうが大変困難なことである。深いエンジニアリングの知見に加えて、ソフトウェアプロダクトをめぐる市場の不確実性や、チーム/人間をめぐる洞察、絶えざる自己研鑽、フィードバックサイクルを回すためのそもそものビジネススキル、そして何より冒頭で述べた問題を自分の力で発見し定義し解決する力などなど、そもそもの能力としての要求が極めて高い。だが、それらも含めて、皆が「コミットメントする」力を信じるというのが、アジャイルを実践するということなのであろうと最近は思っている。
だからこそ、僕はアジャイルのことを「人間的生産性」を重視する考え方だと思っている。それは、人間の「責任を引き受けてコミットメントする」能力と意思こそが、不安定で不確実な市場環境をサバイバルするために必要なものであるという強い信念に支えられているからだ。