ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

数年前に開発の一部をたずさわったシステムから、データを移行するための調査作業

数年前に開発し納品したシステムから、他社のシステムへ切り替えるとお客さんから連絡がありました。
他社のシステムへは、データを移行したいという要望も合わせてありました。

データを移行するためには、移行用のプログラムの開発が必要になります。
どのよなデータを移行元のデータとして出力できるのか調査を行いました。

f:id:AJYA:20160708054757j:plain
photo credit: Visual document - investigation process via photopin (license)

ドキュメントを読み、ソースコードを見て、データベースを確認

移行するシステムは3システムあります。
1システムには機能改善も行い、保守業務にもたずさわっているので、動作もわかっています。
残りの2システムのうち、1システムには一部の機能の開発にたずさわり、全体もなんとなく知っているけれど、わかっているとは言い切れない状態です。
もう1システムにはまったく開発にはたずさわらず、概要を聞いたことがあるという状態です。

移行するデータは、システムに登録されているファイルと、ファイルの登録時に入力されたデータなどということを確定させてから調査を始めました。

最初に設計書を確認して、表示上使われている項目や、入力されている項目から、移行すべきデータとなりそうな項目を調べました。
設計書からいろいろわかりましたが、疑問点もあります。

疑問点の解消のために、該当部分のソースコードを読みました。
僕が開発に一部たずさわった部分のソースコードも読むことになりました。
開発時はこういう挙動をさせるためにコードを書いていたのかと理解していきました。

データベース上のデータも確認しました。
データを確認して改めて疑問に思った部分は、データを適宜変更して動作を確認しました。

調査してもしきれない部分

設計書のおかげである程度は把握でき、調査はスムーズに進みましたが、それでもそれはなぜ必要なのかと疑問が残る部分もありました。
開発当時の担当者が揃っていれば確認できたかもしれませんが、退職者もいてそれはできない状態です。
開発時や運用開始時、トラブル発生時の状況を推察しながら、移行データの作成作業における想定外への対処をしていくことになります。