ai-driven-development legacy-migration workflow
「未決」をプロジェクトの進捗として残す — 不明仕様との付き合い方
仕様が曖昧な領域を無理に実装すると、確実に事故ります。「未決のまま、未決と書いて先に進む」運用にしてから、戻り工数がかなり減りました。
W
渡邊 賢 なぜ書いたか
レガシー移行では、元コードを読んでも「これは仕様なのか、たまたまそう動いているだけなのか」がわからない部分が必ず残ります。AIに実装させると、その曖昧領域を 何となく埋めてしまう。それが後から「業務的に違う」と差し戻しになる、というのを何度かやりました。今回はそれを止めるための運用の話です。
やったこと
ルールはシンプルです。
- 不明仕様を見つけたら、実装範囲外として明示する
- mappingドキュメントとtask logの両方に「未決として残した」を書く
- 次のサイクルで再着手できるよう
residual gapsセクションに残す
たとえば、画面のフッターボタン群を移行するスライスで「帳票出力」「一括承認」のような複雑な業務動作が含まれていたとき、私は そのスライスでは導線だけ実装して、本処理は未決 として明示的に切り離しました。
mappingにはこう書きます。
S4 一部完了:
- フッター 6 ボタン中 3 ボタンを正式実装
- 帳票出力・一括承認は未対応メッセージで導線のみ表示(未決)
- residual: 元実装の帳票テンプレ XX 系統のうちどれを使うか要確認
わかったこと
- 「未決」は 不名誉 ではなく 進捗 です。書き残すことで、後続が戻れる地点になります
- AIに判断させると、不明領域を妥当そうな実装で埋めてくる率が高い。「埋めない」を明示的に指示するほうが結局速い
- mappingとtask logの2箇所に書くのは冗長に見えて、片方だけだと必ず忘れます。
migration_mapping.mdは全体俯瞰、task logはスライス単位の証跡
残課題運用のコツ
known unknownsを1行で書く(誰が読んでもわかる粒度に)- 再着手のために必要な情報源(VBのどのファイルを見るか等)も同じ場所に書いておく
- 残課題が積み上がってきたら、まとめて1サイクル取って棚卸し する。気づくと放置されがちなので
次にやること / 未解決の問題
- 残課題リストが伸びてきたとき、優先度を付ける運用がまだ甘い。ビジネス影響度で並べ替えるルールを足したい
- 「未決として残す」判断をAI側にも任せたいが、AIは埋める方向に偏るので、現状は人間判断にしている
person
渡邊 賢
等差級数的Commit 運営 / ICD VIETNAM.LLC General Manager
AI駆動開発と段階的なレガシーモダン化をテーマに、日々の試行錯誤をこのブログに記録しています。
プロフィール詳細 arrow_forward似たような課題に困っている方、一緒に考えませんか。
AI駆動開発・Vibe Coding・レガシーマイグレーションに関するご相談を受け付けています。