279 Views
August 27, 26
スライド概要
ssmonline #53 手順書ナイト 登壇資料
ソフトウェア技術者 / インフラ技術者 / セキュリティ技術者
手順書の成立条件 実施者・前提知識・判断条件を引き継ぎ事例から考える ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27
自己紹介 Keiichi Tanaka ( @silpheed_kt ) • ソフトウェア技術者 • セキュリティ会社勤務 • 内製システムの開発・運用・保守 • 好きなもの • DTM / お酒(日本酒、ビール) / Minecraft / ねこ ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 1
はじめに • 本発表は個人の見解であり、 所属組織の見解を示すものではありません • 本発表に含まれる事例はフィクションであり、 実在の組織・人物・システムとは関係ありません • こわくないです ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 2
もくじ 1. 背景 2. 発生した事象 3. 手順書の想定実施者 4. 調査方針 5. 調査結果:成功率25% 6. 調査結果:環境状態の未定義 7. 調査結果:読み替え条件の未定義 8. 手順書に不足していた情報 9. 手順書に全部書くべきか 10. まとめ ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 3
背景 • 対象システムは、開発チームと運用チームに分かれていた • 運用側は、対象システム固有の設計・構成を十分に知らなかった • 既存ドキュメントも十分ではなかった • その状態で、運用側への引き継ぎが求められていた 出典:HSEは、手順書の詳細度は「利用者、作業内容、失敗時の影響」に合わせるべきとしている。 https://www.hse.gov.uk/humanfactors/topics/procedures.htm?utm_source=chatgpt.com ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 4
発生した事象 • 引き継がれたテスト手順書を実施した • 手順書どおりに実施しても、期待結果にならなかった • 「〇〇の場合は読み替える」など、判断が必要な箇所があった • 実施者が推論しても、結果は安定しなかった • 自分でも確認・実施したが、同様に成功しなかった ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 5
手順書の想定実施者 • 依頼した粒度は「Linuxの基本操作ができる運用担当者」 • 対象システム固有の設計・内部動作は知らない前提 • 作業結果に影響するシステム固有情報は手順書に必要 • 実施者が知らない情報が手順書の外に置かれていた 出典:NASAは、テスト実施者がソフトウェア設計の詳細を理解していると仮定してはいけないとしている。 3.4 Pitfalls and Issues https://swehb.nasa.gov/spaces/SWEHBVD/pages/102695675/5.14+-+Test+-+Software+Test+Procedures ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 6
調査方針 • 手順書だけでは原因を特定できなかったため、実施時の状況を確認 した • システム構成 • コンフィグ • ソースコード • 実行ログ • サービス状態 出典:出典:NASAは、ソフトウェアの動作を推測してはいけないとしている。 3.4 Pitfalls and Issues https://swehb.nasa.gov/spaces/SWEHBVD/pages/102695675/5.14+-+Test+-+Software+Test+Procedures ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 7
調査結果:成功率25% • テストデータ生成で、例えば、パターン1~8のデータを「ランダムに」出 力していた • テスト成功条件は 、例えば、パターン1 または 2 • 設定を固定しない場合、成功確率は 2 / 8 = 25% (バリデーションではじかれ、失敗する) • テスト前に設定値を一意に固定する必要があった • その設定手順は手順書に書かれていなかった 出典:NASAは、テスト手順には前提条件、準備手順、入力・出力、期待結果、合否判定基準を含めるとしている。 1. Minimum Recommended Content https://swehb.nasa.gov/spaces/SWEHBVD/pages/102695675/5.14+-+Test+-+Software+Test+Procedures ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 8
調査結果:環境状態の未定義 • テストに必要なサービス起動状態が書かれていなかった • 検証環境のため、他作業で状態が変わる可能性があった • テスト前に環境状態を確認・復旧する必要があった • 手順書には確認手順も復旧手順も書かれていなかった 出典:NASAは、テストに必要なシステム状態・データ状態を記録または設定することを示している。 3.2 Writing Test Procedures / 3.5 Best Practices https://swehb.nasa.gov/spaces/SWEHBVD/pages/102695675/5.14+-+Test+-+Software+Test+Procedures ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 9
調査結果:読み替え条件の未定義 • 「〇〇の場合は読み替える」という記載があった • 何を見れば「〇〇の場合」なのかが不明だった • どう読み替えるのが正しいのかが不明だった • 判断基準が業務知識やシステム知識に依存していた 出典:FAAは、手順に分岐がある場合、条件と分岐先を明示することを重視している。 Human Factors Guide Chapter 6 https://www.faa.gov/about/initiatives/maintenance_hf ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 10
手順書に不足していた情報 欠けていた情報 必要だった情報 テスト開始前の状態 前提条件・準備手順 サービスの起動状態 必要なシステム状態 テスト結果を左右する設定値 テスト前の設定値 正常時に得られる結果 期待結果 成功・失敗の判断方法 合否判定基準 「読み替える」際の判断基準 分岐条件と実施内容 出典:NASAは、テスト手順に前提条件、準備手順、期待結果、合否判定基準、再実行に必要な情報を含め、必要なシステム状 態・データ状態を記録または設定するとしている。 Minimum Recommended Content / 3.2 Writing Test Procedures https://swehb.nasa.gov/spaces/SWEHBVD/pages/102695675/5.14+ -+Test+-+Software+Test+Procedures FAAは、手順に選択や分岐がある場合、条件と分岐先を明示するとしている。FAA Human Factors Guide for Aviation Maintenance and Inspection, Chapter 6 https://www.faa.gov/about/initiatives/maintenance_hf ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 11
にゃーん 西馬込にて撮影 ssmonline #53 手順書にゃーん / Keiichi Tanaka (@silpheed_kt) 2026/8/27 12
手順書に全部書くべきか • すべてを手順書に書くことはできない • 例えば、Linuxの基本操作まで毎回説明する必要はない • ただし、作業結果に影響する前提条件は省略できない • どこまでを前提知識とし、どこからを手順書に書くかを決める必要 がある 出典:HSEは、手順書は作業者の能力・知識・経験を置き換えるものではないとしている。 https://www.hse.gov.uk/humanfactors/topics/procedures.htm ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 13
まとめ(1/3) • 手順書に必要なのは、 想定した実施者が同じ判断と結果に到達できること • 手順書では、想定する実施者を明確にする • 前提知識だけでは判断できない条件や判断基準は手順書に記載する • 想定する前提知識と手順書に記載する情報の境界を明確にする ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 14
まとめ(2/3) • 引き継ぎ時に、手順書が想定する実施者を明確にする • その実施者に求める前提知識を明確にする • 前提知識だけでは判断できない条件や判断基準は手順書に記載する • 「前提知識」と「手順書に記載する範囲」が、引き継ぐ側・受け取 る側で共有されている必要がある ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 15
まとめ(3/3) • 「誰でもできる」ではなく、 「誰なら、どの前提で、同じ結果に到達できるか」を定義する • 引き継ぎとして成立するには、前提と記載範囲について双方の認識 が一致している必要がある ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 16
ご清聴いただきありがとうございました ssmonline #53 手順書ナイト / Keiichi Tanaka (@silpheed_kt) 2026/8/27 17