NGW開発BLOG
← 記事一覧へ
·#001

NGWとは自治体の内部業務を支えるグループウェア

市役所・町村役場の内部事務と意思決定を支える行政システム「NGW」の全体像と、その設計に潜む行政システム特有の難しさを概観する連載の第一回。

窓口の向こう側にあるシステム

自治体のシステムというと、住民票や税の窓口で住民が接するものを思い浮かべる人が多いだろう。だが役所の仕事の大半は、その窓口の向こう側で回っている。誰かが文書を起こし、上司が確認し、役職の順に判を押していく。職員が出勤し、残業を申請し、休暇を取る。備品を買い、配り、やがて廃棄する。こうした内部事務と意思決定の連なりが、行政という組織を動かしている。

NGW は、この「内部業務」を支えるための行政システムであり、グループウェアである。住民向けのフロントではなく、役所の中で事務を回し、決裁を通し、記録を残すための道具だ。技術的には PHP と MySQL によるWebアプリケーションで、多くの画面はサーバサイドでロジックを持ち、操作に応じて Ajax で処理を分岐させるサーバサイドレンダリング中心の構成をとる。派手さはないが、業務が止まらないことを第一に据えた実装だ。現在は鹿児島県内の複数の自治体で日々の事務に使われている。

作り手が元・自治体職員で、情報管理部門に長く身を置いてきた点も、このシステムの性格を決めている。どの帳票がどの順で回るのか、なぜその欄が必要なのか、現場の事務を体で知っている。行政システムの難しさは制度の細部に宿るが、その細部を内側から見てきた強みが設計の随所に効いている。

何を扱うのか

NGW がカバーする業務領域は広い。中心にあるのは文書管理と決裁だ。起案・収受・令達・会議録といった文書を電子的に回し、役職に基づく決裁経路で承認していく。紙の決裁簿や帳票は、PDFでその様式を忠実に再現する。

人事・勤怠もまた主要な柱である。出退勤の記録、時間外勤務、休暇簿による休暇の申請・承認・集計を扱う。財産・備品の管理では、備品の登録から異動、廃棄までの履歴を追う。加えて、特別職の予定管理といった庶務系の機能も持つ。

これらに共通するのが帳票出力だ。役所には定められた様式があり、画面上で完結する業務であっても、最終的には様式に忠実な紙の帳票——PDFやExcel——として出力できることが求められる。さらにデスクトップに常駐する通知クライアントが、更新やお知らせを職員に届ける。Webの内側と、職員の手元の両方に届くよう設計されている。

制度を相手にするということ

NGW の設計を貫くテーマは、「制度を相手にする」という一点に集約される。そしてここに、以降の技術記事で繰り返し立ち返ることになる難しさが潜んでいる。

  1. 団体ごとの差異がある。1日の勤務時間、役職名の呼び方、決裁の運用——自治体が違えば、こうした細部が微妙に食い違う。同じ「役所の仕事」でありながら一様ではないのだ。NGW はこの差異の多くを、設定テーブル由来の定数として団体単位で吸収する方針をとる。コードを団体ごとに枝分かれさせるのではなく、設定で振る舞いを変える。この割り切りが、複数団体で同じシステムを運用する土台になっている。
  2. 紙の慣習をそのままデジタルに写す難しさがある。決裁の様式や運用は長年の慣習に支えられており、それを崩さずに電子化しようとすると、難所は帳票と権限まわりに集中する。誰が何を見てよく、どの順で判を押すのか。紙なら暗黙に成立していた約束を、システムでは明示的に記述しなければならない。
  3. 開発運用そのものの工夫がある。本番で稼働中のシステムと次期バージョンを並行して開発しており、同じ修正を両方へ確実に反映するための段取りが要る。動いているものを止めない、という制約の下でシステムを進化させ続けること自体が、ひとつの技術課題なのだ。

この記事は、以降の連載で何度も顔を出す「行政システム特有の難しさ」の見取り図にすぎない。定数による団体差異の吸収、帳票の再現、決裁経路と権限、並行開発の運用——それぞれの具体は、各回で掘り下げていく。