真面目で優しいシステムエンジニアは損をする14~データ移行の始まり~
どうも!ヒグッティ(ヒグッティ@システムエンジニア)です!
私の実体験を元に真面目で優しいシステムエンジニアが損をすることについて書いていこうと思います。 これはフィクションです。とあるシステムエンジニア、ヒグッティの物語です。
前回は 性能テストの話について書きました。
今回はデータ移行の話です。では、お楽しみください!
データ移行
4月に入りいよいよプロジェクトも終盤を迎えようとしていました。
4月からは向井さんの代わりにクロさんが入ります(色黒だから。松崎しげるほどではないけど(笑))。
プロジェクトでサーバを新しくする時に必ず行わなければいけない作業がデータ移行です。DBのデータだったり、ファイルだったり、ログだったり色々なデータを移行する必要があります。
今回のプロジェクトでもデータ移行はもちろんやります!一応1月から優男さんが進めてくれていました。私はほとんど見ていなかったです…
そんなある時、仲間さんからデータ移行について話したいと言われました。
仲間:データ移行なんだけどねー
ヒグ:はい。
仲間:もう4月じゃない?そろそろまずいと思うの。
ヒグ:といいますと?一応、優男さんが進めていると思うのですが…
仲間:まぁそうなんだけどね…あまり作業が進んでいるように見えないのよ。ヒグさんも忙しくて移行についてあまり見れてないかもしれないけどさぁー
ヒグ:すみません…
仲間:ヒグさんはリーダなんだからしっかり管理しないとダメよ!相手が上司の優男さんだとしてもね!お尻叩いてでもちゃんとやらせて!!
ヒグ:わかりました…すみません…確認します!
その後、優男さんに確認してみます。
ヒグ:という感じで、仲間さんから言われたんですが、実際のところはとうですか?
優男:あー、ヒグにこの前、メールしたけど俺のやることはもう終わったよ。
ヒグ:えっ…そうでしたか。すみません。確認してませんでした。
優男:とりあえず、メールの内容を今から言うわ。移行計画書は俺の方で作った。お客さんと色々話して4ヶ月くらいかかったけど(笑)計画書は終わったからこれから先の設計とかの作業はヒグたちのチームでやってね。
ヒグ:了解です。ありがとうございます!ちなみに計画書って1月くらいには終わってる予定だったんですけど…スケジュール的にまずいと思うんですが…
優男:大丈夫でしょ。計画書は時間かかったけど、設計に影響しないところを修正してたから。茶髪さんとか移行ツールとか作り始めてるでしょ?
ヒグ:そうですか…確かに茶髪さんには3月からツールは作ってもらってます。でも、分析機能とか新計算機能の開発が長引いてるせいで、移行に割り振れる人が1人しかいないんですよ…本来は2人でやる作業だったのですが…
優男:そこはねぇ…。俺もお客さんからお金もらってないけど色々やってるし…方向性は決めたから一人でも大丈夫でしょ!なので俺はここまでって感じ。あとはよろしく。
ヒグ:はい…わかりました。
そう。本来は二人で移行作業を進めるはずでしたが、1人になってしまいました。開発が遅れたり、追加になったりで人がいないのです。私は上司やお客さんと相談をしましたが、やはり時間とお金の問題で人を工面できませんでした。あとは私の性格的に強く言えませんでしたね。今思えばもっと強く主張しておけば…人が足りないことを数字で説明できていたら…難しいんですけどね!
この時点で、計画書と移行ツールはできていましたが、それ以外はできていませんでした。
移行に関しては茶髪さんに作業をお願いしていましたが、茶髪さんはツールなどは作るんですが、ドキュメント類が全くの手つかずでした。もちろん仲間さんやPMさんはツールを見てもわかりません。なので移行方法をわかりやすく説明した資料が必要でした。ちなみに納品物には移行設計書としか書かれていなかったのですが、後々多くの資料を作る羽目になります…
茶髪さんにドキュメントの作成をお願いしましたが、お客さんが納得するようなものはできませんでした。茶髪さんは本来プログラマなので移行をやった事もなく、移行の設計的な事もあまり経験がない状態でした。ちなみに私も移行に関してあまり経験がなかったです。移行のドキュメントをレビューしてもらった後にお客さんと相談をしました。
仲間:移行のドキュメントを見ても全然わかりません。作り直して下さい。
ヒグ:申し訳ありません。
仲間:そもそも移行の流れがわからないよね。用意してくれたドキュメントはツールの設計書だけだよね?全体の流れがわかるような資料も作ってください。移行だって1週間かけてデータとか移行するんだからどの日に何をやるとか項目を出したり、作業の順番とか時間を記載した資料は必要だよ?
ヒグ:はい…わかりました(移行は人が1人しかいないから無理だよー)。
仲間:人がいないのはわかるけど、いま4月の下旬で、このドキュメントしかないのはまずいよ…
ヒグ:はい。しかし、他の作業もあって移行作業に1人しか割当られない状況もあって…私もフォローしているのですが…
仲間:だけど、いくら人がいなくてもやる事やらないと終わらないよ?あとでリリースできませんでした!ってなっちゃうよ?
ヒグ:まぁそうですね…(だったらお金と時間をくれよ!!)
仲間:そうですねじゃないよ!私から優男さんに聞いてみようか?
ヒグ:いえ、私から優男さんに話してみます。
仲間:わかりました。お願いしますね。
仲間さんとの会議の後、優男さんに相談です。
ヒグ:という感じで、データ移行の作業があまり良くない状況です。仲間さんからはサポートしてくれる人を入れるように配慮してほしいと言われています。
優男:そうか。こっちも空いてる人がいないからなぁ…ちょっと考える。
ヒグ:できればですが、技術に強い人が良いと思ってます。あとはうちの社員がいいなぁと思います…
優男:了解。人はこっちで調整する。でも人を入れるのはいいけど、他のプロジェクトを掛け持ちだから作業できても定時後とかだよ?だから移行作業に当てられる時間は月あたり0.2人月くらいと思っといて。
ヒグ:はい…わかりました。
その後、優男さんから移行作業の支援をしてくれる人は沖縄さんと言われました。沖縄さんはうちの会社にきている派遣の人で、他のプロジェクトですが、5年くらいやっています。技術というよりかはコミュニケーションで仕事を進めていくタイプのシステムエンジニアです。正直、技術ができて、手が動かせる人が良かったのですが…この時、私は上司の優男さんやお客さんにイライラしていました。移行は進んでいなかったし、支援のメンバは派遣の人だし…私以外はみんな派遣の人であることに、孤立感を抱いていたと思います。加えて、当初の作業よりも作業量が多いのに考慮してくれないお客さん。作業を数値化しても元の鏡となる作業量が当てにならないので、お客さんと交渉の余地もありませんでした。しかも作業に追われてそんな資料を作る暇もなかったし…常に日単位で、作業の納期が迫っており、精神的にも良くない状態でした。
また、社員を別プロジェクトで使うと残業代が発生したりして会社の利益や色々と工数を調整するのが面倒くさいらしいです。本当のことはよくわかりませんが…
4月も終わりに近づき、移行作業や他の開発作業もあり、余裕のないスケジュールでした。
移行については仲間さん、沖縄さん、茶髪さんと話し作成するドキュメントやその中身を考えました。
移行についてのザックリした流れです。
・初期移行
ファイルやDBのデータを移行
・中期移行
5日ほど既存システムと新システムを同時に稼働させる。その間も、ファイルやDBのデータは移行
・最終移行
最後にファイルやDBを移行し、新システムに切り替える。
最初は中期移行は無しで一括で切り替えるようにお客さんと相談していたのですが、お客さんがどうしても中期移行をやりたいとこだわるのでこのやり方になった、っと優男さんから聞きました。
以下、作成するドキュメントです。
・移行ツール設計書 ※本来の納品物
・移行ツール検証結果報告書
・DB移行手順書
・DB移行検証結果報告書
・ファイル移行手順書
・ファイル移行検証結果報告書
・移行タイムテーブル計画書
・処理機能一覧
・ファイル一覧
あとは覚えてないけど、かなりのドキュメントを作ることになりました。納品物とは関係のない成果物が大量に発生しました。こんなに多いとは思ってなかった…作らなきゃいけないので仕方ないけど…移行をドキュメント化するのって大変です…つか茶髪さんと私でこの量のドキュメント作るのは無理だろ(笑)お客さんもこの頃には現実味のないスケジュールを押し付けてくるようになりました。俗に言うリリース日から逆算しただけのスケジュールです。やばいな…
ドキュメントや書く内容も決まり始めてきました。これから5月に入るところ。もちろんGWはありません。最近は終電で帰宅も珍しくない日々が続いています。
移行のドキュメント作るぞ!っと言ってもやる気が出てこない…ドキュメント作ったところで、実際の作業は進んでないからね…お客さんに説明するだけの資料だからやる気が出ないのかなー?
とりあえず東海オンエア見て寝よ!
まとめ
- データ移行はプロジェクトの要の作業。
- 工数が足りないときは数字で説明できるようにしておく。
- 作業を終わらせるために、無償で人を入れることもよくある。
- 派遣の人を別プロジェクトの支援に使いがち。
- メンバの中で、社員が自分1人だと孤立感を覚える。すぐに相談して!
- 移行をドキュメント化するのは大変。
- リリース日や納期から逆算しただけのスケジュールは破綻する。