SAFeのリーン-アジャイルの原則

経済を無視することはできるが、経済はこちらを無視してはくれない。

─Don Reinertsen.『Principles of Product Development Flow』(プロダクト開発フローの原則)

第1原則─経済的な視点を取る

「持続可能な最短のリードタイムと、人や社会にとっての最善の品質と価値」というリーンなシステム構築者の目的を達成するには、システム構築者の使命の経済面について基本的なことがらを理解する必要がある。それを理解していないと、システムの技術面はよくできていても、開発コストがかかりすぎたり、納品までの時間が長すぎたり、製造や運用にコストがかかって経済効率のよい価値を得られなかったりする。

そのため、システム構築者(リーダー、管理者から、ナレッジワーカーまでの全体を指す)は、全員、自分たちが選んだ選択肢の経済的影響を理解する必要がある。従来、システム構築作業に対する経済的制約は、ビジネスと市場と顧客の経済面を理解している意思決定者や権限保持者など、一部の人にしか知られていなかった。しかし、そういった知識を中央集権化すると、ナレッジワーカーの日々の意思決定は、a)理解しないまま行われるか、b)知識を持った上のレベルの人に任せることになる。前者は、そのまま経済的に最適でない結果につながる。後者では、価値の納品が遅延し、最終的に同じ結果になる。

リーンなシステム構築者は、この影響を理解し、日々の意思決定が適切な経済的コンテキストの中で行われるよう常に努力する。Reinertsen(参考文献[1])らは、この目的をどう達成するかの具体的な指針を提供している。それについて、この後のセクションで説明する。

意思決定のための経済的枠組みを作成する

意思決定を正しく行うためには、システム構築者は、自分たちがローカルで行った意思決定がプロジェクトの経済面全体にどう影響するかを理解する必要がある。Reinertsenは、その経済的枠組みには、5つの典型的な経済要素が含まれると述べている。
経済的枠組みの作成

開発コスト:決定事項やシステム能力を実装するためのコスト
サイクル時間:決定事項を実装するための時間
コスト:製造、配置、運用のコスト
価値:決定事項がビジネスや顧客にもたらす価値
リスク:ソリューションの未確定事項や技術的実現性の増減

これらのパラメータは、企業の経済目標にも左右されるため、プロジェクト内だけで独立しているわけではない。ただし、プロジェクトごとに独自のコンテキストがあり、それによってそのプロジェクトで考慮しなければならない事柄が特殊化される。これらのコストとその相互関係を理解することが、プロジェクト全体の経済的実現性を明らかにするための鍵となる。

価値のストリーム全体を最適化する

大きな目で見た経済性を最適化するには、システム構築者は、概念から現金までの価値のフローのすべてのステップと関連するコストとを理解しなければならない。この理解には2つの主な側面がある。

  1. システム開発のほとんどの時間は、付加価値を作成する作業ではなく、プロセスで生じた遅延の結果として費やされる。単純に言うと、市場投入までの時間を短縮するには、遅延を減らすのが一番の近道である。
  2. 部分を最適化しても全体は最適化されない。第2原則「システム思考を適用する」の意味は、部分においてコストを最適化しても、必ずしも全体としての経済的利益につながらないということである。実際に、全体の経済的利益を最大にするには、1つのステップや1つの要素のコストを最適でないものにする必要があるかもしれない。

すでに使ったお金を考えてはならない

経済面が健全であれば、システム構築者は、今後に向けた意思決定をするときに「サンクコスト」を無視することができる。しかし、通常は、これまでにお金を費やしてきたのだからソリューションへの投資を続けたいという、強い誘惑が存在する。「投資が無駄になる」ことやプロジェクトの中止による政治的結果を恐れて、経済的に不適切な振る舞いがなされることがある。しかし、すでに費やしたお金を取り戻すことはできないため、経済的に見てもっとも実現性の高い今後の方法を選択する際にサンクコストが影響することはまったくないことを、リーンなシステム構築者は理解している。

利益が最大限になるよう作業の順序付けをする

大規模システムを構築している人がしなければならないことはいくらでもある。バックログは大きく、顧客は待っている。運営上の目標は、システム構築中も含めて可能な限り常に、顧客に価値のフローを継続的に提供することである。フローベースのシステムにおいて、最大の経済的利益をもたらすのは、個々の作業のROIではなく作業の順序付けである。そのため、システム構築者と顧客の双方にとっての経済的利益を最大にするには、バックログ内の作業を最適な順序に並べなければならない。

1つだけ定量化するなら遅延コストを定量化する

Reinertsenの原則E3では、価値納品における遅延コストを理解すると、それがきっかけとなってシステム構築者が価値をリリースする速度が上がることが強調されている。これには、待ち行列のコスト、余分な処理能力の価値、バッチサイズを小さくすることの利点、変動を減らすことの価値などが含まれる。遅延コストをしっかりと理解することは、プロジェクトの経済的枠組みに欠かせない要素であり、実際に「多くのドアを開くための黄金の鍵」[1]となる。

ローカルでの意思決定権限を与える

担当する領域での意思決定権限をナレッジワーカーに与えることは、価値納品を加速するための重要な要素であり、その結果として最適な経済的成果が生みだされる。経済的枠組みのこの最後の要素については、第9原則「意思決定を分散する」で説明する。


さらに知りたい場合

[1] Reinertsen, Donald G. The Principles of Product Development Flow:Second Generation Lean Product Development.Celeritas, 2009.[2] Poppendieck, Mary and Tom Poppendieck.Implementing Lean Software Development.Addison-Wesley, 2006.

Last update:11 May 2015