SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine(コードジン) ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Developers Summit 2026 Summer セッションレポート

AI時代にこそ重要性が増す「コードを書く以外」の仕事を、4つのTipsで紐解く──SmartHRの現場から

【16-C-7】『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選

【Tips2】検証・移行計画:属性定義で「網羅すべきテスト」を設計する

 段階移行を安全に進めるうえで立ちはだかったのが、SmartHRの多岐にわたる契約形態だ。10年以上の歴史の中で新規受付が終了した契約形態であっても、すでに契約しているテナントは更新を続けているケースがあり、対応すべき契約形態は膨大な数に上る。すべてのパターンを網羅したテストが不可能な状況で、「どのパターンが検証されていれば問題ないのかを考える必要がありました」と由利氏は振り返る。

 そこでQAエンジニアと連携し、契約形態やシステム的に差分が出る特徴を「属性」として定義するアプローチを取った。例えば「クレジットカード払いか否か」「月払いか年払いか」といった項目がそれぞれ1つの属性にあたり、実際には20件ほどの属性を洗い出した。テナントはこれら複数の属性を持つ組み合わせで構成されている。

決済方法や月払いor年払いといった属性のイメージ
決済方法や月払いor年払いといった属性のイメージ

 テスト設計では、属性の掛け合わせで検証すべきパターンと、単独で検証できるパターンに分けた。「カード払いと月払い/年払いの組み合わせは、システム的に大きく違いが出るため掛け合わせでテストします。一方で、グループ会社向けの請求形態は他の属性との掛け合わせで差異が出ないので、単独で検証できると考えました」と由利氏は説明する。

属性ごとにテスト項目を決める
属性ごとにテスト項目を決める

 また、本番移行では一度にすべてのテナントを切り替えるのではなく、先行移行グループを設けて段階的に進めた。第1グループは移行手順の確認が目的で少数のテナントを選定し、第2グループは洗い出した属性の代表的なパターンを網羅するテナントを選定した。

 もうひとつ、見落とされがちだったのが切り戻し計画だ。当初チーム内では「切り戻しは想定しない」という空気があった。プロジェクト開始前から一部の契約形態にはすでに新アーキテクチャが適用されており、そのデータは切り戻しができない状態だったことから、チーム全体に「切り戻しはできない」という先入観が生まれていたのだ。しかし由利氏は「なんとなく」という思い込みを潰すため、改めて調査を実施。「結果として、ほとんどのパターンで切り戻しが可能だとわかりました」と明かす。SmartHR機能自体に影響が出た場合は速やかに切り戻すという判断基準を定めたことで、より安全に本番移行に臨む体制が整った。

 一連の取り組みの成果として、由利氏は「属性を定義したことで、最終的な移行テストで過不足ないテスト設計ができました」と語る。属性の洗い出しはテストパターンの設計と段階移行の計画策定に直結し、切り戻し体制の整備とあわせて、より安全に本番移行へ臨む準備が整った。

【Tips3】ドキュメント整備:「書いておけば見つかる」時代の設計知識管理

 由利氏のチームには元々、設計書や仕様書を残す文化がなかった。しかしプロジェクト開始のタイミングで会社全体のドキュメンテーションツールが「Notion」に移行したことも追い風となり、「このプロジェクトではドキュメントを残していこう」と方針を定めた。

 整備のポイントは2つある。1つ目は、ユーザーストーリーベースで設計書を記述すること。「クレジットカードを登録してプラン登録ができる」「プラン登録したユーザーが退会ボタンを押したら退会できる」といったユーザーストーリーを起点に、そこから退会可否判定・契約削除・ユーザー削除といった必要な機能へとブレイクダウンしていく。「何を叶えたい改修なのかという軸がぶれないようにできました」と由利氏は語る。

ユーザーストーリーベースの設計書
ユーザーストーリーベースの設計書

 2つ目は、チームとしての判断ログを積極的に残すことだ。「どんな方法を検討し、なぜ決定案を選んだのか」を記録しておくことで、後から判断の根拠を追えるようにした。由利氏によると「実際に助かった場面がある」という。あるデータ更新方法の検討では、当初の決定案が後の工程で上手くいかないことがわかった。しかし、検討ログに他の方法の懸念点と事前調査結果がまとまっていたため、「懸念点をクリアできればこの方法が取れそうだとすぐにわかりました」と由利氏は振り返る。

 ドキュメント整備の成果として、当初想定していなかった副産物も生まれた。プロジェクトの途中からAIコーディングの機会が増えたことで、「人間が読む以上にAIにドキュメントを読ませる機会が増えました」と由利氏。最近はNotion AIによって「どこかに書いてさえいれば見つけられる」環境になり、ドキュメント化の効果はさらに高まっているという。

 一方で課題もある。設計書の「賞味期限」管理だ。コードとNotionのドキュメントを常に同期させ続けることは難しく、いつまで設計書をメンテナンスするのかがチーム内でまだ曖昧になっている。また、AIに設計書を書かせる取り組みを始めたものの、AIが書いたドキュメントは冗長になりがちで、人間がレビューするのが難しいという問題も残る。

次のページ
【Tips4】タスクの優先度調整:チケット前後関係の整理からAI活用へ

この記事は参考になりましたか?

Developers Summit 2026 Summer セッションレポート連載記事一覧

もっと読む

この記事の著者

森山 咲(編集部)(モリヤマ サキ)

CodeZine編集部所属。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

井原 淳一(イハラ ジュンイチ)

 雑誌やフリーペーパー(紙媒体)Webなどで、料理、人物(インタビューやポートレート)、商品撮影をしています。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/29730 2026/09/30 09:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー