1.7

View in English

1.7 エンジニアリング標準と例外

概要と動機

エンジニアリング標準とは、仕事のやり方についての、文書化され、合意されたルールです。たとえば、「すべてのサービスはヘルスチェックのエンドポイントを公開しなければならない」「すべての公開ウェブページはWCAG(Web Content Accessibility Guidelines)2.2のレベルAAを満たさなければならない」などです。標準は提案でも、単なる慣習でもありません。組織が自らに課すコミットメントであり、理想的には確認できるものです。本章は、標準のライフサイクル全体、すなわち大きな組織が標準を策定し、公開し、採用し、徹底し、進化させる方法と、同じくらい重要な、標準の外に正当に出るケースを、統制された例外プロセス(ウェイバープロセスとも呼ばれます)でどう扱うかを扱います。これは、述べられた理由で標準から逸脱することを許す、文書化され期限付きの許可です。

動機は、規模が大きくなると非公式な規範が機能しなくなることです。五人のエンジニアが一つの部屋を共有しているとき、「ここでのやり方」は会話と自然な浸透で伝わります。五千人のエンジニアが数十のチーム、三つのタイムゾーン、十年に及ぶ人の入れ替わりにまたがるとき、その暗黙知は、数百の互いに相容れない現場の習慣へと分裂します。標準は、苦労して得た教訓を一度書き留め、すべてのチームが、自分たちの障害を通じて一つずつ学び直す代わりに、それを継承できるようにする方法です。標準は認知負荷を減らし、コードレビューをスタイルではなく内容についてのものにし、人がチーム間を移れるようにし、監査人や規制当局に評価するための具体的なものを与えます。

しかし標準には、固有の失敗モードがあります。硬直です。例外を認めない標準は、遅かれ早かれ、正当な仕事を妨げます。スパイク、ベンダーの制約、作者が想像しなかった真に新しいケースなどです。するとチームは止まってしまうか、さらに悪いことに標準を静かに無視し、それがすべての標準の信頼性を蝕みます。その解毒剤は、古い格言「例外は規則を証明する」です。目に見える、原則に基づく例外プロセスこそが、標準を信頼でき、かつ人道的に保ちます。本章は、意思決定とガバナンス(1.5章)と意思決定記録(1.6章)を土台とし、コーディング標準とスタイル(2.1章)、チェックリスト(12.2章)、テンプレート(12.3章)に直接つながります。

主要原則

  • 標準は成果を述べ、理由を与えます。 ルールに根拠を添えます。なぜがなければ、人はそれが本当に当てはまるかを判断できません。
  • 確認できないなら、まだ標準ではありません。 願望よりテスト可能な記述を好みます。
  • 標準は生きた文書です。 バージョン管理され、所有者がおり、日付があり、改訂されます。石に刻んで放置されるものではありません。
  • 可能な所では執行を自動化し、人によるレビューは判断のために取っておきます。 機械は機械的なものを確認し、人は意味のあるものを確認します。
  • 逸脱は想定されており、恥ではありませんが、見えなければなりません。 正直なウェイバーは、静かな不遵守に常に勝ります。
  • すべての例外に期限を設けます。 恒久的な例外は標準の欠陥です。表に出して標準を直します。
  • 専門用語や命令より、言葉と例を。 人は、理解でき、真似できる標準に従います。

推奨事項

明確で、テスト可能で、根拠のある標準を書く

良い標準は、読み手がどこを見ればよいかわかるよう、予測可能な形をした、短く自己完結した文書です。一つの標準テンプレート(12.3章)を採用し、どこでも使います。必須のセクションは次のとおりです。

  • タイトルと識別子: 引用のための安定した名前と参照番号。
  • ステータス: ドラフト、有効、置き換え済み、廃止のいずれかと、日付。
  • ルール: 成果として、平易で曖昧さなく述べます(「must」「should」「may」を、要求キーワードに関するRFC 2119の慣習に従って意図して使う)。
  • 根拠: このルールがなぜ存在するか。それが防ぐコストやリスク。
  • 例: 準拠した例と準拠しない例。抽象より具体が勝ります。
  • 確認方法: それを検証する自動テスト、リンタールール、レビュー手順。
  • 所有者と見直し日: 誰が維持し、次にいつ見直されるか。

根拠と「確認方法」の欄が、本物の標準と願望を分けます。ルールがなぜ存在するかを言えないなら、それが存在すべきか疑ってください。遵守がどう検証されるかを言えないなら、ルールは一貫せずに適用され、恨まれるでしょう。

各標準に良い実践のチェックリストを組み合わせる

標準は目的地を定めます。良い実践のチェックリスト、つまり確認すべき具体的な手順や項目の短く順序立てたリストは、人々がそこに到達するのを助け、レビューの前に自己検証できるようにします。公共部門のエンジニアリングハンドブックは、このパターンを多用します。NHS WalesとDigital Health and Care Wales(DHCW)は、実践的なチェックリストを伴うエンジニアリング標準を公開し、英国政府デジタルサービス(GDS)は、サービススタンダードとテクノロジー実践規範を、サービスマニュアルの実行可能なガイダンスと組み合わせています。チェックリストは、使えるようにされた標準です。「アクセシビリティ監査を追加しましたか。スクリーンリーダーでテストしましたか。キーボードのみの操作をカバーしましたか」。チェックリストのパターンの全体は12.2章を参照してください。

人々がすでに働いている場所に標準を公開し、見つけやすく保つ

標準は、Markdownとしてバージョン管理(ソースリポジトリ)に保存し、検索可能な社内サイトにレンダリングします。そうすれば履歴、プルリクエストによるレビュー、差分が無料で得られます。意思決定記録(1.6章)と同じ論拠です。一つのカタログ、一つのテンプレート、一つの検索ボックスです。表に出すことは、保管と同じくらい重要です。関連する標準を、プルリクエストのテンプレート、リンターのエラーメッセージ、サービスの雛形からリンクし、誰も訪れないフォルダにではなく、作業の瞬間に正しいルールが現れるようにします。

執行はまず自動化で、次に人によるレビューで

標準を執行する方法は二つあり、成熟した組織は両方を意図して使います。

  • 自動執行: リンター、フォーマッター、静的解析、policy-as-code(たとえばOpen Policy Agent(OPA))、継続的インテグレーション(CI)のゲート、アーキテクチャのフィットネス関数(設計上の性質が依然として成り立つことを表明する自動テスト)。自動化は一貫し、疲れず、即時で、議論の余地がないので、標準の機械的な大多数(書式、命名、依存関係の規則、必須のメタデータ)に理想的です。
  • 人によるレビュー: コードレビュー、アーキテクチャレビューボード、セキュリティレビュー。機械が判断できないものに取っておきます。抽象化が健全か、トレードオフが賢明か、標準の字面がぎこちなくてもその意図が満たされているか。

経験則は、確認できるものは自動化し、希少な人の注意は判断に使うことです。標準をレビューからCIに移せるたびに、レビュアーは、自分たちにしかできない思考をする余裕が生まれます。

文書化された例外/ウェイバープロセスで逸脱を統治する

どの標準もあらゆるケースに合うわけではないので、逃げ道を意図して設計します。良い例外プロセスは次を定めます。

  • 誰がウェイバーを認められるか: リスクに釣り合う、名前のある責任ある権限者(低リスクなスタイルの逸脱ならテックリード、セキュリティ統制のウェイバーならアーキテクチャまたはセキュリティのボード)。これは1.5章のガバナンスモデルに直接結びつきます。
  • 何を記録しなければならないか: 逸脱する標準、具体的な理由、範囲、補完的な統制または緩和策、受け入れたリスク。理由が保存されるよう、これを意思決定記録(1.6章)として捉えます。
  • 必須の期限: すべてのウェイバーは、明示的な終了日を伴って期限付きにします。これが最も重要な単一のルールです。一時的な例外が、静かに恒久的な方針になるのを防ぎます。
  • 定期的な見直し: 所有者が、周期的にオープンなウェイバーを見直し、新たな根拠とともに更新するか、作業が準拠するようになったら閉じるか、同じ例外が繰り返し起きるなら、それを標準そのものが間違っている証拠として扱って改訂します。

この最後の点が、「例外は規則を証明する」の核心です。一つの標準に対する絶え間ないウェイバーの流れは、規律の失敗ではありません。それはデータです。標準が誤って調整されていることを告げており、修正は、例外を認め続けることではなく、標準を進化させることです。

標準を、明確なオーナーシップを持つ生きた文書として扱う

すべての標準に、それを最新に保つ責任を持つ所有者(個人だけでなく役割)と、見直しの周期(少なくとも年1回)を与えます。誰でもプルリクエストやRFC(意見募集)、つまり採用前にフィードバックを求めて回覧される書面の提案を通じて、変更を提案できる軽量な経路を用意します。標準にバージョンを付け、明示的に非推奨とし、変更を告知します。決して改訂されない標準のカタログは、人々が選択的に引用し、ほとんど信頼しない民間伝承に朽ちます。

トレードオフ: 長所と短所

選択長所短所
多数の詳細な標準一貫性、容易なオンボーディング、監査への備え硬直。保守の負担。実践に先行しうる
少数の高水準な標準柔軟。維持が軽い不整合。チームごとの蒸し返しが増える
自動執行一貫、即時、疲れず、スケーラブル先行コスト。誤検知。意図に盲目
人によるレビュー執行意図とニュアンスを判断する遅く、一貫せず、大規模ではボトルネック
厳格、例外なし単純なメッセージ。操作できるものがない正当な仕事を妨げる。静かな不遵守を促す
統制された例外プロセス標準を信頼でき、人道的に保つガバナンス、記録、フォロースルーが必要

中心的な緊張は一貫性と柔軟性です。標準は変動を取り除くために存在し、例外プロセスは、本当に正当化される変動を認めるために存在します。硬直に寄りすぎれば、人々は標準を迂回します。緩さに寄りすぎれば、標準は何の意味も持ちません。例外プロセスは、確固とした線を守りつつ、現実についても正直でいられる圧力弁です。

チームで議論すべき問い

  1. あなたの規模に適した標準の数はいくつで、あなたの標準は硬直と不整合のどちらに向かって流れていますか。 カタログ自体がトレードオフです。多数の詳細な標準は、硬直と保守の負担という代償で、一貫性、容易なオンボーディング、監査への備えを買い、少数の高水準な標準は柔軟ですが、各チームに同じ問いを蒸し返させます。大企業や政府機関にとって、適切な規模は、本当に許容できる変動の量と、監査人とオンボーディングが固定しておく必要のある量によって決まります。証拠を持ち込んでください。有効な標準の数、昨年見直されたものの数、標準が決着させられたはずのことをチームが再び議論する頻度。実践に先行するカタログは民間伝承になり、薄すぎるものは各チームにコストを押し付けます。何が標準に値するかを意図して決め、もはや元を取っていないものを刈り込んでください。

  2. 標準の字面は自動的に通るのに意図が静かに破られているのはどこで、それをどう捉えますか。 自動化は一貫し、疲れず、意図に盲目です。つまり、リンターやポリシーチェックが緑のまま、本当の目標(健全な抽象化、賢明なトレードオフ、真にアクセシブルなページ)が見逃されうるのです。経験則は、確認できるものは自動化し、希少な人のレビューを判断に使うことで、難しいのは、どの標準の意図が、どのCIゲートにも表明できないかに合意することです。例を持ち込んでください。字面は満たすが目的を損なう標準です。たとえば、サービスが壊れているのに健全と報告するヘルスチェックのエンドポイントや、フォーマッターは通るが意味を曖昧にするコードです。規制された環境では、安全とセキュリティの統制で意図が最も重要で、緑のチェックマークが実際のリスクを隠しうるからです。どの標準が、意図を判断する人間のレビュアーを特別に保つかを決め、それらの標準を成果を軸に書き、機械とレビュアーが同じ的を狙うようにしてください。

  3. ウェイバーから標準へのフィードバックループを誰が所有し、繰り返される例外が、ルールの変更を迫るのはどの時点ですか。 一つの標準に対する絶え間ないウェイバーの流れはデータであって規律の欠如ではなく、誰かがそれを読み取り行動する責任を負わなければ、そのシグナルは無駄になります。相反する考慮は、標準を改訂することは実際の作業なので、その下にある誤って調整されたルールを直すより、ウェイバーに判を押し続けるほうが楽なままであることです。数字を持ち込んでください。どの標準が最も多くの例外を生み出すか、ウェイバーが実際に期限付きで周期的に見直されているか、いくつが静かに恒久的になったか。企業や政府の安全性が重要でセキュリティが重要な標準では、ウェイバーは補完的な統制、緩和策、受け入れたリスク、厳格な期限を記録しなければならず、さもなければ一時的な逸脱が、次の監査で表面化する、文書化されていない方針になります。オープンなウェイバーを見直す所有者を割り当て、繰り返される例外が標準の改訂を引き起こす閾値を設定し、恒久的な例外を、直すべき標準の欠陥として扱ってください。

  4. 正しい標準は作業の瞬間に現れますか。それとも誰も開かないフォルダに眠っていますか。 誰も見つけられない標準は、運によって執行されます。そして大規模では、不遵守のほとんどは反抗ではなく無知です。エンジニアはルールが存在することを知らなかったか、重要なときにそれを見つけられなかったのです。相反する考慮は労力です。プルリクエストのテンプレート、リンターのエラーメッセージ、サービスの雛形で標準を表に出すには、単一の中央サイトにはない実際の統合作業がかかるからです。発見可能性についての証拠を持ち込んでください。エンジニアが今日実際に標準をどう見つけるか、新しい採用者が自分のタスクを統治するアクセシビリティやセキュリティのルールを一分以内に見つけられるか、レビュアーが、作者がただ見ていなかった標準を引用する頻度。大企業や政府機関では、監査人はますます、標準が存在するかだけでなく、決定の時点で伝えられアクセス可能だったかを問うので、表に出すことを後付けではなく標準の一部として扱い、必要なときに人々がルールに到達できるかを測ってください。

  5. 有効な標準のそれぞれを誰が所有し、最後に見直されたのはいつで、静かに民間伝承に朽ちたものをどう見分けますか。 標準は静かに劣化します。もう使っていないフレームワークのために三年前に書かれたルールがまだカタログに載っており、選択的に引用され、ほとんど信頼されず、まだ正しい標準の信頼性まで引きずり下ろします。大きな組織では、オーナーシップのコストは見直しの周期そのものであり、障害や監査が、もはや現実に合わない標準を露呈するまでは、オーバーヘッドに感じられます。数字を議論に持ち込んでください。名前のある所有者(去った個人だけでなく役割)を持つ標準の数、昨年見直された数、正式に非推奨とされたものと単に古くなったものの数、最も多く、最も少なく引用されるもの。企業や政府では、監査人は各標準がバージョン管理され、日付があり、確かに最新であることを期待するので、見直しの最低周期に合意し、すべての標準に責任ある所有者を割り当て、残りへの信頼を損なう前に、元を取っていないものを廃止してください。

  6. ウェイバーを認める権限は、放棄される標準のリスクに実際に釣り合っていますか。 スタイルの逸脱とセキュリティ統制の逸脱は同じ決定ではありませんが、多くの組織は、両方を重量級のボード(正当な仕事を止める)に回すか、両方を一人のテックリードに通過させてしまう(リスクを受け入れる権限のない人が深刻なリスクを受け入れてしまう)かのどちらかです。緊張は、速度と説明責任です。承認の摩擦が多すぎれば静かな不遵守を促し、少なすぎれば重要な逸脱がチャットのスレッドで素通りします。標準とその承認権限者の対応表と、最近認められたウェイバーのサンプルを持ち込み、誰かが、対応するボード、補完的な統制、緩和策、記録されたリスクの受け入れなしに、安全性が重要な、あるいはセキュリティが重要な統制を放棄していないかを確認してください。企業や政府では、これは規制当局が直接精査する職務分掌の問題なので、標準の各クラスを、そのリスクに釣り合う名前のある権限者に結びつけ、リスクを受け入れる人が、その結果に対して本当に責任を負うようにしてください。

セクター別の視点

スタートアップ。 カタログを小さく保ち、その不在が実際に害をなすであろう少数のルール、たとえばフォーマッターの設定、ヘルスチェックの要件、キーボードで操作できるページだけを書き留め、それぞれをレビュー会議ではなくリンターやCIのチェックで執行します。ウェイバーのボードは完全に省きます。コード中の日付付きTODOとプルリクエストの一行のメモは、この規模では完全に良い期限付きの例外です。最も希少な資源はエンジニアリングの注意なので、まだ抱えていない問題のための標準を作る誘惑に抵抗してください。

小規模事業者。 専任の標準の所有者がおらず予算も厳しいので、標準は作るのではなく買ってください。UK GDSのサービススタンダード、OWASPのセキュリティガイダンス、お使いのフレームワークが推奨するリントルールなどの公開されたベースラインを採用し、ツールやホスト型CIにすでに組み込まれたチェックに頼ります。あなた固有の少数のことについては、現場のルールを一枚の短いページにまとめます。エンジニアリングを率いる人が、例外を期限付きでチケットに記録して認めるので、軽量なプロセスでも誠実さが保たれます。

大企業。 仕事は多数のチームにわたるガバナンスです。一つのカタログ、一つのテンプレート、すべての標準に根拠と例、そして機械的な大多数についてパイプラインを失敗させるpolicy-as-codeです。承認権限がリスクに釣り合うウェイバープロセスを運営し、すべての例外に期限を設け、周期的にオープンなウェイバーを見直し、繰り返されるウェイバーを、標準を変える必要があるシグナルとして掘り起こします。自動的に執行される標準の割合と、オープンなウェイバーの量と古さを測り、両方をガバナンス機能に報告して、標準が墓場ではなく管理されたシステムであり続けるようにします。

政府。 DHCWとGDSの伝統に倣ってエンジニアリング標準を公開し、それぞれを、サービス評価の前にチームが完了するチェックリストと組み合わせ、コンプライアンスが市民と監督機関に見えるようにします。名前のある上級責任者を、重大なウェイバーの権限者とし、すべての例外に、具体的な基準、補完的な統制または暫定的な緩和策、是正計画、厳格な期限を記録するよう求めます。調達と透明性の規則により、標準も逸脱も公的記録の一部となるので、監査可能性と追跡可能性を最初から設計要件として扱ってください。

事例

スタートアップ。 7人のスタートアップは、ちょうど三つの書面の標準(共有のフォーマッター設定、ヘルスチェックのエンドポイント要件、「すべての公開ページはキーボードで操作できなければならない」)を保ち、それぞれをレビュー会議ではなくリンターやCIのチェックで執行しています。あるエンジニアが、ヘルスチェックのルールを破る使い捨てのプロトタイプを出荷する必要があるとき、ウェイバーのボードはありません。彼女は、コードに日付付きのTODOを残し、プルリクエストに、なぜ、そしていつ直すかを書いた一行のメモを残します。それがスタートアップの規模での期限付きの例外であり、プロセスのオーバーヘッドなしに、正直で目に見えるものです。この三つのチェックは、コードレビューをスタイルではなく内容に向けさせることで、元を取っています。

大企業。 あるグローバル銀行は、約40の有効な標準からなる社内エンジニアリングハンドブックを維持しており、それぞれが一つのテンプレートで、根拠、例、リンクされた良い実践のチェックリストを備えています。約70%は自動的に執行されます。書式、依存関係のポリシー、必須のサービスメタデータ、そしてCIパイプラインを失敗させるpolicy-as-codeとして符号化されたセキュリティ統制です。決済チームは、義務づけられた暗号化機能にまだ対応していないデータベースで出荷する必要があります。リリースを止める代わりに、標準、補完的な統制(アプリケーション層の暗号化)、90日の期限を明記したウェイバーを申請します。セキュリティボードがそれを認め、記録します。90日後、見直しで、プラットフォームがその機能をネイティブに対応するようになったことがわかり、ウェイバーは閉じられます。標準は守られ、仕事は出荷され、逸脱は次の監査のために完全に追跡可能です。

政府。 DHCWとGDSのアプローチを手本にしたある国の保健機関は、エンジニアリング標準を公開し、それぞれをサービス評価の前にチームが完了するチェックリストと組み合わせています。WCAG 2.2 AAへのアクセシビリティは厳格な標準で、CIでの自動監査と手作業の評価で執行されます。あるレガシーな臨床システムは、患者の安全に関わる機能を危険にさらさずに、一つのアクセシビリティ基準をすぐには満たせません。チームは期限付きの例外を求めます。名前のある上級責任者がそれを認め、具体的な基準、暫定的な緩和策(支援付きアクセスの電話回線)、是正計画、6か月の期限を記録し、監督機関が求める、まさに追跡可能で見直し可能な証拠を作ります(4.6、10.4章)。

ビジネスケース: 動機、ROI、TCO

標準のコストは、それを書き、確認を自動化し、維持する時間です。見返りは、確認が走るたびに、そしてエンジニアが立ち止まって決着済みの問いを議論せずに済むたびに支払われます。標準は、繰り返される、分散した意思決定コストを、一度限りの策定コストに変えます。意思決定記録(1.6章)と同じ経済性ですが、標準は一つの過去の選択ではなく、数千の将来の事例を統治するため、増幅されます。

総所有コスト(TCO)、つまりシステムの構築、運用、保守の生涯コスト全体の面では、標準は最大の項目を下げます。オンボーディング(新しい採用者は一貫性を逆解析するのではなく継承する)、保守(統一されたコードは変更が安い)、保証(コンプライアンスが機械で確認でき、逸脱がすでに文書化されていれば、監査は安くなる)です。例外プロセスは、そのROIを主な脅威から守ります。標準が無視される民間伝承に朽ちることです。信頼できるウェイバープロセスは標準を信頼されたものに保ち、信頼された標準こそ、人々が実際に従うものです。これらを省くコストは、どのダッシュボードにも見えません。遅いオンボーディング、不均一な品質、監査指摘として現れ、新しいチームと退職のたびに積み重なります。

アンチパターンと落とし穴

  • 根拠のないルール: 誰も理解しない標準は、誰も正しく適用できず、正直に異議を唱えることもできません。
  • 願望的で確認できない標準: 「コードは保守しやすくあるべきだ」は価値観であって標準ではなく、執行も異議申し立てもできません。
  • 例外プロセスなし: 正当な仕事を妨げるか、静かな不遵守を許容するかという偽の選択を強います。
  • 恒久的な例外: 期限のないウェイバーが、静かに実際の、文書化されていない方針になります。
  • 記録のないウェイバー: 廊下やチャットのスレッドで認められた逸脱は、次の監査にも次のエンジニアにも見えません。
  • シグナルの無視: 標準を変える必要がある証拠として読む代わりに、同じ例外を繰り返し認めること。
  • 小言による執行: リンターが捉えるべきものをレビュアーが捉えることに頼り、判断を機械的なものに浪費すること。
  • 標準の墓場: 一度書かれ、誰にも所有されず、決して見直されず、選択的に引用され、少数にしか信頼されないカタログ。
  • 専門用語による門番: 読み手ではなく書き手のために書かれ、真似できる例のない標準。

成熟度モデル

  • レベル1(開始): 標準は上級エンジニアの頭の中の暗黙知で、反応的に適用されます。執行は場当たり的なコードレビューの小言で、逸脱は見えず、「ここでのやり方」はチームごと、誰がレビューしたかによって異なります。
  • レベル2(発展): 一部の標準が、一貫しない形式で散在する場所に書かれており、採用はチームごとに大きく異なります。執行はおもに手作業です。例外は非公式に、記録も期限もなく起こります。
  • レベル3(標準化): 単一のカタログ、一つのテンプレート、各標準の根拠と例、良い実践のチェックリストが、チーム間で一貫して適用されています。機械的な大多数について自動執行があります。名前のある承認者、記録された根拠、期限付きウェイバーを備えた、文書化された例外プロセスがあります。
  • レベル4(管理): 標準のシステムはベースラインに対して測定されます。自動的に執行される標準と人のレビューで執行される標準の割合、標準ごとのウェイバーの量、閉じるまでの時間、オープンのまま期限切れとなったウェイバーの数を追跡し、ガバナンス機能に報告します。承認権限はリスクに釣り合い、監査されます。見直しの周期と期限は善意ではなく証拠に基づいて徹底され、ウェイバー率が合意した閾値を超えた標準は、改訂のために印が付けられます。
  • レベル5(オーケストレーション): 標準は作業の瞬間に表に出され、policy-as-codeとフィットネス関数で執行されます。ウェイバーはシグナルとして掘り起こされ、繰り返される例外が標準を継続的に進化させ、実践が移るにつれてカタログが再配分されます。標準、チェックリスト、ウェイバーは、オンボーディング、デリバリー、監査にまたがって統合された、一つの適応する生きたシステムです。

議論のためのアイデア

  1. あなたの標準のうち、テスト可能なルールと明確な根拠の両方を述べられるものはどれで、実は単なる願望にすぎないものはどれですか。
  2. あなたの標準のうち、自動的に執行されるものと、レビュアーが気づくことで執行されるものの割合は。さらに十個をCIに移すには何が必要ですか。
  3. 今日、逸脱はどこで起きていて、あなたはそれに気づけますか。記録され期限が付いていますか、それとも静かですか。
  4. 最も安全性やセキュリティが重要な標準に対するウェイバーを認められるのは誰で、その権限はリスクに釣り合っていますか。
  5. 最もウェイバーされている標準を見てください。それは規律の問題ですか、それとも標準が単に間違っているのですか。
  6. 有効な標準のそれぞれが最後に見直されたのはいつで、誰が所有していますか。静かに民間伝承になったのはどれですか。

要点

  • エンジニアリング標準とは、成果として述べられ、根拠、例、確認方法を伴うルールです。確認できないなら、まだ標準ではありません。
  • 各標準に良い実践のチェックリストを組み合わせ、人々が自己検証できるようにします。公共部門のハンドブックのパターン(NHS Wales / DHCW、UK GDS)に従います。
  • 標準をバージョン管理に保存し、名前のある所有者と見直し日を付けて生きた状態に保ち、作業の瞬間に表に出します。
  • 確認できるものを自動化します。リンター、policy-as-code、フィットネス関数です。人によるレビューは判断のために取っておきます。
  • 逸脱を、文書化され期限付きの例外/ウェイバープロセスで統治します。名前のある承認者、記録された根拠、必須の期限、定期的な見直しです。
  • 繰り返される例外は、ウェイバーを認め続けるのではなく、標準を直すべきシグナルです。「例外は規則を証明する」。1.5章(ガバナンス)、1.6章(意思決定記録)、2.1章(コーディング標準)、12.2章(チェックリスト)、12.3章(テンプレート)を参照してください。

参考文献とさらなる読み物

  • UK Government Digital Service, Government Service Standard, Technology Code of Practice, and GOV.UK Service Manual.
  • NHS Digital / NHS England, Service Standard and engineering guidance.
  • Digital Health and Care Wales (DHCW) / NHS Wales, published engineering standards and good-practice checklists.
  • Scott Bradner, RFC 2119: Key Words for Use in RFCs to Indicate Requirement Levels (IETF, 1997).
  • World Wide Web Consortium (W3C), Web Content Accessibility Guidelines (WCAG) 2.2.
  • Neal Ford, Rebecca Parsons, and Patrick Kua, Building Evolutionary Architectures (fitness functions as automated governance).
  • Torin Sandall et al., Open Policy Agent documentation (policy-as-code).
  • GitLab, The GitLab Handbook: a public example of living, version-controlled organizational standards.
  • Google, Software Engineering at Google (Winters, Manshreck, Wright): standards, readability, and automated enforcement at scale.
  • Atul Gawande, The Checklist Manifesto: the case for checklists as professional practice.