# オブザーバビリティ駆動開発 ## 定義 オブザーバビリティ駆動開発(observability-driven development)は、テスト駆動開発(TDD)に類似した開発プラクティスだが異なる関心事を扱う。新機能を、その影響を測定し前バージョンと比較し想定外の挙動を素早くデバッグするために必要な計装とともに出荷する。TDDがデータをリセットし依存をモック化した制御された環境で「仕様に対する正しさ」を保証するのに対し、オブザーバビリティ駆動開発は再現不能・想定外の条件に満ちた本番の可変性のもとで「現実に対する正しい挙動」を保証する。両者は対立関係ではなく補完関係にあり、TDDを置き換えるものではない。(Source: [[@2026__OReilly__Observability Engineering 2E - Chapter 9 Observability-Driven Development]]) オブザーバビリティは「関数」レベルではなく「システム」レベルで機能する。行単位のデバッグに耐える詳細度をオブザーバビリティ系へ出力するとストレージ・処理コストが破綻するため、オブザーバビリティツールの役割は問題のあるコンポーネント・依存先・ユーザーセグメントへ絞り込むところまでであり、そこから先のコード自体の深掘りにはデバッガ(GDBなど)やプロファイラを使う。オブザーバビリティは「望遠鏡」、デバッガは「顕微鏡」という役割分担である。(Source: [[@2026__OReilly__Observability Engineering 2E - Chapter 9 Observability-Driven Development]]) ## 横断的知見 - **第9章が個別プラクティスとして定義する「本番での正しさの検証」を、最終第32章は書籍全体の予測・結論として再提示する**: 第9章はオブザーバビリティ駆動開発を「新機能を計装とともに出荷し、想定外の挙動を素早くデバッグする」個別の開発プラクティスとして、TDDとの役割分担(システムレベル対関数レベル)込みで定義する(Source: [[@2026__OReilly__Observability Engineering 2E - Chapter 9 Observability-Driven Development]])。最終第32章はこれを個別プラクティスの範囲を超え、「開発者は今なお自分が出したdiffの本番への影響を検証できていない」という業界全体の未解決課題として位置づけ直し、「dev/opsの分断線は破壊されねばならない」「本番でテストせよ、さもなくば偽りを生きよ」という書籍全体の結論に接続する。第9章が示す具体的な実践(計装込みの機能出荷)が、第32章では「意図を計装で捉え、本番まで追跡し、自分・同僚・エージェントがそれを検証できるか問う」というより一般化された指針として繰り返される。(Source: [[@2026__OReilly__Observability Engineering 2E - Chapter 9 Observability-Driven Development]], [[@2026__OReilly__Observability Engineering 2E - Chapter 32 Where Do We Go From Here?]]) ## 未解決の問い - オブザーバビリティ駆動開発とTDDを同一のCI/CDパイプラインでどう共存させるか。本章はOpenTelemetry Weaverによるテレメトリスキーマ検証をCI/CDの静的チェックに組み込む案を挙げるが、具体的なワークフロー・ツール連携の記述は薄い。 - 「self-paging」(マージした本人を30〜60分間アラート対象にする慣行)は、オンコール文化の異なる組織(SREチームが専任で運用を担う組織など)にどこまで移植可能か。[[DORA]]の変更失敗率・MTTRとの関係は。 - AIエージェントが計装を生成する際の「属性の捏造」「テレメトリの重複」問題は、明示的な単一見出しガイダンスでどこまで抑制できるか。定量的な効果測定は本章に無い。 ## 関連 - 概念: [[オブザーバビリティ]](本概念の前提となる可観測性の定義)/ [[フィーチャーフラグ]](本番の一部トラフィックへの限定曝露という関連手段)/ [[DORA]](リードタイム等のデリバリー速度指標)/ [[コードのキャッシュ化]](本番での検証を前提に置く点で結論部と接続) - ソース: [[@2026__OReilly__Observability Engineering 2E - Chapter 9 Observability-Driven Development]] / [[@2026__OReilly__Observability Engineering 2E - Chapter 32 Where Do We Go From Here?]] ## 出典 - [[@2026__OReilly__Observability Engineering 2E - Chapter 9 Observability-Driven Development]] — TDDとの対比、システムレベル対関数レベルの役割分担、AI支援コーディングとの組み合わせ方 - [[@2026__OReilly__Observability Engineering 2E - Chapter 32 Where Do We Go From Here?]] — 書籍全体の結論として本番検証・dev/opsの分断解消への接続