情報システム学会 メールマガジン 2022.2.25 No.16-11
連載 発注者からみた官公庁情報システムの現状と課題
第 30 回 官公庁と DX（13）COCOA 失敗の本質

連載 発注者からみた官公庁情報システムの現状と課題
第 30 回 官公庁と DX（13）COCOA 失敗の本質
神奈川県庁 岩崎 和隆
１ はじめに
前回のメルマガ記事※１では、厚生労働省が COVID-19 接触確認アプリ「COCOA」（以下「COCOA」と言います。
）の不具合について、プログラミングの視点以外の主要な視点から論じました。今回は、改めて発注者視点で COCOA の失敗の本質を論じることとします。
２ 事案の概要
本項では、特に断りのない限り、事実関係は、厚生労働省の報告書（以下「厚生労働省報告書」と言います。
）※２によります。
本事案の経過は、次の表 1 のとおりです。なお、表 1 と表 2 は前回のメルマガ記事のものを再掲しています。

1 / 7

情報システム学会 メールマガジン 2022.2.25 No.16-11
連載 発注者からみた官公庁情報システムの現状と課題
第 30 回 官公庁と DX（13）COCOA 失敗の本質

表 1 COCOA 経過項番

日付

１2020.5.25

２2020.5.26

出来事
首相が、個人情報は全く取得しない、安心して使えるアプリを、来月中旬を目処に導入する予定である旨を発表
仕様書※３の公表
HER-SYS の開発・運用保守に係る契約の追加契約により受注者が３

2020.5.27

COCOA の開発及び同年 7 月 31 日までの運用保守を受注（その後、契約が 2021 年 3 月 31 日まで延長されている。）

４５６2020.6.19
2020.6.3～
9.9
2020.9.24

バージョン 1.1.0 配付
この間、iOS 版及び Android 版 1.1.1～1.1.3 を配付
iOS 版バージョン 1.1.4 を配付
Android 版バージョン 1.1.4 を配付

７2020.9.28（厚生労働省報告書はこのバージョンの不具合を調査目的としている。
）８９2020.10.12
2020.11.5～12.15

102020.11.25

112020.12.4

テスト環境整備完了
バージョン 1.1.5～1.2.1 を配付
GitHub 上で Android 版における「接触があっても検知・通知が行われない不具合」について指摘される
GitHub 上の当該指摘について、受注者の下請け事業者が検討リス
トに追加

2021.1.8～

SNS・報道を通じてアプリ通知に関わる情報が増加している状況を25

受け、受注者においてテストを実施

13

2021.1.25

受注者が厚生労働省に不具合の可能性を報告

142021.1.27

受注者が厚生労働省に不具合の内容を報告

152021.2.18

12バージョン 1.2.2 を配付し Android 版でバージョン 1.1.4 以降に生じていた、陽性者と濃厚接触があっても通知されない不具合を解消（厚生労働省報告書をもとに私が作表）
仕様書には、テストに関する事項として「短時間開発であることから、開発者のテストに加え、ベータ版でのテストも検討する。（ベータ版：検証であることの同意を得た利用者に試行検証してもらうための最終試行版アプリ）」とあります。
Android 端末において陽性者との濃厚接触者に対し接触通知が行われなくなったバージョン 1.1.4 及びそれより前のバージョン 1.1.3 以前では、次の表 2 の不具合がありました。
2 / 7

情報システム学会 メールマガジン 2022.2.25 No.16-11
連載 発注者からみた官公庁情報システムの現状と課題
第 30 回 官公庁と DX（13）COCOA 失敗の本質

表 2 バージョン別 OS 別不具合
項番
１

バージョン
あるべき姿

２
３
４５

OS

iOS
1.1.3 以前

1.1.4 以降Android

プッシュ通知アプリ内表示陽性者との「濃厚接触」のみが通知、表示される〇

×（過剰通知。陽性者と×（過剰通知。陽性者と「単なる接触」があっの「全ての接触」が表ただけで通知される）示される）

iOS〇

Android×（通知皆無。通知、表示が一切表示されない）

注 〇は、あるべき姿と同じもの、×はあるべき姿と異なるもの。
（厚生労働省報告書をもとに私が作表）
３ 失敗の本質－直接原因
COCOA 失敗の直接原因として、まず、ソフトウェア工学の知見の無視があります。前回のメルマガ記事で採り上げたテスト環境の欠如、そして、当学会の渋谷照夫先生が指摘※４している、デバッグ作業の標準であるログ送信機能がないことです。また、渋谷先生は「机上レビュー不足で、仕様書、コーディングへの第三者／有識者レビューがない」ことを指摘されています。厚生労働省報告書ではテスト環境とログ送信機能の欠如、GitHub の指摘の放置以外の、品質管理方法に係る事実関係についてほとんど記載されていないので、この報告書から机上レビュー不足を判断するのは難しいのですが、「CIO 補佐官 B は、実機という意味では事業者側もテストしていたが、HER-SYS の機能を模擬するテスト環境がなく、陽性登録をして接触の検知をするという一連の流れのテストはできない状況だった旨、（中略）その中で、自身もソースコードを一行一行チェックし、変更想定範囲に対しての実装は正しいということを確認した上で、ある意味リスクを取って決定した（以下略）」とあることから、机上レビュー不足が示唆されていると私は考えます。
そして、前回のメルマガ記事で、信頼性工学の知見※５を参照して、スイスチーズモデルによる多層防護を説明しました。厚生労働省報告書によると、API が、感染リスクパラメーターが「0」のときにリスク値が「7」を出力することを想定してプログラムを作成した
ところ、iOS では「7」であったが、Android では「1」が出力されたとのことです。しかし、API に限らずすべてのインターフェース仕様で仕様提供者と仕様にあわせてプログラムを作成する者との間において認識の齟齬が生じることは、十分想定できます。
インターフェースでは、記述されている仕様が誤っている、分かりづらいなど、コミュニケーションの発信者側の過失と、読み手の誤読という受信者側の過失があります。双方に過失がある場合もあります。本事案は、GitHub で指摘があったことから、過失割合は不明ですが、受信者側、すなわち受注者に全面的ないし一定程度の過失があったと考えられます。一般論としては、仮に発信者側に過失があると、いくら机上レビューしても摘出出3 / 7情報システム学会 メールマガジン 2022.2.25 No.16-11
連載 発注者からみた官公庁情報システムの現状と課題
第 30 回 官公庁と DX（13）COCOA 失敗の本質

来ない不具合となります。しかし、実機を用いた動作検証や実データに準じたサンプルデータなどでテストすれば、発信者側の過失であっても、摘出できることが多いです。
そのため、情報システム開発ではインターフェース部分について、金融機関に渡す振込データのような実績が豊富で仕様の信頼性の高いものを除き、そのような検証により、インターフェース仕様を誤読していないか、また、そもそも提供されたインターフェース仕様が間違っていないかを確認する必要があります。
それから、厚生労働省報告書によると、調査の目的を Android 版バージョン 1.1.4 の不具合としていますが、そもそも、iOS 版、Android 版ともに、バージョン 1.1.0 から 1.1.3までの 4 つのバージョンについても、テスト環境欠如のままアプリが配付され、表 2 の不具合が発生していました。そして、バージョン 1.1.4 の配付を急いだ理由がバージョン1.1.3 の不具合であることから、受注者及び厚生労働省はバージョン 1.1.3 の不具合を把握していたことが分かります。そうであるなら、バージョン 1.1.3 の不具合がなぜ発生したのか、それに基づき品質管理のために何をすべきかをバージョン 1.1.4 以降の配付前に検討する必要があったと私は考えます。私は、バージョン 1.1.3 の不具合からテスト環境欠如などにより品質が担保できていないという教訓を引き出せなかったことに問題があると考えます。
また、これも信頼性工学の知見ですが、テスト環境欠如などアプリの品質を担保できない状況でアプリの配付を繰り返せば、重大な事故につながりかねません。そして、COCOA
では実際に重大な不具合が生じました。Android 版バージョン 1.1.4 で重大な事故が起きましたが、その原因は、テスト環境の欠如などであり、iOS 版及び Android 版のバージョン 1.1.0 配付のときからその原因は継続して存在していました。
以上をまとめると、テスト環境の欠如など、ソフトウェア工学の知見を無視してアプリの品質を担保せず、信頼性工学の知見を無視して品質を担保出来ない状態でアプリを何度も配付したことが、COCOA 不具合の失敗の本質のうち直接原因と私は考えます。
そして、前回のメルマガ記事の繰り返しになりますが、このような状況であることを官僚が政治家に報告し、アプリの利用開始の延期や、利用開始後であれば利用の一時中止をすべきであったと私は考えます。
４ 失敗の本質－根源の検討
COCOA 不具合では、発注者は、バージョン 1.1.0 から 1.1.3 までの不具合から教訓を引き出すことに失敗し、そして、テスト環境の欠如などのリスクについても正しく評価できていませんでした。
厚生労働省報告書では、組織論として職員のスキル不足を挙げています。しかし、これは皮相的な分析と私は考えます。
私が初めて官公庁で情報システムを担当してから 30 年近くになります。その間、メインフレームから、クライアントサーバシステムへ、次いで Web システムへと変化しまし4 / 7情報システム学会 メールマガジン 2022.2.25 No.16-11
連載 発注者からみた官公庁情報システムの現状と課題
第 30 回 官公庁と DX（13）COCOA 失敗の本質

た。ポケベルはなくなり、携帯電話も一定数がスマートフォンに置き換わりました。官民ともに IT でできることが増えたため、官公庁においても、国民や住民へのサービス提供において、IT をフル活用することが求められるようになりました。iPhone 発売が 2007 年ですから、それ以前でしたら、官公庁の事業として、スマートフォンを利用した接触確認アプリやそれに類似したものを国民や住民に提供するということは、あり得ないことでした。
我が国の歴史では、このような技術の進歩について行けず、文字通り敗戦を経験しています。第二次世界大戦のことです。
旧日本軍では、陸軍は白兵銃剣主義から、海軍は大艦巨砲主義から抜け出せないまま第二次世界大戦に至りました。米軍は陸軍の火力重視など技術の進歩にあわせた戦い方をしました。もともと、彼此に国力に差があり、我が国が最新の技術を導入し、優れた組織を有していても、勝てたとは考えづらいところです。しかし、旧日本軍の組織論的研究である「失敗の本質」※６では旧日本軍の作戦をもとに、旧日本軍が組織の環境適応に失敗していたことを指摘しています。
この教訓は、今の官公庁にもあてはまると私は考えます。
組織学習における学習棄却に失敗しています。学習棄却とは、過去に成功をもたらしたが、今となっては通用しない知識を捨て去り、今、成功するために必要な知識を学び直すということです。学習棄却には、個人のレベルと組織のレベルがあります。個人のレベル
では、学び直しです。組織のレベルでは、個人の学び直しとともに、今の成功に必要なスキルを有する人材の登用や抜擢があります。私は、必要なスキルを有する人材の登用や抜擢が、個人の学び直しを促すと考えます。
もっとも、すべての行政サービスが IT で成り立っている訳ではありません。たとえば教育では、少なくとも現時点では、教員のスキルに依存している部分が極めて大きいと考えます。ただ、今後、行政サービスにおいてますます IT が重要になることを考慮すると、組織として急速に学習棄却を進めることが必要と考えます。
職員のスキル不足という課題の捉え方は、間違いとまでは申しませんが、皮相的すぎて本質を捉え切れていないと私は考えます。
５ 厚生労働省報告書の品質
前回のメルガマ記事で事実認定の欠如を指摘しましたが、失敗の本質との関係で、さらに、いくつか調査不足を指摘したいと考えております。
Android 版バージョン 1.1.4 より前の、iOS 版及び Android 版のバージョン 1.1.0 から1.1.3 においても不具合があり、不具合があるままアプリが配付された要因を分析すべきです。また、ソフトウェアの品質はテストやログ送信機能、GitHub だけでなく、机上レビューによっても担保されるものですから、机上レビューの状況についても分析する必要があります。
5 / 7

情報システム学会 メールマガジン 2022.2.25 No.16-11
連載 発注者からみた官公庁情報システムの現状と課題
第 30 回 官公庁と DX（13）COCOA 失敗の本質

６ まとめ
COCOA 失敗の直接原因として、まず、ソフトウェア工学の知見の無視が挙げられます。
テスト環境の欠如、デバッグ作業の標準であるログ送信機能がないことです。また、厚生労働省報告書で事実関係が記載されていないので、はっきりとしないのですが、机上レビ
ュー不足も疑われます。
次に、バージョン 1.1.0 から 1.1.3 の不具合についてテスト環境欠如などにより品質が担保できていないという教訓を引き出せずに、バージョン 1.1.3 の不具合解消を急ぐあまり Android 版バージョン 1.1.4 の配付により、陽性者との「濃厚接触」のみが通知、表示されるべきところ、一切通知、表示がされないという事故を引き起こしています。
以上をまとめると、テスト環境の欠如など、ソフトウェア工学の知見を無視してアプリの品質を担保せず、信頼性工学の知見を無視して品質を担保出来ない状態でアプリを何度も配付したことが、COCOA 不具合の失敗の本質のうち直接原因と私は考えます。
そして、このような状況であることを官僚が政治家に報告し、アプリの利用開始の延期や、利用開始後であれば利用の一時中止をすべきであったと私は考えます。
失敗の根源としては、職員のスキル不足という課題の捉え方は、間違いとまでは申しませんが、皮相的すぎて本質を捉え切れていないと私は考えます。組織学習という視点において、官公庁が IT の進歩という環境に適応した学習棄却をできていないことが失敗の本質と考えます。
７ おわりに本稿の内容は、神奈川県の見解でなく、私の知見と記憶に基づくものです。
本稿へのご助言、ご異論、ご感想、ご質問や、今後取り上げるテーマのご要望をくだされば、大変幸いです。特に、ご異論やご助言は、私の考えをブラッシュアップしてくださる、貴重なものです。心より、お待ち申し上げております。

※１）岩崎和隆, “官公庁と DX（12）COCOA 不具合問題の考察”,
https://www.issj.net/mm/mm16/10/mm1610-gk-gk.pdf 参照 2022-2-13, 情報システム学会メールマガジン, No.16-10, 2022.
※２）COCOA 不具合調査・再発防止策検討チーム, “接触確認アプリ「COCOA」の不具合の発生経緯の調査と再発防止の検討について”,
https://www.mhlw.go.jp/content/000769774.pdf 参照 2022-2-13, 2021.

6 / 7情報システム学会 メールマガジン 2022.2.25 No.16-11連載 発注者からみた官公庁情報システムの現状と課題
第 30 回 官公庁と DX（13）COCOA 失敗の本質※３）新型コロナウイルス感染症対策テックチーム, “接触確認アプリ及び関連システム仕様書”,
https://cio.go.jp/sites/default/files/uploads/documents/techteam_20200526_01.pdf 参照
2022-2-13, 2020.
※４）渋谷照夫, “当たり前の情報システム開発、運用プロセス標準の再徹底”,
https://www.issj.net/mm/mm16/04/mm1604-kk-kk.pdf 参照 2022-2-13, 情報システム
学会メールマガジン, No.16-04, 2021.
※５）James Reason 原著, 塩見弘 監訳, 高野研一, 佐相邦英 訳, “組織事故（邦訳）”,
日科技連出版社, 1999.
※６）戸部良一, 寺本義也, 鎌田伸一, 杉之尾孝生, 村井友秀, 野中郁次郎, “失敗の本質”,
中央公論新社, 1991.

7 / 7