カテゴリー
キーワード

GovTech東京 共創MeetUp -新型コロナウイルス感染症対策サイトを振り返る- セッション1「数字で振り返る対策サイト」

2020年3月3日、東京都内の新型コロナウイルス感染症に関する最新の感染動向を分かりやすく表現したサイト「東京都 新型コロナウイルス感染症対策サイト」(以下、対策サイト)が公開された。同サイトは、全国の自治体やコミュニティと地域課題解決に取り組む一般社団法人コード・フォー・ジャパンが開発し、同サイトのソースコードはオープンソースとして公開され、自治体や有志の手により都道府県市区町村版 がつくられていった。

この取り組みは、行政とシビックテックが共創した象徴的な事例として広く知られるところとなった。東京都は、ここで得た知見や経験を生かし、区市町村を含めた東京全体のDX推進を図る目的で「一般財団法人GovTech東京」を2023年7月24日に設立、9月よりテックカルチャーと行政カルチャーをフラットに融合させながら、行政課題の解決に資する新たなデジタルサービスの創出に取り組んでいる。

11月13日には、対策サイトの誕生によって何が変わり、何が変わらなかったのか。何を未来へ受け継いでいくべきかについて、コロナ禍の3年間を振り返り、次の官民共創実現に向けたディスカッションが行われた。その内容をリポートする。

         

セッション1「数字で振り返る対策サイト」対策サイトに関わったメンバーが、それぞれこの3年間で印象に残った「数字」について語る

─パネリスト(左から)─
新田 隼也 氏(東京都職員)
今村 かずき 氏(元Code for Japan理事、インフォ・ラウンジ)
関 治之氏 氏(Code for Japan代表理事)
清水 直哉 氏(元東京都職員)
─モデレーター─
陣内 一樹 氏(Code for Japan副代表理事)
*Code for Japanは一般社団法人コード・フォー・ジャパンを指す(以下同)。同法人はIT技術を活用し、地域課題の解決を目指す非営利団体

モデレーター:陣内 一樹 氏(Code for Japan副代表理事)

陣内一樹 氏(以下、陣内): セッション1のモデレーターを務める、一般社団法人コード・フォー・ジャパン 副代表理事の陣内です。4名の登壇者の皆さんの自己紹介から始めたいと思います。

関 治之 氏(以下、関):一般社団法人コード・フォー・ジャパンで代表理事を務めております。対策サイトに関しては、初期から関わらせていただきました。今回は、特に当初の様子についていろいろとご紹介できると思います。

新田隼也 氏(以下、新田):東京都の政策企画局に在籍しています。対策サイトの東京都側の「中の人」として、3年間にわたり管理の仕事をしておりました。最初の1カ月と、最後の2カ月は関わっていませんでしたが、東京都側としてお話させていただきます。

清水直哉 氏(以下、清水):東京都デジタルサービス局の元職員です。対策サイトには、企画段階から関わっておりました。

今村かずき 氏(以下、今村):当時Code for Japanの肩書きで、GitHubリポジトリのメンテナーをしていました。新田さんとは、3年間毎日のようにやりとりしていたのですが、実際にお会いするのは今日が初めてです。

* GitHub:ソフトウエア開発のプラットフォーム
*リポジトリ:コードやファイルのリビジョン履歴を格納できる場所

陣内:たしかに今日、会場で「初めまして」が多かったのが印象的でした。このメンバーではこれまで、対策サイトに関連して数え切れないくらいの取材を受けてきましたが、今回は取材では触れられなかった話も出てくるかと思います。まず新田さん、次の図をご説明いただけますか。

新田:これは、対策サイトのメインのコンテンツといえる「(1日の新規)陽性者数の推移」をグラフにしたものです。オープンデータから拾ってきた数値を使用しています。一般的には第8波まであったといわれていて、8つの波(山)があるグラフになっています。2022年以降の数が膨大になったことで、最初の第1、2、3波は、とても小さくなっています。次のスライドは、対策サイトの開始時と終了時、それから最大値を明記したものです。

最大値は、4万人を超えています。対策サイトが開設された2020年3月3日の陽性者数は、実は「1」でした。そして2023年5月8日に、「1331」という数字で更新を終えています。1日に1人、2人から、1日4万人を超えるまで状況が大きく変化していったというのが、非常に特徴的だったと思います。次に、アクセス数の推移、日別のユーザー数を見てみましょう。

こちらも波がありますが、陽性者数の推移とは異なり、始めが大きくて、後半になるほど減っていったことが見てとれます。開設翌日の2020年3月4日は約8万6000人、ゴールデンウイーク明けにピークの約56万人に到達し、そこからいくつか波を経て、最後でも1日1万5000人のユーザーが訪問しています。これは、行政のサイトとしては、かなり多い数字だと思います。さらに、これをさっきのグラフと重ね合わせると、「波がある程度そろう」ことが分かります。

さらにこの図からは、アクセス数の方が陽性者数よりも波が少し早く現れていることが分かります。ニュースが感染者増加の兆しを伝えると、皆さんがサイトに確認しに訪れるため、アクセス数が(陽性者数の増加より先に)増加。ピークアウトすると、皆さんも安心してサイトに来なくなるので、ピークの頃にはアクセスが減り始める傾向が見てとれます。

第1波、第2波のときのアクセス数が多い理由は、そもそも感染症としての特性が分かっていなかったこともあり、大きな不安の中で情報を求めてサイトにアクセスしていたのだと思います。2年、3年と経過し、(感染症としての特性が分かり)慣れてくると、アクセス数は減っています。

新田 隼也 氏(東京都職員)

陣内:ありがとうございました。アクセス数は、今まで出ていなかった数字ですね。経緯を一覧して見ることもなかったと思います。続いて、清水さんお願いします。

清水 直哉 氏(元東京都職員)

清水:下図が対策サイトをリリースした初日のグラフです。新田さんの説明にもありましたが、2020年3月3日の夜にリリースして、感染者数は3日1人、4日は4人、これぐらいの数字だったということです。(サイトの)検討自体が始まった2月中頃の感染者数は、週に1、2人でした。その頃から、東京都としてコロナウイルスで皆さんが不安にならないよう、効果的な情報発信をどうすればいいのかを考えていました。

陣内:立ち上げ時、中心にいた関さんにお聞きしますが、なぜこのようなサイトになったのでしょうか。

関:東京都副知事の宮坂(学)さんからの、当初のリクワイアメント(要求)が「数値を中心に、事実情報をしっかり伝える」といったものでした。行政の情報提供は、PDFダウンロードの形式が多く、見たい情報にすぐにたどり着けない。そこで、「数値中心の情報なら、いきなりグラフが見られるようにしよう」ということが初期に決まりました。

関 治之氏 氏(一般社団法人コード・フォー・ジャパン代表理事)

次にデザインですが、当時、感染症の患者の状況を示すサイトは、背景が黒で文字には赤や黄色を使うなど、危機感をあおるようなデザインが多かったと思います。今回の対策サイトは、そうではなく、安心感が伝わるものにしたいという考えがあり、緑色ベースのデザインになりました。グラフも最初は4つからスタートしましたが、見せたい情報はどんどん変わっていくことを想定し、カード型で増やせるサイト構成になりました。デザイナーの宇野さんにかなりアイデアを出していただき、このようなサイトになりました。

陣内:ありがとうございます。対策サイトの特徴である「オープンデータ」「オープンソース」になった経緯や理由について、清水さん、ご説明いただけますか。

清水:新型コロナウイルスは当然ながら、東京都だけの問題ではありません。当初から他の自治体でも(東京都がつくる)この仕組みが活用できるようにしようと考えていて、オープンソースすることを、宮坂さんや関さんとも話していました。関さんには、初期の段階からGitHubで進めていただいていました。

リリースから1、2週間後にはデータもきれいに整え、オープンデータとして公開しました。フォーマットについても、下山(紗代子)さん(デジタル庁データスペシャリスト)と一緒に、最初から標準フォーマットを用意し、他の自治体でもデータフォーマットをそろえて使ってもらえるように想定し、組み立てていきました。最初から皆さんが使いやすいようにすることを意識していました。

陣内:その後、ものすごく多くのコントリビュートがありましたが狙いどおりでしたか。

関:オープンソースにするにしても、単にソースコードをオープンにするのではなく、イシューやプルリクエストといった参加型の機能を公開しています。「Readme」をしっかりと用意してから公開したので、「狙っていた」ということになります。

*Readme:ソフトウエアを配布する際の添付文書

陣内:今村さんが関わったタイミングでは、開発の状況はどのような感じだったのでしょうか。

今村:私が関わりだしたのは、かなり初期、0期生がいるとしたら私は0.5期生くらいのタイミングです。時間に際限なく純粋にエンジニアが精力的に取り組んでいた感じです。

今村 かずき 氏(元Code for Japan理事、インフォ・ラウンジ)

陣内:そのとき、開発の優先順位は、誰がどのように決めていたのでしょうか。

関:東京都の「こういうことをやりたい」というのが、仕様としては最優先です。しかし、例えばアクセシビリティなどについては、仕様書に全部は書かれていないですよね。サイトの改善的な部分は、外からアイデアがどんどん届き、それを、優先順位を相談しながらどのリリースで当てはめるか決めていきました。

陣内:清水さん、東京都の中では開発をどう進めていくか、優先順位づけはありましたか。

清水:やはり優先したのは、「東京都としてどういう数字を見せたいか」です。また、初期の段階では出せる(公表できる)データが限られており、リクエストがあってもデータを出せない状況がありました。最初は4つのデータからでしたが、3月や4月には、2日に1つくらいのペースでグラフが増えていったと思います。通常ではあり得ない勢いで、どんどん開発していった印象です。

今村:3月には、関さんが毎朝5時くらいからプルリクエストのマージをやっていましたね。

関:あのときが一番自分のGitHubでの草が生えた(コントリビューションが増えた)時期です。

今村:関さんが「やっと(イシューの)数が100を切った」とつぶやいているのを見ていました。

陣内:ありがとうございます。ではスライドに戻り、次の図について新田さんお願いします。

新田:「新型コロナウイルス陽性患者発表詳細」というオープンデータがあります。「全数届出」を最初に実施したときは、一人一人に属性データがありました。名前は出ていませんが、こういう人がいて年代はいくつで、というデータがCSVの1行になっていました。これが最終的に、314万7981行になりました。私も知らなかったのですが、ExcelではCSVは104万行までしか開けないため、2022年に104万行を超えたときに、電話がかかってきて「Excelで開けません」と言われました。CSVとしては正しくデータが入っていて、単にアプリケーションとして開けないだけでしたが……。

(このアクシデントを別の視点で捉えると)オープンデータをExcelで毎日開き、そのデータを使って自分たちで考えてみようという人がいて、そして開けないと電話をかけてきてくれたことが、このサイトのすごいところだと思います。オープンデータの価値を感じます。オープンデータのカタログサイトでも、ずっとかなり上位にありました。

ただ、CSVとして全部そろっていないとデータとして使えない人がいるため、100万行未満に分けた分割版と、一括版に分けてつくりました。それでも、1日4万件出てくると、分割してもまたいつ100万件になるか予想できないので、90万件ぐらいのところで今村さんに「そろそろ分割の準備してください」って声をかけていました。

今村:バックエンドの担当者がピリピリしていましたね。

新田:分割してもらったら、その瞬間にオープンデータの公開担当者に、リンクの追加を指示する必要もありましたから。その後、2022年9月26日に全数届出が終わり、このデータは役目を終えました。このデータはフィックスしたのだなと、ほっとしました。

関:最初のアーキテクチャを考えるときに、このような件数が出ることを想定していなかったですからね。途中でグラフも桁が足りなくなるなど、データ以外のところでもさまざまな変更・調整の必要性が出てきました。

清水:当初は、陽性者のグラフも500を上限にしていました。それが一気に、最初の月で200ぐらいまできてしまい、その辺も苦労しました。

今村:最初は1カ月ぐらいで、コロナウイルスも食い止められると思っていました。

清水:ドメインが「StopCOVID-19」ですからね。最初は「正しい情報を分かりやすく伝えることで、皆さんの行動変容を促して止めるぞ」という思いでこのサイトを出しましたよね。

今村:それが長引いてくると、グラフの棒がどんどん針の先のように細くなり、見えなくなっていきました。コントリビューターの皆さんに、どうやって横スクロールさせるか、見やすくするかという点で、本当に助けられました。

陣内:ありがとうございます。続いて次の数字について、新田さんお願いします。

新田:データ更新担当者の人数です。対策サイトは、裏側でSharePointに数字を入力することで表側に反映するという仕組みをとっていました。データの種類ごとに担当を振っていて、当時の福祉保健局の感染症関係のデータが一番多く、毎日更新ということで、入力担当とチェック担当として約10人が順番で回していました。初期は感染症の担当者は対応に追われていてデータ更新をしているどころではなかったこともあり、別の部署の人が数字を入れていたのです。本当に局一丸の状態でした。

政策企画局側では、途中から人流データを表示していたのでその関係の人と、われわれの全体管理者を合わせて7人。後は総務局で、都庁の入庁者数のデータを入力する担当者1人もデータ更新に関わっていました。一時点の人数ですが、総勢18人ぐらいで毎日、ゴールデンウイークも年末も休みなく更新していました。

関:本当に頭が下がります。

陣内:私たちも東京都とやり取りさせていただいていましたが、こんなにも多くの方が関わっているとは知りませんでした。一方で、Code for Japanは、どれぐらいの開発体制だったのでしょうか。

関:いわゆる「コア」という、最初の立ち上げのソースコードを書いたり、デザインをしたり、データフォーマットをつくったりする担当として、6、7人が関わっていました。その後、コントリビューターの方々が、Twitter(現X)で盛り上がってくれ、立ち上げて1週間後には、総勢100人くらいの方々がコントリビューションしてくれました。翻訳のタスクなどもオープンなスプレッドシートでやっていたのですが、そういった人たちも含めると、それくらいの数字になると思います。

陣内:Code for Japanとしての関わりは、当初、3月だけだと思っていたこともあり、4月以降も続くことになった時、持続的な体制をとる必要が出ました。関さんはその頃、接触確認アプリの開発にも関わっていました。そこから今村さんが中心になりましたね。

今村:3月末で一旦区切ることになりました。私も含め全メンバーがヒアリングを受け、私は「このサイトを最後まで見届けたい」と言いました。ふたを開けてみたら、私とインターンの子2人を残して皆去っていったのですが。

陣内:4月当初はドタバタと新しい体制をつくっていましたね。新田さんは、4月から関わっていましたね。

新田:はい。私が関わり始めた時には、サイトはたいぶ出来上がっていました。私は、発熱したときのフロー図の調整などから入りました。

陣内:ありがとうございます。続いてこの2423という数字です。

新田:プルリクエストの総数です。GitHub上で普通に計上すると、6000ぐらいの数になると思いますが、その中にはロボットによるものが結構含まれます。それをGitHub上で省いて計算した数字が「2423」です。

関:すごい数ですね。

陣内:プルリクエストは、さまざまな方から届いていたかと思いますが、「反映する・しない」の判断は、どのようにしていたのですか。

今村:まず「デザインをこうしたい」「データをこうしたい」というイシューが立ちます。それを私が一通り見て、新田さんたちとやりとりする管理シートに書きます。説明しやすいようにかみ砕いて下山さんと相談して、「このイシューはこの点がいいと思う」「ここは無視していいと思う」などの見解もシートに書き込んでいました。それを新田さんたちが拾い上げる流れでした。

新田:そうですね。見た目に関わる部分や表に出てくる部分は、相談いただくことが多かった印象です。ただ、裏側の改修は、「よくなるならそれでお願いします」と、任せていた部分も多かったと思います。

見た目に関わる部分では、先ほどお話ししたグラフが針のように細くなってしまう点や、スクロールする案、スケールを自動調整する案など、サイト管理の範囲であれば私たちが見て「ぜひお願いします」と返答していました。データそのものの話では、所管の福祉保健局との調整が必要であったため、感染症の担当者と相談しながら判断していきました。

陣内:東京都のオープンソース活用のガイドラインについてはどうですか。

関:私もレビューしました。例えば、ライセンスについての考え方やどのように公開までを考えて進めていったらいいかについてしっかり書かれているとても良いドキュメントだと思っています。皆さんにも、ぜひご覧いただければと思います。

陣内:今村さんにお聞きしますが、オープンソースのメンテナーの立場として、難しいところ、困ったこと、逆に嬉しかったことなどはありますか。

今村:個人的にはテキストコミュニケーションのスキルが伸びました。例えば、「なるべく早くコメントする」。あとは、「却下」を伝えることも多かったため、その際に説明するコメントにはすごく気を使っていました。

陣内:ありがとうございます。では、続いて次のスライドについて、今村さんお願いします。

今村:オープンソースの1つの特徴として、「フォークできる」ということがあります。対策サイトの(成果の)目玉の1つは、フォークされて広がる「地域版」ができたことが挙げられると思っています。各地域版ができると、製作者が「FORKED_SITES.md」というファイルに「私の地域のサイト立ち上げました」と書き込んでくれます。そのファイルのコミット履歴を可視化したのが上図です。

*フォーク:公開されたソフトウエアのソースコードをもとに、別のソフトウエアを開発すること

大きな円は、コードをフォーマットするコミットなので無視してください。横軸が全期間の3年間です。左側に集中してコミットが来ています。途中から上の方にオレンジとブルーの円の列ができているのは、月に1回、リンク切れをチェックするCI(継続的インテグレーション)を入れてくれたコントリビューターがいて、それの履歴です。つまり、リンク切れが発生している、各サイトを閉じ始めたということの表れです。

関:1年経ったくらいから閉じ始めたのですね。

今村:そうですね。次の図は、最初の6カ月を拡大したものです。本当にきれいに可視化されています。2020年8月17日の時点の64という数字が、当時の派生サイト数です。

関:都道府県の数より多いのは、市町村版も生まれたからですね。

今村:途中、追加だけでなく「URLが変わった」「公認・公式になった」などの変更のコミットも入っています。最初はそういう追加と修正で、かなり盛り上がったということが見てとれます。

関:派生サイトも、公式で認められるようになったものから、リンクさえも貼ってもらえないものまで、さまざまなものがありました。

陣内:地域版の開発の方々とは、コミュニケーションを取っていましたか。

今村:Code for JapanのSlackの中に情報を交換するチャンネルがありました。サブドメインとか、サーバのサポートもありました。

関:さくらインターネットさんが、「派生サイトにはサーバを無料で貸す」というサポートをしてくれて、かなり使わせていただきました。

今村:そういう点での情報交換もなされていましたね。

陣内:ありがとうございます。では、続いてのスライドです。2つの数字が並んでいます。関さん、ご説明いただけますか。

関:この「#1172」「#2364」というのは、イシュー番号です。先ほどいったようにGitHubでは、誰でもイシューをつくることができます。「#1172」は、(下図の)タイトルにあるように「チャートのカラーを、アクセシビリティを考慮した色へ変更する」というものでした。これは今でもオープンになっていますが、とても長いスレッドになっています。チャートのグラフの段階ごとに色みが異なるデザインだったのですが、コントラスト差があまりないので、それを改善したいというイシューでした。

色覚多様性に配慮したアイデアだけれどもデザイン上難しい案など、いろいろな人がさまざまな意見を出してくれましたが、収拾がつかない状態になりました。解決しないとリリースできないこともあり、スライド左側のコメントで「皆さんいろいろ意見ありがとう、でもちょっとした改善で前よりはよくなったと思うので、これでとりあえずリリースさせてください」と、議論をシャットダウンする形でイシューを閉じたのですが、それがとても反感を買いました。「このサイトが大事にすることの中に『誰1人取り残さない』と書いてあるのに、色覚多様性の人たちを取り残しているじゃないか」「そういうことをするのか」と、いわゆる「炎上」をしました。

陣内:さっき見に行ったら、指を下に向けたマークが112個ついていました。

関:これがTwitter(現X)にシェアされて、燃え広がり、コンテキスト(文脈)を理解していない人たちがこれを見ただけであおり立てる状況までいってしまいました。それで、「ごめんなさい」と謝ったのが、スライドの右側です。一晩ぐらい、ずっと考えて書いたわけです。

「ご意見ありがとうございます、返事が遅くなってすみません」という内容から書き始めて、なぜ乱暴な閉じ方をしたのか、そこに至った経緯として「リソースが限られている中で、リリースのバックログがたまっていたこともあり、とりあえずリリースしたかった。とはいえ、議論の機会を閉じたことが一番よくなかった。新しくイシューが立っているので、そちらで続けさせてほしい。いろいろなことを気づかせてくれてありがとうございました、というようなことを書いています。

「ともに考え、ともにつくる」と掲げながら、それができていなかったことに気づかされた出来事でした。

今村:これは、3月の出来事ですよね。私も、関さんにこのイシューについてお願いしていたので、いまだに鮮明な記憶として残っています。この出来事から、オープンソースのマネジメントの礎を関さんがつくってくれました。私も大いに学びました。

関:一方で、これがきっかけでアクセシビリティの専門家が手伝ってくれるようになり、すごく改善したという効果もありました。

陣内:炎上しているとき、東京都の中では「受託者が炎上している」ことに対して、どのような反応だったのでしょうか。

清水:まだ3月だったこともあり、「これどうするんだろう」と静観していました。ご提案者の意見も理解できますが、他の機能改善もあるし、まずリリースしなければならない状況でもありました。この一件は、議論の大事さやGitHubでの進め方などについて、大変勉強になりました。

陣内:4月以降は、こういう大きなトラブルはなかったですか。

今村:データが正確に更新されないなど、トラブルはありました。想定していたよりデータ量がどんどん増えて厳しくなっていき、データ更新のミスが多かったですね。

陣内:最後に数字で振り返ってみて、「対策サイトで得た学び」について、一言ずついただけますでしょうか。

清水:最初のグラフにあったように、第1波は最大でも200くらいの数字でした。その中で、あれだけのアクセスがありました。これらの数字を振り返って、3年間ずっと担当してきた新田さんには、改めて「お疲れ様でした」と伝えたいです。

関:私はこれまでオープンソースとオープンガバメントを推進してきましたが、このプロジェクトは本当に大変でした。今までにないオープンなコミュニケーションをすることに対するプレッシャー、データを毎日更新し続けるために多くの人が関わっているプレッシャーなどがありました。一方、外の人からも中身が見えるからこそ、より建設的なやりとりができる、そんな良さもあったと思います。もっと、こういうプロセスを分かる人たちが増えると、いろいろなシステムの改善などが良くなっていくと思っています。

今村:本当に学びの多いリポジトリでした。私はあまり開発効率化的なツールを知らなかったため、コントリビューターの皆さんにたくさん教えていただきました。知らないツールがあれば調べるなど、常に考えながらやっていて、すごく勉強になりました。また、データというもの自体を意識したのは、今回が初めてでした。新田さんが積極的かつしっかり見守っていてくれたことも、ありがたいと感じた点です。逆に残念に感じているのは、東京都の方がGitHubのイシューやプルリクエストにほぼコメントされていないことでした。

新田:私はGitHubを全く使ったことがなかったし、GitHubでものをつくった経験もありませんでした。そこで衝撃的だったのが「イシュー」です。私たちにも問題意識があって「こう変えたい」ということはありますが、解決策が見えないときがあります。例えば「グラフを携帯電話で見ると右が見切れてしまうけれど、このデータ数だと仕方ないね」となってしまっていましたが、イシューが立つことで、「根本的にデザインを変えれば見えるようになります」という提案がコントリビューターから来ます。このようなことが実際に何回もあり、「こういうことができるんだ」と行政職員として衝撃でした。非常に学びの多い3年間でした。

陣内:セッション1は以上で終わりにしたいと思います。ありがとうございました。


(取材・TEXT:データのじかん編集部 PHOTO:加藤翔)

 

メルマガ登録をしていただくと、記事やイベントなどの最新情報をお届けいたします。


データ活用 Data utilization テクノロジー technology 社会 society ビジネス business ライフ life 特集 Special feature

関連記事Related article

書評記事Book-review

データのじかん公式InstagramInstagram

データのじかん公式Instagram

30秒で理解!インフォグラフィックや動画で解説!フォローして『1日1記事』インプットしよう!

おすすめ記事Recommended articles

データのじかん会員なら、
全てのコンテンツが
見放題・ダウンロードし放題
 

メール会員でできること

  • 会員限定資料がすべてダウンロードできる
  • セミナー開催を優先告知
  • 厳選情報をメルマガで確認
 
データのじかん会員について詳しく知りたい方
モバイルバージョンを終了