Quality Management & Continuous Improvement
品質はしばしば一つの工程と誤解される。すなわち、最終段階近くで問題を見つけ出す検査だと。しかし品質は、仕事がどのように組織されているかという性質として、また何かが検査されるはるか以前に下された意思決定の帰結として理解するほうが有益である。欠陥がすり抜けたとき、興味深い問いはなぜ検査が失敗したのかではなく、そもそもなぜそのプロセスがその欠陥を生み出しうる状態にあったのか、である場合がほとんどだ。以下では、品質を製品、サービス、プロセスに設計として組み込まれた属性として扱い、低品質の経済学から、良い仕事が既定値となる組織の構築までを論じる。
現状と、なぜ今それが重要なのか
産業化の時代の大半を通じて、品質は封じ込めの問題であった。大量に生産し、最後に検査し、合格品と不良品を選別する。手直しが目に見え、個別的で、限度内では手頃であったため、この経済性が成り立っていた。だがその前提は静かに崩壊した。デジタル製品やコネクテッドサービスにおいては、欠陥のコストはもはやひとつのバッチの範囲に収まらない。欠陥は全ユーザーへ一度に出荷され、自社では制御できない統合を通じて伝播し、自社が気づく前に顧客に発見される。この状況において、最終段階での検査は単に非効率であるだけでなく、仕事がリリースされる速度に追いつくことが算術的に不可能なのである。
二つの力がこの問題を先鋭化させた。第一は速度である。かつては四半期ごとだったリリースの周期が今や連続的となり、出荷前のゲートに依存する品質モデルは、出荷が決して止まらない世界では生き残れない。第二は結合である。現代のサービスは多数の部品、その多くは外部のものの組み合わせであり、顧客が体験する品質は、単独で検査できるいかなる構成要素の性質でもなく、全体から創発する性質である。その結果、品質はラインの末端から、ラインそのものの設計へと移動したのだ。
もうひとつ、名指しに値する非対称性がある。物理的なバッチの欠陥は一度失敗すればそれで終わりだが、ソフトウェアの欠陥は、修正されない限り、その問題のある経路が通られるたびに、露出した集団全体にわたって失敗し続ける。その負債は固定費用ではなく、サポートチケット、回避策、損なわれた信頼として支払われる年金であり、誰かが原因に対処すると決めるまで静かに複利で膨らんでいく。したがって、品質をリリース時点の一回限りの費用として計上する企業は、自社の帳簿を読み違えている。欠陥の真のコストは、それが許容されている数か月にわたって分散しており、それを出荷させた見積もりよりもほぼ必ず大きいのだ。
この転換を吸収した組織は、もはや欠陥を捕まえるとは語らない。彼らが語るのは、欠陥を生み出す可能性が低いプロセスを構築すること、そして欠陥が生じたときに素早く学ぶことである。この捉え直しが今重要なのは、代替案、すなわちより速いラインにより多くの検査員を配置することが、多くの企業が今なお高いコストをかけて走り続けている、勝ち目のない競走だからである。取締役会にとって居心地の悪い真実は、品質とはリソースを投じる部門ではなく、採用すべき規律だということであり、前者への支出をいくら積んでも後者の代わりにはならないということだ。
中核となる枠組みと第一原理
品質とは仕様への適合ではなく、目的への適合である。この分野で最も古い誤りは、品質を文書化された要件への遵守と定義することである。要件とは顧客が必要とするものについてのモデルであり、モデルは興味深い形で誤っている。製品は仕様に完璧に適合していながら、なお使う人を失望させることがある。仕様が重要な何かを見落としていたからだ。したがって我々は、適合を必要条件ではあるが十分条件ではないものとして扱い、仕様そのものを、それが確保しようとした成果に対して責任あるものとみなす。顧客が苦労しているのに要件を満たしたと自らを祝うチームは、地図を領土と取り違えているのである。
品質管理と品質保証は別々の活動である。管理は、この特定のアウトプットが受け入れ可能かどうかを問い、結果を検査する。保証は、プロセスが受け入れ可能なアウトプットを確実に生み出す能力を持つかどうかを問い、システムを検査する。この二つはしばしば混同され、その混同は高くつく。組織はあらゆる管理チェックに合格しながら、根本的に能力を欠くプロセスを回し、英雄的努力と運によって生き延びることがあるからだ。保証がより強力な規律であるのは、まさにそれが症状ではなく原因に働きかけるからである。
ばらつきは予測可能性の敵である。火曜には優れた結果を、木曜には劣った結果を生み出すプロセスは、良いプロセスが不調な日を過ごしているのではない。それは平均値がその実態をよく見せているだけの、制御されていないプロセスである。デミングとシューハートがこの分野に遺した統計的伝統は、単一の洞察に立脚している。すなわち、プロセスのばらつきを減らすことは、その平均値を改善することよりも通常より価値が高いということだ。予測可能なプロセスは意図的に改善できるが、不安定なプロセスには反応することしかできないからである。この読みにおいて、一貫性とは卓越の退屈な従兄弟ではなく、その前提条件である。振る舞いを予測できないものを確実により良くすることはできないからだ。
改善はプロジェクトではなくループである。Plan-Do-Check-Actサイクルと、それを取り巻くカイゼンの伝統は、単純な主張を体現している。すなわち、プロセスとは良い仕事を生み出す方法についての仮説であり、その一回一回の実行が、仮説を裏づけるか、それが誤っている箇所を明らかにする実験だということだ。継続的改善とは、各欠陥と各ヒヤリハットをデータとして扱い、プロセスを変え、その変更が役立ったかどうかを測定する実践である。このループは、設計上、小さく地味である。その力は、頻繁に回すことから来るのであって、壮大に回すことからではない。
欠陥は早く捕まえるほど安く済む。これが品質を左へシフトさせる背後にある原理である。会話の中で捕まえた要件の誤解は一文で済むが、本番環境で捕まえればリコールに至りかねない。欠陥のコストは、検出されずに通過した段階ごとにおよそ一桁ずつ上昇する。つまり、最も見返りの大きい品質の仕事は、顧客から最も遠いところ、仕事が構想される時点で行われるのだ。したがって、最も価値ある品質の専門家は、完成した仕事をテストする者ではなく、いかなる仕事も始まる前に思考を研ぎ澄ます者であることが多い。
現在の潮流とパターン
既定の運用としてのシフトレフト。過去十年で最も重大なパターンは、品質活動が上流、すなわち設計へ、そして構築という行為そのものへと移動したことである。コードと並行して書かれる自動テスト、変更ごとに実行される静的解析、開発開始前に合意される要件の実例、これらはすべて同じ確信を表現している。品質は執筆の瞬間に生み出すのが最も安く、後から付け加えるのが最も高くつくということだ。興味深い事例はさらに左へ、問題の枠組みそのものへと進む。そこでは最も損害の大きい欠陥、すなわち間違ったものを上手に作ってしまうことが、検出されるのではなく防止されるのである。
一級の指標としての低品質コスト。企業はますます、欠陥が実際にいくらかかるのかを定量化している。手直し、サポート負担、解約、インシデント対応、評判への足枷。この数字を可視化することは議論を変える。品質への投資が美徳の問題であることをやめ、算術の問題になるからだ。低品質のコストが測定されれば、予防のビジネスケースはおのずと成立し、速度と品質という永遠の対立は偽りのものとして暴かれる。低品質こそ遅さの主因なのだ。手直しに溺れるチームは、速く動いて物事を壊しているのではない。以前に物事を壊し、そのつけを今なお払っているために、遅く動いているのである。
チェックボックス埋めではない標準。ISO 9001とその関連規格は、より優れた組織においては、掲示するための証書ではなく、真の規律のための足場として解釈し直されている。その違いは、文書化されたプロセスが仕事の実際の起こり方を記述しているのか、それとも監査人がそうあってほしいと願う起こり方を記述しているのかにある。現実を映すマネジメントシステムは資産である。現実の、文書化されていないプロセスと並行して存在するものは純然たる間接費であり、さらに悪いことに、制御の幻想を粉飾するのである。
継続的検査としてのオブザーバビリティ。デジタルデリバリーにおいては、古い検査ゲートは稼働中システムの継続的測定に置き換えられた。エラー率、レイテンシの分布、ユーザー単位の成果がリアルタイムで監視され、リグレッションは数週間後の顧客の苦情ではなく数分で検出される。これはリリース前からリリース後へと移された品質管理であり、素早く観測しロールバックできる能力によって成り立っている。見落とされがちな前提条件は、誰かが実際にシグナルを監視し、それに基づいて行動する権限を持たねばならないということだ。誰も読まない計装はコストであって、制御ではない。
機能させるアーキテクチャと設計原理
欠陥を作りにくくする。最も信頼できる品質メカニズムは、間違ったことを表現するのが困難あるいは不可能な設計である。不正な状態を禁じる型、誤った順序で呼び出せないインターフェース、規律ではなくシステムによって強制される制約、これらはすべて品質を注意力から構造へと移す。注意力は圧力の下で予測どおりに破綻するが、構造は破綻しない。我々はコストが許す限り、欠陥を捕まえようと期待するチェックを追加するのではなく、欠陥が生じる可能性そのものを設計によって消し去ることを好む。疲れた人が回り込めないガードレールは、読むだろうと想定した警告標識よりも価値がある。
欠陥を素早く可視化する。予防が不可能な場合、次の原理は迅速なフィードバックである。導入から数分以内に問題を明らかにするプロセスは、完璧だが遅く明らかにするプロセスよりもはるかに価値がある。欠陥を作った当人が、それを安く修正するのに必要な文脈をまだ保持しているからだ。速く、自動化され、信頼できるフィードバックは継続的改善の循環系である。それなしにはループは意味を持つほど速く回れない。ここで「信頼できる」という言葉が実質的な働きをしている。オオカミ少年のようなフィードバックシグナルはやがて無視され、無視されるチェックはチェックがないのと見分けがつかないからだ。
あらゆる引き継ぎで品質を作り込む。欠陥は境界で蓄積する。チーム間、システム間、要件を理解する人と実装する人の間で。設計原理は、引き継ぎの数を減らし、残るものを計装することであり、そうすることで誤解が三段階後ではなく発生した場所で表面化する。構想から運用まで一つの仕事を担う機能横断チームが存在するのは、主にこれらの境界を潰すためであり、それが生み出す品質向上は、何らかの新しいツールよりも、翻訳の過程で失われるものが少ないという単純な事実に負うところが大きい。
プロセスを設計された成果物として扱う。品質を確実に生み出す能力を持つプロセスは偶然に生まれるものではない。それは他のあらゆる工学的対象と同じように、設計され、測定され、改訂される。それは良い状態がどのようなものかを定義し、逸脱したときに明らかになるようプロセスを計装し、アウトプットだけでなくプロセスそのものに責任を負わせることを意味する。製品を改善しながらプロセスを決して改善しない組織は、同じ欠陥を繰り返し解決することを、すなわちすでに教わった教訓に毎回全額を支払うことを、自らに宣告しているのである。
よくある失敗モード
戦略としての検査。品質は最後にテストで作り込めるという信念。検査員を増やしゲートを後ろに置くことは症状に対処するだけで、欠陥を生み出すプロセスには手をつけず、しかもスケールが悪い。アウトプットが増えるにつれ検査がボトルネックとなり、締め切りの圧力の下で、最も必要とされるまさにそのときに静かに緩められる。その兆候は、防止する権限を持たない品質について責任を負うよう求められるテスト機能である。
間違ったものを報いる指標。欠陥のコストを測らずに欠陥数を測ること、あるいはテストが意味あることを主張しているかを測らずにテストカバレッジを測ることは、数字を改善しながら品質には手をつけない活発な活動を生み出す。それが代表するはずだった根底の善を伴わずに満たせる指標は、確実に、悪意なく、そのように満たされる。処方箋は測定を捨てることではなく、あらゆる代理指標に、それが代わりに立っているものへのチェックを組み合わせることである。
認証の演劇。仕事のためではなく監査人のために維持される品質マネジメントシステムであり、そこでは文書化されたプロセスと実際のプロセスがあまりにも乖離し、文書がフィクションを記述している。証書は更新され、手順書の棚は増えていくが、実際の品質の実践はそのどこにもない。
学習の代わりの非難。欠陥を、誤りうるプロセスについての証拠としてではなく、個人の落ち度として扱うこと。予測される結果は、欠陥が報告されるのではなく隠され、ヒヤリハットが検証されず、組織が改善への唯一最も価値ある入力、すなわち何が間違っているかについての正直な情報を失うことである。報告者を罰する文化は、自らの盲目を買っているのだ。
測定なき改善。強い意見に基づいてプロセスを変え、その変更が役立ったかどうかを決して確認しないこと。前と後がなければ、改善は動きと見分けがつかず、プロセスは決して検証されなかった善意の変更の累積した重みの下で漂流する。
我々の仕事の進め方
我々はまず、低品質が実際に事業にいくらのコストを課しているかを突き止めることから始める。その数字がそれ以降のあらゆる優先順位を並べ替えるからだ。手直し、サポート負荷、インシデント、解約、そして欠陥が課すより遅い周期を、それらの源まで遡り、事業がすでに気にかけている言葉で表現する。これは滅多に心地よい作業ではないが、品質を信仰箇条から推論の筋道へと転換し、予防がどこで最も報われるかを教えてくれる。我々は最初の一日にツールを提案するよりも、最初の数週間を正直なベースラインの確立に費やすほうを選ぶ。問題が理解される前に選ばれた処方箋は、コストのかかるものではなく流行しているものを治療しがちだからだ。
そこから我々は、アウトプットだけでなくプロセスに取り組む。仕事が実際にどう流れるかを図示し、欠陥が作られる地点と捕まえられる地点を特定し、捕まえる地点を作る地点にできる限り近づける。デジタルデリバリーにおいてそれは、変更ごとに実行されるテストとチェック、コードが書かれる前に具体的な実例を通じて合意される要件、そして稼働中システムを継続的な検査者に変えるオブザーバビリティを意味する。サービスや業務プロセスにおいては、同じ論理が引き継ぎ、意思決定、統制に適用されることを意味する。媒体は変わるが、論理は変わらない。
我々は改善のループを意図的に設置し、それを小さく保つ。欠陥とヒヤリハットは非難なしにレビューされ、誤りうるプロセスについての情報として扱われ、効果がその後測定される特定の変更で応じられる。ISO 9001のような標準が関わる場合、我々は文書化されたシステムが実際のシステムを記述するようにする。そうすることで、認証は存在の見せかけを作り出すのではなく、存在する規律を記録する。全体を通じて、我々は検査員を追加する誘惑に抵抗し、代わりに、そもそもなぜそのプロセスがその欠陥を生み出しうる状態にあったのか、というより難しい問いを投げかける。
二つの習慣が残りをまとめている。第一は、実質的な変更のたびに前後を測定することであり、そうすることで主張された改善が、想定されるのではなく、実証されるか破棄されるかのいずれかになる。確信だけで変更されたプロセスは、品質を蓄積することなく複雑さを蓄積する。第二は、仕事を作る人々を、それが使われる中でどう振る舞うかの証拠の近くに保つことである。執筆と結果の間の距離こそ、ほとんどの品質が失われる場所だからだ。あるものを書いた当人が、それがどう失敗するかを速やかに見れば、修正は安く、教訓は保持される。そのフィードバックが三人の仲介者と二週間を経て届けられれば、その両方が失われるのだ。
Nashuaが違いを生むところ
品質の仕事が失敗するのは、技術の不足のためであることは最も少なく、正直さの不足のためであることが最も多い。すなわち、欠陥が本当にいくらかかるかを測定し、プロセスを実際に回っているとおりに文書化し、失敗を落ち度ではなくデータとして扱うことへの不本意さである。技術はおおむねよく理解され、自由に入手できる。乏しいのは、居心地の悪い数字を正面から見据え、仕事がどう記述されているかではなくどう行われているかを変える意志である。我々はそうした鏡を掲げる規律と、それが示すものに基づいて行動する工学的判断をもたらす。そうすることで改善は、もう一層の検査ではなく、仕事の設計に着地する。我々は、顧客の困難がテストの不足ではなく、テストが捕まえるよう求められているまさにその欠陥を静かに製造しているプロセスなのだ、と伝えることも同じくいとわない。それは顧客が望んだメッセージであることは滅多になく、聞く価値を返すメッセージであることがほとんどである。
仕事が前提としてよいことを変える、実践的な帰結もある。ある案件がまだ存在しない機能を必要とするとき、それは調達サイクルやベンダーのロードマップを待つ必要がない。enterprise platformは、エージェンティック・エンジニアリングを通じて、ほぼあらゆる機能を高速に受け入れられるよう構築されている。必要なものを平易な言葉で記述し、素早く生成する。ただし常に確固たるアーキテクチャ原理の内側で、厳格な品質保証のもとで行うので、速度が一貫性、セキュリティ、統制を犠牲にすることは決してない。その効果は単に便利というより戦略的である。それは内製か購入かの線を動かし、選択肢を安く保ち、戦略がたまたま棚にあったものに折れ曲がるのではなく、アーキテクチャが戦略に従うことを可能にする。
その結果は、良い仕事が達成ではなく既定値であり、欠陥が早期に表面化し、正直に理解され、時とともに測定可能なほど良くなるプロセスによって応じられる組織である。それが、すでに作ったものに下される評決としてではなく、あなたの働き方の性質としての品質である。そしてそれは、結局のところより安価な道でもある。欠陥を滅多に生み出さないプロセスは、それを見つけて修理することにほとんど何も費やさず、生み出す少数から学ぶ組織は、同じ過ちに繰り返し支払うことをやめるからだ。
