なぜ、日本政府が作るソフトウェアは使えないモノばかりなのか?

shutterstock_1404621860
 

5月20日にスタートしたものの、その日のうちにトラブルが発生し、即座に受付中止となった雇用調整助成金のオンライン申請。今回に限らず、「政府系のソフトウェア」ではバグが頻発しますが、その原因はどこにあるのでしょうか。今回のメルマガ『週刊 Life is beautiful』では、「Windows 95を設計した日本人」として知られる世界的エンジニアの中島聡さんがその原因を分析・解説するとともに、このような状況を打破するための画期的アイディアを披露しています。

※ 本記事は有料メルマガ『週刊 Life is beautiful』2020年6月2日号の一部抜粋です。ご興味をお持ちの方はぜひこの機会に初月無料のお試し購読をどうぞ。

プロフィール中島聡なかじま・さとし
ブロガー/起業家/ソフトウェア・エンジニア、工学修士(早稲田大学)/MBA(ワシントン大学)。NTT通信研究所/マイクロソフト日本法人/マイクロソフト本社勤務後、ソフトウェアベンチャーUIEvolution Inc.を米国シアトルで起業。現在は neu.Pen LLCでiPhone/iPadアプリの開発。

世界的エンジニアが提言、政府系ソフトウェアのミスをなくす方法

先週、「雇用助成金のオンライン申請を停止 開始初日にトラブル」という報道がありました。

厚生労働省は20日から運用を始めた「雇用調整助成金」のオンライン申請でシステムトラブルが発生し、受け付けを停止したと発表した。再開のめどは立っていない。(中略)

 

厚労省が調べたところ、同じタイミングで申請した人に同じIDが割り振られ、先に登録した人の氏名、携帯電話番号、メールアドレスなどが見られるようになっていた。パスワードや給与情報も見られるようになっていた可能性があるという。

「同じタイミングで申請した人に同じIDが割り振られ」という部分がとても重要で、まともな人がソフトウェアの開発に関わっていたら、決して生じないようなミスです。この手のシステムにとって、IDの発行は要であり、ID発行がだらしないサービスは、麺が茹で過ぎなラーメンのようなものです。

この手のバグは、単に「担当者のミス」で生じるものではありません。大学でコンピュータ・サイエンスを勉強した人であれば、こんな初歩的なミスは決してしないし、この手のバグが紛れ込まないための様々な仕組み(コード・レビュー、アーキテクチャ・レビューなど)が存在するはずです。

つまり、よほどの「構造的な問題」がない限りは、こんなバグが見逃されるはずがないのです。

ラーメン屋で言えば、「麺の茹で方がラーメンの命であることを知らないバイト君が麺を茹でている」ようなイメージです。これはバイト君が悪いのではなく、バイト君にそんな重要な仕事を任せてしまった店長が悪いのですが、さらに遡れば、そんな店長を雇ってしまう人事システムが悪いのです。

こんなバグが生じる背景には、

  • 政府から受注したITゼネコンには自らソフトウェアを書く人・書ける人がおらず、仕様書を書いて下請けに丸投げするだけ
  • その下請けは、大学でちゃんとソフトウェアの勉強をしていない文系の派遣社員を低賃金で雇い、劣悪な労働環境でコードを書かせている
  • 書かれたコードをレビューをする習慣やシステムが存在しない
  • クライアントの打ち合わせ、仕様書の作成、見積書の作成などには膨大な時間を書けるわりに、コードのクオリティを上げることには時間をかけない
  • ITゼネコンには役所からの天下りが、下請けのソフトウェア会社にはITゼネコンの天下りが役員・顧問・相談役として働いており、ほとんど仕事をせずに「口利き」だけをして高給をもらっている。

などの、日本特有の事情があると考えて間違い無いと思います。

政府→ITゼネコン→下請け企業→派遣会社→派遣社員という多層構造ゆえに、実際にソフトウェアを作る人は薄給で働かされる上に、当事者意識には乏しく、学校を卒業してから短期間の研修で覚えた上っ面のプログラミング・スキルだけでソフトウェアを作らざるを得ないから、こんな質のものが世の中に出てしまうのです。

日本のソフトウェア作りの構造的な問題に関しては、私は随分と昔から指摘し続けていますが(参照:「ソフトウェアの仕様書は料理のレシピに似ている」2006年3月)、全く改善される様子はありません。

その背景には、「正社員を簡単に解雇してはいけない」という雇用規制があり、それ故に出来た人事制度が、(上流の企業が)せっかく雇った理系の大学卒の人たちをソフトウェア・エンジニアのような専門職の人として養成することを許さなくなっているのです。

先日も、政府が新型コロナウィルス感染対策として「接触確認アプリ」なるものを開発すると発表しましたが(参照:「『接触確認アプリ』を6割が導入すればロックダウンも回避可能?首相が6月のアプリ投入を明言」)、どんなものになるか心配です。

print
いま読まれてます

  • なぜ、日本政府が作るソフトウェアは使えないモノばかりなのか?
    この記事が気に入ったら
    いいね!しよう
    MAG2 NEWSの最新情報をお届け