厚生労働省の接触確認アプリ「COCOA(ココア)」で、陽性登録したアプリ利用者と接触しても検知・通知されない障害が判明したと発表されました。
障害は2020年9月28日のバージョンアップに伴い、Android版アプリで発生。
重大バグが4か月以上も見過ごされてきたことになります。
COCOAの開発は厚生労働省からパーソルプロセス&テクノロジーに委託され、同社は元請けとして全体の工程管理を担当し、エムティーアイがバグ改修や保守開発を担当しています。
COCOAのベースとされているオープンソースプロジェクト「Covid19Radar」は、オープンソースライセンスであるMPLライセンスによって公開されていますが、同ライセンスには改変内容の公開義務があり、COCOAがCovid19Radarをベースとしている場合は、これに基づいてCOCOA自身もソースコードを公開する必要があったため、厚生労働省は2020年9月1日、「COCOA」のソースコードをGitHub上に公開しています。
今回の件自体は、色々なところで議論されており、「メンテナンスされないソフトウェアはすべてゴミになる」という認識が少しでも一般常識になってくれればというところですが、実際にアプリケーションの運用保守を行う人たちだけではなく、その周りの役割も大変だという話を今回はしてみたいと思います。
私が過去に関わった事例になるので、見る人が見ればどの案件か分かってしまいますが、現在進行中の部分もあるため、フィクションを入れさせていただきます。
最近はCOCOAもそうですが、オープンソースで開発したアプリを企業が引き取って運用保守を行うケースが増えてきています。
今回紹介する案件も、とある公的機関の方から、開発するためのお金はないが社会的に必要なアプリということで、オープンソースでボランティアベースで開始されました。
私が関わった契機も、ボランティアベースなのでプロマネ的な動きができる人がおらず、PMO的な役割の関りでお手伝いを依頼されたものでした。
開発自体は、レベルの高いエンジニアの方々がボランティアとして動いてくださったのでうまくいっていたものの、ローンチが見えてきたところで、運用をどうするかという課題が目前にせまってきました。
というのも、今回の案件の対象となっているのは、東京から離れた田舎の土地。GitHubベースでの開発は全国どころか全世界どこからでもできますが、実際にアプリを使う人たちを現地でオンサイト支援する必要がある。
私はその田舎に住んでいる身なので、オンサイト対応もできないわけではないのですが、ボランティアベースでの稼働ではとうてい足りなくなってしまう。
そのため、少額でもコストをかけて企業に運用保守をお願いしようということになりました。
アプリ側の保守については、必ずしもオンサイトで行う必要はないため、比較的容易に実績のある企業で引き受けてくれるところが見つかりました。
問題は、オンサイトの運用支援をやってくれる企業です。
上記のアプリ保守をやってくれるところは、東京に拠点があるため、田舎の地域のオンサイト対応は現実的に不可能。
田舎といってもソフトウェアベンダ企業はいくつもあるので、心当たりのあるところに当たってみるのですが、なかなかよい返事がもらえない。
理由としては、ソフトウェアベンダなので、オンサイト支援を行う人手が足りないことが大きくありました。
田舎といってもIT系のベンチャー企業も多いのですが、ベンチャーは何しろ人手が足りない。アプリの保守や改修等ならといってくれるところはあったものの、ユーザーからの問い合わせ等の工数を考えると、とてもじゃないが対応しきれないという話になってしまいます。
そこで、大手ベンダのこちらにある開発センターに当たってみました。大手ベンダも数社は地場に開発センターを持っており、ニアショア開発や問い合わせ対応等を行っているところがありました。
その中でようやく1社、条件が折り合いオンサイト支援をやってくれるところが見つかりました。
ただ、かけられるコストも限りがあるので、専任ではなく、問い合わせ時間も限定し、オンサイト対応も月に何回かというように、条件の調整にもけっこうな交渉がありました。
そんなこんなで、開発はオープンソース、アプリ保守は東京の企業、オンサイト運用支援は現地の開発センターという形で運用保守が開始され、今のところ大きな問題なくシステムは動いています。
私はPMOや現地ベンダとの橋渡し的な形で関わらせていただきましたが、どんなによいサービスで、開発がうまくいっても、その後の運用につながらなければ意味のないものになってしまいます。
発注者と開発者だけではサービスはまわらず、運用保守に関わる方や、それらステークホルダーとの調整役がいなければ、サービスは実現できないというおはなしでした。