📝

機能を効率的にキャッチアップする

に公開

こんにちは!クラウド在庫管理ソフト「zaico」の開発・運営する株式会社ZAICOでWebエンジニアをしている @yutonishi です。

最近チームの再編成があり、新しく担当する機能も増えてキャッチアップする機会も多くなりました。
そこで自分なりに効率よく機能について把握するために工夫したポイントをまとめようと思います。

キャッチアップの方法には各々やりやすいものがあると思うので、あくまで参考程度に読んでいただけますと幸いです。

前提

今回担当することになったのは「バリエーション機能」です。

こちらは2024年9月にリリースされた比較的新しいものです。

もともと在庫データ単位で管理していたところに、賞味期限やロットといった項目をバリエーションとして追加し、在庫データをより細かい単位で数量等の管理ができる機能になります。
たとえば、同じ「メロンパン」という在庫データでも賞味期限が2025-10-01のものと2025-10-02のものをさらに分けて管理することができるイメージです。

キャッチアップの手順

準備

必須ではないですが、以下のようなことをやっておくと便利です。

  • ローカル環境を立ち上げて、キャッチアップ用のブランチを切ります。
  • { 機能名 }.md みたいなメモ用のファイルも作っておきます。

メモ用ファイルをリモートにpushしておくことでGitHubのURLで簡単に社内に共有できたり、Claude CodeなどのAIエージェントに読み込ませることができて便利なのでおすすめです。

手順1: キャッチアップするユースケースを洗い出す

ここでいうユースケースとは、ユーザーが目的を達成するためのシナリオのことです。(在庫データ新規登録や、選択した在庫データの入庫登録など)

手順1では機能に対してコアなユースケースを洗い出します。基準としては「その操作をしないと対象の機能を使えないようなもの」とすると選びやすいです。

洗い出したユースケースは{ 機能名 }.md に見出しとして書き出していきます。

なぜ最初にこのような絞り込みをするといいのか、1つはキャッチアップという曖昧な作業に対してゴールを明確にするためです。全体の量をあらかじめ把握することで、一気に終わらせるぞ〜というモチベーションにもつながります。

2つ目は使用頻度の高いユースケースから優先的にキャッチアップするためです。コアなユースケースはユーザーの使用頻度も高くお問い合わせ等も多い傾向にあります。そのような周辺知識からキャッチアップしていくことで調査依頼や改修タスクが来た場合もスムーズに対応することができます。

逆にユーザーの使用頻度の低いユースケースなどは、後まわしにしておいてお問い合わせの調査依頼やチケットにアサインされてからキャッチアップするでもいいと思います。

手順2: ユースケースごとに登録されるデータ→ソースコードの順に確認する

ユースケースの洗い出しが終わったら、次はそれぞれのユースケースごとに登録されるデータを確認し、その後ソースコードを読んでいきます。

いきなりソースコードを読まずに、まずは「対象の操作によってどんなデータ操作が行われるのか」を確認します。

いきなりソースコードを上から読もうとすると、どこでどんな形式のデータを扱っているのかをソースコード上から読み取りながら、処理も追っていく必要があってこれがつらいです。

あらかじめいつ・どんなデータが作られるのか・変更されるのかある程度把握できていればソースコードを読むのもスムーズです。

具体的な手順としては以下のようなイメージです

  • ローカル環境を立ち上げて、対象のユースケースを実行する
  • サーバーのログを見て、INSERTUPDATEを目印にデータ操作のあったテーブルをざっくり把握
  • SQLクライアントで「今作成されたデータ」を探す
  • Copy Row As > Markdown Table(TablePlusの場合)で対象の操作と作成・更新されたデータをメモしておく
    • Claude Code等にも読み込ませることができるので、後の手順などでも非常に便利です

手順3: サンプルデータ入りのER図を生成する

ER図は最初にあった方がいいという方もいるかと思いますが、今回はまとめ的な意味合いで用意しました。

複雑な機能であればあるほど、ユースケースが頭に入っていない状態でER図を見ても、いまいちどんな機能で何ができるのかよくイメージが湧かないです(自分は)

ユースケースごとにある程度データ構造やソースコードを把握した後に、このサンプルデータが入ったER図を確認することで、機能の全体像をイメージしやすいです。

また手順の2よりも後に持ってくることで、ユースケースごとにコピーしたデータをClaude Codeが見てサンプルデータ入りのER図を作ってくれるのでとても楽です

今回は以下のような趣旨のプロンプトをClaude Codeに渡したら、サンプルデータ入りのER図を正確に作成してくれました。

{ 機能名 }.mdに記載されたデータ構造をもとに{ 機能名 }に関連するER図をMermaidで作成してください
ER図にはサンプルデータとして1つレコードの情報を追加してください。

カラム名, データ型, 対象のサンプルデータ

以下はできあがったER図の一部になります。実際のデータの列があることでテーブル構造を直感的にイメージできます。

まとめ

機能のコアなユースケースごとに上記の手順をやっていれば、ある程度機能の全体像を把握できて、お問合せや簡単なバグ修正であれば対応できるようになっていると思います。

まだまだ把握しきれていない機能の多々あるので、もりもりキャッチアップしていきたいなと思います!

ZAICO Developers Blog

Discussion