kubell Creator's Note

ビジネスチャット「Chatwork」のエンジニアのブログです。

ビジネスチャット「Chatwork」のエンジニアのブログです。

読者になる

Jiraのサブタスクを活用した複数Claude Codeセッションの協調作業

Jiraのサブタスクを活用した複数Claude Codeセッションの協調作業

こんにちは。認証グループの横井です。

同じグループのいまひろさんがClaude CodeでJiraのチケット駆動開発を強固に加速させる!という記事で紹介している通り、認証グループではJiraチケットドリブンでClaude Codeを活用しています。

今回は、最近認証グループ内で運用を開始した、Jiraのサブタスク機能を活用して複数のClaude Codeセッションを協調させる方式を紹介します。

従来方式の課題

ログイン周りというクリティカルな部分を扱う関係上、認証グループでは作業の多くを2人以上のモブプログラミングで行っています。

ミーティングなどの様々な事情で作業者を交代する必要が生じることがあります。

作業者が変わると、それまでの作業コンテキストが失われてしまうため、作業内容の説明から始める必要がありました。

新しいワークフロー

現在認証グループで採用している、1つのJiraチケットに取り組むワークフローは以下の通りです。

1. チケットのサブタスク化

Claude Code用に/plan-ticketというカスタムコマンドを定義しました。

/plan-ticket [チケットID]

  1. Jiraチケット情報を取得
  2. 作業内容を分析し、サブタスクに分割
    • 可能な場合、対象リポジトリ名をサブタスク名に含める
    • この時点で優先順位を決めてもらう(テストは常に最初に作成するなど)

このコマンドにより、以下のようなサブタスクが作成されます:

2. サブタスクの実行

次に/step-subtaskコマンドを実行します。

/step-subtask [親チケットID]

  1. 親チケット情報を取得
  2. TODO状態のサブタスクから1つ選択し、状態をDOINGに変更
  3. 選択したサブタスクの作業を実施
  4. 作業完了後、コミット&プッシュ
  5. サブタスクの状態をDONEに変更

このコマンドにより、サブタスクを1つずつ完了できます。

ポイントは、作業開始時にサブタスクをDOING状態にすることです。これにより、サブタスク1つ1つに対し作業状態が明確になり、 別のClaude Codeセッションで同じコマンドを実行した場合、自動的に他のTODO状態のサブタスクが選択され、並行作業が可能になります。

サブタスク活用の追加メリット

作業記録の詳細化

Claude Codeにサブタスクを分割してもらう以前もある程度サブタスクの分割は行なっていましたが、人間の手で作業ごとにサブタスクの内容まで細かく記述するのはなかなか難しく、作業の手順をサブタスクのタイトルで表すだけ、といった運用になっていました。

それがClaude Codeでサブタスク分割をすることにより、作業記録をより細かく記録できるようになりました。

コンテキストの保存場所の確保

Claude Codeで作業を中断した際のコンテキストの置き場という意味でもサブタスクは重宝します。もし作業を途中で中断する必要があった際、それまでの作業内容をチケットのコメントに残すことで、たとえ作業者が変わった場合においても途中から作業を引き継ぐことができるようになりました。

作業の引き継ぎのため、以下のコマンドを用意しました:

/handover-subtask - 作業引き継ぎ

  1. 現在の変更をコミット&プッシュ
  2. 作業中のサブタスクに作業内容をコメントとして記録

作業中断時にこのコマンドを実行することで、次の作業者へのスムーズな引き継ぎが可能です。Claude Codeセッション自体は共有できませんが、チケットのコメント機能を活用することで、作業履歴を保存・復元できます。

作業再開時には以下のコマンドを使用します:

/resume-subtask [サブタスクID] - 作業再開

  1. 進行中サブタスクのコメントから作業履歴を取得
  2. 前回の作業コンテキストを復元し、作業を継続

まとめ

Claude Codeでの作業ではまずJiraのサブタスクを作成し、その後サブタスクのステータスによって作業の状態を管理することで、作業の並列性や中断・再開がしやすくなりました。

また、最初の段階でサブタスクの一覧という形で見やすいアウトプットがあることで、Claude Codeがやろうとしている流れが正しそうかを目で見て判断することができます。

この方式により、チーム開発におけるClaude Codeの活用がより効率的かつ透明性の高いものになり、認証グループ全体の生産性向上に貢献しています。