SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine(コードジン) ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発現場インタビュー(AD)

内製化はゴールではない。GovTech東京が「東京アプリ」で目指す、利用者目線に立ち、改善し続けるサービスづくり

DeveloperZine編集部[著] / 丸毛 透[写]

 行政のシステム開発と聞いて、どのようなイメージを浮かべるだろうか。仕様を決めきってからつくるウォーターフォール、ベンダーへの全面委託、古い技術スタック──そんな印象を持つエンジニアは少なくないはずだ。東京全体のDXを推進する一般財団法人GovTech東京と東京都は、2026年10月30日(金)に東京都公式アプリ(以降、「東京アプリ」)のリニューアルを実施した。これにより、東京アプリ開発・運営はGovTech東京による内製体制へと本格的に移行した。1,400万人規模の都民に向けたサービスを、外部に委託するのではなく、自分たちでつくる。その現場とはどのようなものか。マネージャーの古屋賢人氏、Android領域のテックリードを務める田澤健二氏、プロダクトデザインを担う内田卓弥氏の3名に、行政開発のリアルと、そこで得られるキャリアの価値を聞いた。

行政アプリを、なぜ内製化するのか

──東京アプリとは、どのようなプロダクトなのか、教えてください。

古屋:東京アプリは、デジタルの力で、都民の皆さんがスマートフォンを入り口に行政とつながり、生活がより便利になったと実感していただくことを目指しています。

 言わば、必要な情報や行政手続き、給付・支援等にアプリ1つからつながっていける、都民と行政サービスのタッチポイントですね。例えば、子育てや介護など、ライフステージに応じて必要な制度や申請をご案内して、「知りそびれ」「申し込みそびれ」を減らしていく。そうした行政の「届ける力」を補うプロダクトに育てていきたいと考えています。

一般財団法人GovTech東京 デジタル事業本部 デジタルサービス開発グループ マネージャー 古屋賢人氏
一般財団法人GovTech東京 デジタル事業本部 デジタルサービス開発グループ マネージャー 古屋賢人氏

──行政のシステム開発は外部ベンダーへの委託が一般的かと思います。なぜ、内製で開発するのでしょうか?

古屋:前提として、外部への委託が悪いということではありません。行政では、予算や調達、契約を事前に整理して進める必要があるので、あらかじめ決めた要件を確実に実現する開発には、委託の強みがあります。一方で、利用者の声を取り入れながら、すぐに仕様を変え、年度の途中で反映するのは難しい場合がある。そこに内製の強みがあります。

 東京アプリは一度つくって終わりではなく、社会の変化に応じて継続的に改善していくプロダクトです。企画、デザイン、開発、運用までを行政の中で、自分たちのチームで担い、実際の利用状況や問い合わせを次の改善につなげていく。それが内製化の大きな目的です。

 一方で内製化自体は、あくまでスタートラインです。土台ができた後に、どれだけニーズに応じた柔軟な開発をしていけるか。これからが、内製の真価が発揮される場面だと思っています。

──エンジニアとデザイナーが1つのチームを組んでいるそうですが、どのくらいの規模なのでしょうか?

古屋:東京アプリ全体のメンバーは50名強ですかね。その中で、内製開発に直接関わっているメンバーは約30名です。エンジニアだけで20名近くになります。内製版をリリースし、今後の運用や改善を見据えて、今も体制を拡大しています。デザイナーは、4名ほどですね。

1,400万人規模のサービスを支える技術をどう選ぶか?

──1,400万人規模のサービスとなると、技術選定にも慎重さが求められそうです。技術スタックやツールは、誰がどのような基準で選んでいるのですか?

田澤:まずエンジニア側から主体的に提案します。現場でPoCや比較検証をしたうえで、コストや影響の大きい選択についてはCTOとも議論しながら決めています。

 「新しいバージョンが出たからまずは使ってみよう」といった理由では採用しません。都の1,400万人規模のサービスとして、長く、安定的に、安全に運用できるかを重視しています。判断軸は、セキュリティやアクセシビリティ(年齢や障害の有無などに関わらず、誰もが情報やサービスを利用できるようにすること)、スケーラビリティ、外部サービスとの連携のしやすさ、保守性、障害時の調査のしやすさなどです。ニッチな開発言語は人材の採用がしにくくなり、育成コストもかかるので、そこも考慮していますね。

 また、特定の人がつくった独自のアーキテクチャも、その人がいなくなったら誰も面倒を見られなくなってしまいます。チームが拡大したり、人が流動的に異動したりしても継続しやすい開発・運用体制にしています。

一般財団法人GovTech東京 デジタル事業本部 デジタルサービス開発グループ エキスパート 田澤健二氏
一般財団法人GovTech東京 デジタル事業本部 デジタルサービス開発グループ エキスパート 田澤健二氏

──行政のシステムには、古い技術を使っているイメージもあります。実際には、どのような技術を採用しているのでしょうか?

田澤:モバイルアプリは、今までのアプリではFlutterを利用していましたが、内製版ではそれを踏襲せず、複数のパターンを比較したうえでネイティブアプリとして開発しました。OSの標準機能をそのまま使いやすいことと、アクセシビリティやセキュリティに対応しながら品質を確保しやすいことが、主な理由です。

 ほかにも、デザインには「Figma」、ソースコード管理には「GitHub」、CI/CDには「GitHub Actions」や「Firebase App Distribution」を使っています。この辺りは、おそらく民間と変わりません。開発ドキュメントには「Notion」を使っています。バックエンドはTypeScript系の技術を中心に実装していて、クラウドは「Google Cloud」を採用し、データベースには「Spanner」なども使っています。開発支援には生成AIも積極的に活用しています。

──皆さんは民間企業から転職されたと伺いました。民間時代の経験は、技術選定にどう生きていますか?

田澤:民間では新しいもの好きの人が多く、「まずは入れてみよう」という雰囲気がありました。一方で、リスクやセキュリティ、そもそも本当に必要なのかといった導入の経緯まで、きちんと説明できるようにしてきたかと言われると、そうでもなかった。GovTech東京に来て、いい意味で意識が変わりました。民間で培ったチャレンジする姿勢は持ちつつ、導入するものには常に説明ができるようにする。その両方を併せ持てるのが、GovTech東京ならではだと思います。

東京都と「バディ」を組み、共につくる

──行政のシステム開発では、発注側が要件を決め、開発側はそれを形にするといった役割分担を想像する人も多いと思います。東京都とは、実際にどう役割を分担しているのでしょうか?

内田:東京都デジタルサービス局とは「バディ」、つまり相棒や仲間という関係で、言葉の通り一体となってつくっています。誤解されがちなのですが、GovTech東京は技術だけ、東京都は要件を渡すだけ、という関係ではありません。企画の段階から一緒に議論して、行政としての要件とプロダクトとしての使いやすさ、実現可能性をすり合わせながら進めています。

 役割で言うと、東京都側は政策・事業として何を実現し、どんな価値を届けるのかに、GovTech東京側はプロダクトや技術、デザインの専門性を活かして、それをどうつくり、どう届けるかに責任を持っています。意思決定は、東京都とGovTech東京の双方の担当者間で一緒になって議論し、幹部も交えて判断しますね。

一般財団法人GovTech東京 デジタル事業本部 デジタルサービス企画運用グループ エキスパート 内田卓弥氏
一般財団法人GovTech東京 デジタル事業本部 デジタルサービス企画運用グループ エキスパート 内田卓弥氏

──現場のエンジニアやデザイナーは、意思決定にどこまで関われるのでしょうか?

内田:ユーザー体験や技術的な選択肢を提案することは、もちろんあります。プロダクトの価値提供や届け方については主体的に意見を出せる環境ですね。ただ、現場だけですべてを自由に決められるわけではないので、選択肢を根拠と一緒に定義して、プロダクト、政策、技術それぞれの観点で合意形成をしながら進めていくイメージです。デザインの説明の場にはデザイナーが、技術選定の話であればエンジニアが参加して、説明して承認を得ていきます。

行政だからこそ求められることと、開発を前に進める工夫

──「行政の開発は制約が多い」というイメージがあります。

古屋:さまざまな要素が絡み合い、関係者も多いことから、1つの意思決定に時間がかかることもあります。ただ、こうした制約には、都民の権利や公平性を守るためという理由があります。その理由を理解しながら、今の技術や開発手法でどう解決していけるかを常日頃から考えています。

──民間との違いで、壁にぶつかることもありましたか?

田澤:先ほど少し触れたとおり、民間のやり方はそのままでは通用しません。例えば、ある開発ツールを導入したい際に、意思決定の速いスタートアップなら、その日か翌日には決済を済ませて「使おう」となりますが、そうはいきません。なぜ必要なのか、代替手段はどうなのかといった検討から始まり、予算、法務、契約、セキュリティ、誰が運用・管理するのかまで、各部門の目を通じて精査していきます。

 エンジニアの感覚で「このぐらいのリードタイムがあれば問題なさそう」と思っていたのとずれてしまい、使いたかったツールが当初の見込みでは間に合わない、ということがありました。今はそれを踏まえて、PMOや事務方、法務、セキュリティ担当者などと、日ごろからコミュニケーションをとっています。その都度ゼロから関係性を構築するのではなく、常に会話することを意識しておくことで、なるべく早く対応できるようにしています。

古屋:そうですね。手順を踏んでも必要な時期に間に合うよう、なるべく早く準備を進めています。検討した内容は比較表にまとめ、各部署の確認を経て、運用責任者まで決めてから利用を開始します。そうやって開発をスムーズにしていけるよう努めています。

田澤:手続きが多いのは、ある意味妥当だと思っています。比較して「これである必要はない」という結論が出たら、それを記録として残しておけば、後々また話題が再燃したときにも使えますから。

誰もが迷わず使えるアプリへ、デザイナーとエンジニアが一緒に挑むアクセシビリティ

──都民全員が対象となる行政アプリは、一般的な開発とつくり方も違うのでしょうか? デザインから実装まで、どのように進めているのか教えてください。

内田:幅広い都民の方に使っていただくので、特定のターゲットには絞れません。とはいえペルソナがないわけではなく、機能ごとに、誰がどのような状況で何をしたいのかを整理しています。

 デザイナーはFigmaや生成AIを活用してプロトタイプをつくり、PdMやエンジニア、バディである東京都デジタルサービス局の方と、ラフの段階からレビューします。デザインを完成させてから渡すのではなく、一緒につくりながら設計しています。

 行政サービスには代わりのサービスがなく、都民全員に届ける責任があります。だからこそリリース前後の検証や改善を大事にしています。また、開発段階から障害のある方にもユーザーテストを実施していただいています。

 使いたい人に向けてつくるというより、使わざるを得ない人も含めて迷わず使えるかを考える。そこが、特定のターゲットを持つ民間サービスの開発との違いだと思います。

──誰もが迷わず使えるようにするうえで欠かせないのが、アクセシビリティへの対応です。デザインだけでも実装だけでも完結しない領域ですが、デザイナーとエンジニアはどう連携しているのですか?

内田:まずFigmaでモックアップをつくり、コントラストや文字の大きさなどをチェックしています。WCAG(Webアクセシビリティの国際的なガイドライン)を生成AIに読み込ませ、デザインを確認させ、指摘された箇所を直していく形です。音声の読み上げは、Figmaのアノテーション機能で「ここはこう読み上げる」とマークして、エンジニアに対応を依頼しています。

田澤:エンジニアとしては、読み上げ内容をどうまとめるべきかを整理します。例えば、リストで、日付、タイトル、サブタイトルと一つひとつにフォーカスが当たって読み上げられると、操作も大変ですし、内容の把握も大変です。どう読み上げるとわかりやすいかは合意して決めています。お知らせなら、未読か既読かも伝わるよう、どういう文章でお届けするかまで決める。文字サイズを最大まで上げたときに表示が崩れないか、操作できるかも、最終的には実機で検証しています。

──デザイナーとエンジニアは、普段どのような関係性で仕事を進めているのですか?

古屋:以前民間企業で働いていたときには、デザインが正しいのか、実装が正しいのか、という議論があったこともありました。GovTech東京ではどちらからも「こっちのほうがいいかもね」と、行ったり来たりします。

田澤:お互い信頼し合って対応しているので、変な力関係はないと思います。そもそも、アクセシビリティにすべて対応してきた経験豊富な人間は、ほぼいないと思います。私自身も民間にいたころは、アクセシビリティは「そこまでコストはかけられないね」と後回しになって、なかなかできなかった部分でした。正直、自分が書いたアプリを目をつぶりながら操作してみたこともありませんでした。今は検証のときにそうしています。

入ってわかった「いい意味のギャップ」と、求める仲間

──民間ではなかなか得られない、行政開発ならではの醍醐味は何でしょうか? 働く中で、ご自身の変化を感じることがあれば教えてください。

内田:1,400万人のユーザーがいるアプリはほかにも存在するとは思いますが、誰もが使えることを前提に設計するというのは、なかなか珍しいのではないでしょうか。特定の誰かに刺さるのではなく、誰も取り残さないという考え方でつくる。そこが醍醐味であり、面白いところだと思います。

古屋:私は説明する力がついたと思います。東京都の方が議会で、そして都民の方にきちんと説明できるように、「なぜそうしたのか」を考えて説明するようになりました。

──入職前に抱いていた行政のイメージと、実際とのギャップはありましたか?

田澤:入職前、古いというイメージは正直ありました。ですが入ってみると想像以上に民間出身の方が多く、行政の方とも近い距離で議論しています。行政側から要件を渡されて、開発側がそのまま言われた通りに実装する、という一方通行の関係性では全然ありませんでした。もちろん、制約がまったくないわけではありません。さまざまな専門性を持つ人が続々と加わっているので、そうした人たちと協力して制約を一つひとつ紐解き、いいサービスとして社会実装まで進めていけたらと思っています。

内田:言い方は悪いですが、私も行政は古い開発をしていると思っていました。でも実際は、むしろかなり進んでいます。当たり前のようにAIを使っていますし、ツールもモダンなものを導入しています。

──最後に、GovTech東京に興味を持った読者に向けて、どのような方と一緒に働きたいか教えてください。

古屋:完成された組織やプロダクトではなく、これから自分たちで開発の文化や仕組みをつくっていく部分が、まだまだ多い状況です。持っている経験や技術を使って、多くの人の生活や行政の仕組みを少しでも強くしていきたい方には、挑戦しがいのある環境だと思います。エンジニアとして社会貢献に携わる仕事、特にいろいろな人に使ってもらうプロダクトの改善に関われる場は、選択肢として少ないのではないでしょうか。行政経験の有無に関わらず、このテーマに関心を持っていただける方には、非常にいい環境だと考えています。

内田:アクセシビリティは、デザインだけでは完結しません。職種の境目を気にせず、使う人の体験まで一緒に考えて、会話しながらより良いものをつくっていける方と一緒に働けると嬉しいです。

田澤:特定の技術に強い、詳しいというのはもちろん大切ですが、それ以上に、ユーザーや提供している行政サービスの課題を起点に物事を考えられる方に来ていただきたいです。「それは本当にユーザーのためになるのか」と、常に疑問を持ちながら、本当はこうしたほうがいいのではないかと考えられる方が合っていると思います。

左からGovTech東京の古屋賢人氏、田澤健二氏、内田卓弥氏

GovTech東京の「人」「組織」「働きがい」「カルチャー」などをもっと知りたい方におすすめ!

 行政側と民間を行き来するキャリアやプロジェクトでのこぼれ話など、オープン&フラットにお届けしています。

 「未来に渡す、仕事をしよう」

 本記事で興味・共感を持たれた方は、GovTech東京noteをぜひご覧下さい!

この記事は参考になりましたか?

提供:一般財団法人GovTech東京

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー