毎年、同じ時期に同じ帳票を出す。その処理がExcelマクロで組まれていて、組んだ人はもういない。中を開いても何をしているのか分からない。制度が変わった、部署が増えた、けれど直せない。
この状態になったとき、最初に出てくる答えはたいてい「VBAが分かる人を探す」です。それは解決になりません。 探して見つかっても、数年後に同じことが起きるからです。
ある国立大学で、この状態から抜けるまでを担当しました。Excelマクロに依存しない運用への移行です。各部局へ配る予算執行の通知業務で、作った職員が退職し、学内に更新できる人がいなくなっていました。そこで何を判断したかを書きます。学校の事例ですが、構図に学校らしいところは一つもありません。
止まっていたのは保守ではなく、変更のしかた
「直せる人がいない」は、症状であって原因ではありません。原因は、変更のたびにマクロ本体を書き換えるしかない作りになっていたことです。
部局が一つ増える。予算項目が一つ増える。そのたびにプログラムを開いて直す。この設計だと、直せる人が常に必要になります。つまり、人を採っても補充しても、その人がいなくなった瞬間にまた止まります。人の問題に見えて、設計の問題です。
だから決めるべきなのは「誰が直すか」ではなく、**「直さなくても済む形にできるか」**です。
期限のある改修を、先に切り離す
とはいえ、作り替えている間にも年度は来ます。ここで全体の設計から始めると、目の前の配布期限に間に合いません。
このときは、退職者が残したコードを読み解いて何をしている処理なのかを整理したうえで、年度初めの配布に間に合う工程を引いて、新年度対応の改修を先に仕上げました。 作り替えはそのあとです。
順番を逆にしないこと。 「どうせ作り直すのだから」と全体設計から入ると、今年の業務が止まります。止めずに移行するには、期限のある改修と、構造の作り替えを別の工程として扱う必要があります。
「増える」に耐えるかどうかが分かれ目
引き継げないマクロには、共通する壊れ方があります。この案件で実際に起きていたのは、次のようなことでした。
- 固定のセル範囲と固定長の配列に依存していて、部局や予算項目が増えると集計漏れやエラーが起きる
- 全ファイルを同じフォルダに置く前提で、置き場所を変えるとリンクが切れる
- シートの追加・コピー・貼り付けといった手作業が多く、更新のたびに手間がかかる
いずれも、作った時点では正しく動いていたはずです。動かなくなったのは、組織のほうが増えたからです。 引き継ぐかどうかを判断するときは、コードの読みやすさより先に、「この先も増える要素に耐える作りか」を見たほうが早く決まります。
決め手は、プログラムに触らないこと
移行の中身は、道具をExcelマクロからGoogle Apps Scriptに替えたこと、ではありません。変更のしかたを替えたことです。
部局・財源・予算項目・加算の条件を、すべてマスタ側で定義しました。部局が増えても制度が変わっても、スプレッドシート上の設定を変えるだけで反映でき、プログラム本体を書き換える必要がありません。
ここを曖昧にすると、「結局プログラムなら、直せる人が要るのでは」という話に戻ります。分かれ目は言語でもツールでもなく、毎年変わるものがコードの中にあるか、設定の側に出ているかです。
あわせて、設定をマスタ側に寄せたうえで設計をドキュメントに残しました。担当者が代わっても更新できる形にするには、この二つが揃っている必要があります。
一部局で突き合わせてから、広げる
作り替えたものが前と同じ結果を出すかは、動かしてみないと分かりません。ここでは、まず一部局で実証し、現行の出力と金額を突き合わせて検証したうえで、全部局へ展開しました。
新しい仕組みを信用してもらう場面で、いちばん効くのは説明ではなく突き合わせです。前の出力と一致することを当事者が自分で確かめられれば、移行の合意は早く済みます。
まとめると
- 「直せる人がいない」は症状。原因は、変更のたびにコードを書き換える設計にある
- 人を探しても数年後に同じことが起きる。決めるのは「誰が直すか」ではなく「直さなくても済む形にできるか」
- 期限のある改修と、構造の作り替えは分ける。 順番を逆にすると今年の業務が止まる
- 引き継ぐ判断は、コードの読みやすさより「増える要素に耐えるか」で見る
- 毎年変わるものを、コードの外に出す。 これができていれば、担当者が代わっても回る
この構図は、少人数で管理業務を回している組織なら、学校でも企業でも同じです。通知、集計、申請、年度更新のように毎年必ず回ってくる業務ほど、作った人がいなくなったときの止まり方が深くなります。
コントランでは、大学・学校法人のシステム開発として、この種の作り替えを支援しています。何をしている処理なのか分からない状態からでもご相談いただけます。 引き継ぐべきか、作り替えるべきかの判断からご一緒します。
