· HARUBOUYA · pm · 14 min read
前任者がいないシステムを引き継ぐ手順
資料がなく、聞ける人もいない状態で引き継ぐ場合の進め方です。まず動いているものを数え、止まったら困る順に並べます。調査から運用に乗せるまでの進め方を書きます。

前任者が退職しています。設計書はありません。動いているものは分かりません。この状態でシステムを引き継ぐ場面は、珍しくありません。
つらいのは調べること自体ではなく、何を調べ終えれば引き継げたと言えるのかが分からないことです。終わりが見えないまま手を動かすと消耗します。
終わりの条件を先に決めて、そこから逆に進めます。
引き継げたと言える条件
次の5つが埋まった時点で、引き継ぎは完了と見なしてよいです。
| # | 条件 |
|---|---|
| 1 | 動いているものが一覧になっています |
| 2 | 止まったときに誰が困るかが分かっています |
| 3 | 止まったときに気づけます |
| 4 | 止まったときの復旧手順がある(上位のものだけでよい) |
| 5 | 権限と契約の持ち主が分かっています |
中身をすべて理解する必要はありません。理解は運用しながらで間に合います。上の5つがない状態で運用に入ると、事故のときに何もできません。
手順1. 動いているものを数える
最初にやるのは、コードを読むことではなく棚卸しです。
| 見る場所 | 見つかるもの |
|---|---|
| スケジューラの一覧 | 定期実行されている処理 |
| サーバーレス実行環境の一覧 | 呼び出されている処理 |
| ワークフローの一覧 | 処理のつながり |
| 仮想マシンの一覧 | 常時動いているもの |
| データベースのジョブ一覧 | 定期的なクエリ |
| 外部サービスの管理画面 | 連携、通知、配信 |
「ない」ことの確認まで含めて一覧にします。後から「実はここにもあった」が出るのが一番こわいです。
一覧の形は次の通りです。
| 名前 | 種類 | 実行時刻 | 状態 | 何をしているか | 出力先 |
|---|---|---|---|---|---|
| (処理名) | 定期実行 | 毎日2:30 | 有効 | (1行) | (テーブル名など) |
「何をしているか」は1行でよいです。この段階で深追いしません。
手順2. 止まったら困る順に並べる
一覧ができたら、順番を付けます。基準は止まったときに誰が困るかです。
| 区分 | 例 | 対応の優先度 |
|---|---|---|
| 顧客に見えます | サイトの表示、通知の配信 | 最優先 |
| 社内の判断に使います | 日次の集計、定例レポート | 高 |
| 後から追いつけます | 分析用の蓄積 | 中 |
| 使われていない可能性 | 出力先を誰も見ていません | 低(止めてよいか確認します) |
最後の区分が重要です。使われていない処理は必ずあります。止めてよいか関係者に確認するだけで、管理する対象が減ります。
確認の仕方は、出力先(テーブル、レポート、通知先)を見て、直近3か月に誰かが参照しているかを調べます。参照が無ければ、その部署に「止めてよいか」と聞きます。
手順3. 気づける状態にする
上位のものから順に、失敗したときに通知が飛ぶようにします。
| 確認すること | 見るところ |
|---|---|
| 失敗時の処理が書かれているか | ワークフローの定義に例外処理があるか |
| 通知先が生きているか | 通知先のチャネルやメールが有効か |
| 失敗を失敗と判定できるか | 中の処理が異常時に正常の応答を返していないか |
3つ目を見落としやすいです。異常でも正常の応答を返す実装だと、呼び出し側は成功と判断します。この場合、通知を足しても飛びません。
手順4. 復旧の手順を書く
すべてに書かなくてよいです。優先度が高いものだけ、次の3行を書きます。
症状:(何が起きたら、この手順を使うか)
確認:(どの画面・どのログを見るか)
復旧:(再実行の方法。再実行してよい条件)「再実行してよい条件」を必ず書きます。同じ処理を2回動かすと二重に取り込まれるものがあります。ここを書いていないと、復旧が事故になります。
手順5. 権限と契約を洗う
技術よりも、ここで詰まります。
| 対象 | 確認すること |
|---|---|
| クラウドの管理権限 | 誰が持っているか。前任者のアカウントが残っていないか |
| 外部サービスの管理者 | ログインできる人がいるか |
| ドメイン・証明書 | 契約者と更新期限 |
| APIキー・認証情報 | どこに保管されているか。有効期限 |
| 請求の送付先 | 誰が受け取っているか |
前任者のアカウントで動いている処理が残っていることがあります。アカウントを消した瞬間に止まるため、棚卸しの段階で確認します。
聞ける人がいない場合
聞ける相手がいても、答えが返らないことはあります。その場合の進め方は次のとおりです。
| 状況 | やること |
|---|---|
| 技術的な説明が得られません | 動いているものから逆に読みます。設定画面の値が事実 |
| 経緯が分かりません | 経緯は後回し。いまの動きだけを記録します |
| 用語が通じません | 自分の言葉で一覧を作り、それを見せて確認を取ります |
| 資料が古いです | 資料ではなく実物を正とします。日付を添えて記録します |
設定画面に入っている値が事実です。ドキュメントと違う場合、動いているほうが正しいです。
やること
調査の記録の残し方
調べたことは、その日のうちに書きます。形式は問わないが、次を入れます。
調査日:
調べたもの:
分かったこと:
分からなかったこと:
次に見るところ:「分からなかったこと」を残すのが要点です。次に調べる人(自分を含む)が同じ場所で止まらずに済みます。
期限を切る
棚卸しは、放っておくと終わりません。
| 工程 | 目安 |
|---|---|
| 動いているものの一覧 | 1週間 |
| 優先度付けと関係者への確認 | 1週間 |
| 通知の整備(上位のみ) | 1週間 |
| 復旧手順(上位のみ) | 1週間 |
1か月で運用に入れる状態にすると決めて動きます。完璧を目指すと、いつまでも引き継ぎ中のままになります。
触らないと決めておくこと
調査中は、次をやらないでください。
- 元の処理の書き換え
- 権限の変更
- データの削除・再取り込み
- 使っていなさそうな処理の停止(確認前)
削除と再取り込みが一番危ないです。洗い替えの仕組みだと、再取り込みの失敗でその日の分が消えます。
失敗例
| 失敗 | 何が起きるか | 代わりにやること |
|---|---|---|
| コードを読むところから始めます | 全体像が分からないまま時間が過ぎます | まず動いているものを数えます |
| 一覧に「無かった場所」を書きません | 後から未把握の処理が出てきます | 確認した場所は「無し」も含めて記録します |
| すべてを理解しようとします | 終わりが来ません | 5つの条件を満たした時点で完了とします |
| 使われていない処理を放置します | 管理対象が減らず、通知も増えます | 参照状況を調べ、止めてよいか確認します |
| 通知を足して安心します | 異常時に正常の応答を返す処理では飛びません | 失敗を失敗と判定できるかを確認します |
| 復旧手順に再実行条件を書きません | 復旧作業が二重取り込みの事故になります | 再実行してよい条件を必ず書きます |
| 前任者のアカウントを先に消します | 動いていた処理が止まります | 権限の棚卸しを先に行います |
| 調査中に元の処理を直します | 原因が分からなくなります | 調査と変更を分けます |
まとめ
- 引き継ぎのつらさは作業量ではなく、終わりの条件がないこと
- 完了の条件は5つです。一覧化・影響範囲・検知・復旧手順・権限です。中身の理解は含めません
- 最初にやるのはコードを読むことではなく、動いているものを数えること
- 「無かった場所」まで一覧に書きます。後から出てくるのが一番こわい
- 使われていない処理は必ずあります。止めてよいか確認するだけで管理対象が減ります
- 異常時に正常の応答を返す処理では、通知を足しても飛びません
- 復旧手順には再実行してよい条件を書きます。書かないと復旧が事故になります
- 調査中は、元の処理・権限・データに触らないでください
- 1か月で運用に入れる状態にすると決めます。完璧を目指すと終わりません
最初の1週間でやることは、動いているものを数えて表にするだけです。その表ができた時点で、引き継ぎの半分は終わっています。
参考になったら、いいねを押してください。





