並行運用でいちばん難しいのは、旧システムでデータが増え続けることと、旧システム側でも開発が続くことです。コストが見合わず、旧システムで開発をやり切ってから移行する判断をしたこともあります。終わらせる判断は、期間よりも「運用で旧システムを見なくなった」と分かった時です。
システムを新しくするとき、旧と新をしばらく並行して動かす——いわゆる並行運用は、教科書的には「安全な移行のための期間」として説明されます。実際にやってみると、安全を買うために別のものを支払っていることが分かります。この記事では、FUNBREWが並行運用の現場で何に苦労し、どこで終わりを判断しているかを書きます。手順の網羅は業務システム移行の注意点10選にありますので、ここでは実際に起きることに絞ります。
並行運用でいちばん難しいのは何か
難所は2つあり、どちらも「旧システムが止まっていない」ことから来ます。
1. 旧システムでデータが増え続ける
並行運用の期間中も、業務は旧システムで回っています。つまりデータが増え続けます。移行済みだと思っていたデータの後ろに、新しいレコードが積み上がっていきます。
すべてを新システム側に寄せられていれば話は簡単です。しかし実際には、旧システムでしかできない処理が残っていたり、現場の運用がすぐには切り替わらなかったりします。その差分をどう扱い続けるかが、期間中ずっとついて回ります。
2. 旧システムでも開発が続く
より重いのがこちらです。旧システムはまだ現役なので、その間にも改修の要望が出てきます。法改正への対応、業務の変化、不具合の修正。止まってくれません。
すると、同じ機能を新旧の両方で作ることになります。片方だけ直せば挙動がずれ、両方直せば工数は倍です。新システムを作りながら、旧システムのお守りも続ける——これが並行運用のコストの正体です。
並行運用をしない、という判断もある
旧システムで開発をやり切ってから移行する
このコストが高すぎると判断して、旧システム側で開発をやり切ってから、新システムへ移行するという進め方を選んだこともあります。
一見すると遠回りです。古い方に手を入れるのですから、その工数は新システムには残りません。それでも、二重に開発を抱え続けるより結果的に安く済むことがあります。並行運用は無条件に安全な選択ではなく、コストとの比較で決めるものだということです。
そもそも直すべきか作り直すべきかの判断については手を入れるより作り直した方が早いと判断するときに書きました。
切替に向けて、いちばん気を使うのはデータ移行
切替当日より、その前の準備
意外に思われるかもしれませんが、切替日当日に大きく困った、という経験はありません。当日が静かに終わるかどうかは、それまでに何をやったかで決まっているためです。
いちばん気を使うのはデータ移行です。ここだけは、うまくいかなかったときの影響が業務に直結します。
リハーサルで実際に動くかを確かめる
そのためにリハーサルを行い、ちゃんと動くかを確認します。手順書の上で成立していることと、実際のデータで動くことは別です。ここをしっかりやっていれば、当日に問題が起こることはそこまでありません。
逆に言えば、切替日にトラブルが多発するとしたら、原因は当日ではなくリハーサルの不足にあります。日程が詰まっているときに削られやすいのがこの部分で、納期を縮めたときにテスト期間が削られる構造(システム開発の納期はどう決まるのか)と同じです。
並行運用をいつ終わらせるか
期間を決めておくことはあるが、判断はそこではない
あらかじめ「並行運用は◯ヶ月」と期間を定めておくことはあります。ただ、実際に終了を判断するのは、運用で旧システムを見なくなったと分かった時です。
カレンダー上の期日が来ても、まだ旧システムを開いている人がいるなら終われません。逆に、誰も見ていない状態が続いているなら、期日を待たずに畳めます。基準は日付ではなく、実際に使われているかどうかです。
画面操作系とバッチ処理では、気づき方が違う
ここが実務でいちばん引っかかるところです。
| 種類 | 移行漏れの気づき方 |
|---|---|
| 画面操作系 | 漏れがあればすぐ分かる(使う人がその場で困る) |
| バッチ処理など、ユーザーが操作しないもの | 一定期間運用してみないと、完全に移行できたか分かりづらい |
画面は人が触るので、足りなければ即座に声が上がります。ところが夜間バッチや月次処理のように人が操作しないものは、動いていなくても誰も気づきません。月に一度しか動かない処理なら、確認できるのは1ヶ月後です。
ですので、並行運用の期間を考えるときは「いちばん間隔の長い処理が、少なくとも1周する」ことを目安のひとつにしてください。日次の処理しか見ずに終了を判断すると、月次や年次の処理が抜けたまま旧システムを止めることになります。
まとめ
並行運用の難しさは、旧システムが止まっていないことから来ます。データが増え続け、旧システム側でも開発が続くため、同じ機能を二重に抱えることになります。このコストが高すぎる場合は、旧システムで開発をやり切ってから移行するという判断もありえます。
切替日そのものより、いちばん気を使うのはデータ移行です。リハーサルで実際に動くことを確かめておけば、当日に問題が起こることはそこまでありません。
終了の判断は、あらかじめ定めた期間よりも「運用で旧システムを見なくなった」時です。ただし画面操作系はすぐ分かる一方、バッチ処理のようにユーザーが操作しないものは一定期間運用しないと分かりません。移行後の立ち上がりについては保守を引き継いだ最初の1ヶ月に何をしているかもあわせてご覧ください。
移行の進め方についてのご相談はお問い合わせよりどうぞ。
この記事をシェア