Session 2 / 約3時間

実務ワークフローと「移行体験」

モダナイゼーション実務の縮小版を体験します。「現行を読める人がAIで移行を主導する」という役割分担を、実体験で身につける回です。

🎬 ミドリとタツヤの「第2回はこう進む」
ミドリ
ミドリ
第2回は難しくなりますか?
タツヤ
タツヤ
実務寄りになるよ。前半は演習D「Javaコードの近代化」。AIに改善案を出させて、君が選んで、適用させて、テストで確認する。
ミドリ
ミドリ
私が選ぶんですか?
タツヤ
タツヤ
そこが一番大事なんだ。後半は演習E「JavaのAPIをTypeScript+Honoに移し替える」ミニ移行。書くのはAI、仕様の取りこぼしを見つけるのが君の仕事だ。
ミドリ
ミドリ
最後の45分は何をするんですか?
タツヤ
タツヤ
説明の練習だ。「AIに書かせて品質は大丈夫?」と聞かれたときに、自分の言葉で答えられるようにする。チームに広めるための第一歩だよ。

2-1演習D: Javaコードの近代化(60分)

まずは変更させずに、改善案の一覧だけ出させます:

このプロジェクトのコードを Java 17 以降の書き方で改善できる箇所
(ジェネリクスの徹底、拡張for文やStreamへの置き換え、record化、
java.util.Date から java.time への移行など)を洗い出し、
リスクの低い順に一覧にしてください。まだ変更はしないでください。

一覧をレビューし、自分で1〜2件選んで適用を指示します(番号は一覧に合わせて変更):

1番と2番を適用してください。適用後、run-tests.cmd で全テストが通ることを確認してください。

ポイント: 「AIが提案 → 人間が選択 → AIが実装 → テストで検証」— これが「AI駆動開発の進め方」の実物です。

2-2演習E: ミニ移行体験 — Java→TypeScript/Hono(75分)★今日のメイン

レガシーからモダンスタックへの移行を体感する最小体験。TypeScriptが書けなくてOK(書くのはAI、あなたは仕様面からレビュー)。

OrderService の注文検索(顧客IDの前方一致)と1件取得と同等のREST APIを、
TypeScript + Hono で新規フォルダ hono-orders に実装してください。
- データはメモリ上のサンプル配列でよい(DB不要)
- GET /orders?customer=xx で検索、GET /orders/:id で1件取得
- 元のJava実装とAPI仕様の対応表を hono-orders/SPEC.md に作成
- npmで起動し、curlでの動作確認手順も示して、実際に動くところまで確認してください

レビュー観点(ここがあなたの価値): SPEC.md の対応表を元のJavaコードと突き合わせ、仕様の取りこぼし(大文字小文字の扱い、空文字・nullの挙動、存在しないIDのレスポンスなど)を最低1つ指摘して直させる。

2-3説明力トレーニング — チームに広めるための3つの質問(45分)

AI駆動開発を職場に持ち込むと、必ず聞かれる質問があります。声に出して3回ずつ練習。正直さが最大の武器です(盛った瞬間に信頼は崩れます)。◯には実測値を入れます。

Q1.「AIに書かせて、品質は大丈夫なの?」
「順序を決めています。まずテストを生成・レビューして安全網を作り、その上で変更を加えさせ、テストで検証します。AIの提案はそのまま採用せず、現行仕様との突き合わせを必ず人間が行います。実際にハンズオンでも、AIが作った仕様書の抜けを突き合わせで見つけて修正させました。テストとレビューを通ったものだけを成果と呼ぶ、が原則です」
Q2.「ベテランがいまさらAIを使う意味、ある?」
「レガシー改修では『現行を正確に読める人間』と『大量の書き換えを速くこなすAI』の組み合わせが最も効きます。経験はコードから仕様を読み解く側とレビューする側で活き、書く作業はAIに任せる。この分業で従来見積比約◯%の工数短縮をハンズオンで実測しました。読める人ほどAIの恩恵が大きい、というのが実感です」
Q3.「チームはどこから始めればいい?」
「テスト生成から始めるのがおすすめです。既存の挙動を変えないので安全、効果がすぐ数字で見える、AI出力をレビューする練習にもなる、と導入リスクがほぼありません。このハンズオンも第1回はテスト生成から始まりました。次の一歩は仕様書の自動生成とリファクタリングです」
NG例(言わない)

「AIは何でもできます」(過信)/実施していないことを「やった」と言う(誇張)/「まだ勉強中でよくわからなくて…」(卑下しすぎ)。やったことを、やった通りに語るのが一番強い。

記録シート(第2回)

演習タスク従来の見積(分)実際(分)短縮率
DJava近代化(選択適用)
EHono移行API+仕様対応表
← 第1回 第3回へ →