エッセイ: 列車と走行抵抗

製品やサービスを開発する時、組織は何等かの開発フレームワークを使っています。例えばシックスシグマの組織では DMAIC や DMADOV を、SAFe (Scaled Agile Framework)の組織ではアジャイル・リリース・トレイン(列車)が定期的に停止/発車するプログラム・インクリメントをフレームワークとして使っています。

時々、もっと自由に勝手気ままに製品やサービスを開発したい人から「なぜそのようなフレームワークを使う必要があるのか?」と聞かれることがあります。ついこの間まで学生だった人や、逆に長年自分のやり方を通してきたベテランの人がこのような疑問を持つことが多いようです。

そのような時、僕は「我々みんな愚か者だからです。愚か者でもフレームワークに従って仕事をすれば、それなりの良い仕事ができる”確率”が高まるからです。」と答えています。

するとたいていは「いちいちフレームワークに従っていたら時間がかかってしょうがない」と言い返されます。性急に結論に飛びつき行動を開始するタイプの人がこのような疑問を持つことが多いようです(案外このタイプは行動力があるとして上司ウケが良かったりするのが難点)。

それに対して「フレームワークを早く回せばよい」と答えます。また「フレームワークを使うことで、修正や作業のやり直しが減り、全体としてみると品質の高い品やサービスを早く提供できる”確率”が高くなる」とも答えます。実際多くの優良企業が新しい開発フレームワークを積極的に採用しているのは事実で、フレームワークを他社より少しでも早く、そして正確に”回している”企業だけが市場競争で勝っているように僕には見えます。

新しい開発フレームワークを採用し、それを回そうする時、このような大小様々な”抵抗”があることは自然であり、避けられないものです。

Agile Release Train

引用: https://www.scaledagileframework.com/agile-release-train/

さて 、SAFe(Scaled Agile Framework)というフレームワークについて見てみましょう。SAFe では製品ラインごとに、それを担当する複数の開発チームを一つの列車(アジャイル・リリース・トレイン)として編成します。例えば僕が SPC (SAFe Program Consultant)として携わるアジャイル・リリース・トレインは、11 両編成(11 チーム)の列車です。その列車が  2 週間に一度小さな駅に止まり、そして 10 週間に一度大きな駅に止まりながら、製品のライフサイクル期間中ずっと走り続けます。

そのような変わったフレームワークですから、SAFe を採用した時はもちろんのこと、1年経った今でも様々な抵抗があります。そのような抵抗を考えたとき、SAFe が開発チームを列車に例えたところが何とも言い得て妙だなと思ってしまいます。なぜなら列車が動くときは必ず走行抵抗があるからです。

走行抵抗 = 静止抵抗 + 機械抵抗 + 空気抵抗 * 速度 ^2

一般に列車が動く場合、走行抵抗はこのような式で表されます。そして列車が動き続けるためには走行抵抗よりも大きな動力(エネルギー)が必要です。

上記のささいな抵抗の例は「今の自分のやり方を変えたくないという」という静止抵抗の部類でしょうか。またフレームワークを維持するためには多くの仕組み(サブシステム)や、それを維持するための資源(人、モノ、カネ、情報)が必要ですが、時にはそれらが上手く噛み合わず、動きがギクシャクして機械抵抗となります。そして列車の速度が上がってくると、チーム間の依存関係に従ってコミュニーケーションに障害(空気抵抗)が出てきます。空気抵抗が速度の二乗に比例するというのは実感としても納得できます。

列車を走らせるためには、走行抵抗を物ともしない大出力の機関車(リーダーシップ)で引っ張る必要があります。しかし一方で走行抵抗を減らすための努力と工夫も必要です。これは SAFe のアジャイル・リリース・トレインだけではなく、どの開発フレームワークについても言えることです。

最適なフレームワークを組織や製品のタイプ、競争環境に合わせて選択することも重要です。シックスシグマ(DMAICフレームワーク)で有名だった GE が、デジタル化とともに、FastWorks(リーン・スタートアップを基にしたフレームワーク)に移行したのが良い例でしょう。

つまり、

  • 最適な開発フレームワークの選択し、
  • 強力なリーダーシップ(機関車: エンジン)のもと、
  • 走行抵抗を減らしながら、

フレームワークを他社よりも少しでも早く、正確に回した企業だけが市場で生き残るのではないかと思っています。

Design Frameworks

それでもなお、それでもフレームワークによる製品やサービスの開発に懐疑的な人には、「フレームワークに沿った仕事に慣れると、楽をして生産性が上がるよ」と答えています。慣性が一旦ついてしまえば、列車が少ないエネルギーで走れるのと同じです。