【入門編】複数チーム・大組織向けLinear運用:Cross-team ProjectsとParent-Child Issuesで部門間連携をスムーズにする設計手法 – プロジェクト・ナレッジ管理活用バイブル

こんにちは!チームの開発スピードを限界まで引き上げるアジャイルコーチの先輩です。

数名だったスタートアップのチームが、5人、10人、そして30人……とスケールしていく。開発組織が大きくなるにつれ、こんな悩みに直面していませんか?

  • 「あの機能の実装、今どのチームがどこまで進めているんだっけ?」
  • 「バックエンドとフロントエンドで、イシューの粒度がバラバラで依存関係が見えない」
  • 「気づいたら、部署間を行き来するだけの無駄な進捗確認ミーティングが増えている」

もしあなたが今、複数チームでの開発のモヤモヤを感じているなら、朗報です。今回は、次世代の開発チームで圧倒的なシェアを誇る「Linear」を使い、複数チーム・大組織の壁を鮮やかにブチ破る設計手法を伝授します。

これをマスターすれば、部門間の連携ミスや「言った・言わない」の泥沼から解放され、チーム全体のベロシティ(開発速度)が劇的に跳ね上がりますよ。さあ、一緒にLinearの奥深い世界へ足を踏み入れましょう!

—

1. なぜLinearなのか? 大規模開発でツールが破綻する本当の理由

組織が大きくなったとき、よくある失敗が「Jiraなどの重厚長大すぎるツールを導入して、入力すること自体が目的になってしまう」という罠です。チケットのステータスを変えるだけで数クリック、カスタムフィールドが山のようにあり、エンジニアが「ドキュメント係」と化してしまう。これではアジャイル開発の魂である「個人の対話と動くソフトウェア」が死んでしまいます。

Linearが神がかっている理由は、「圧倒的な速度」と「キーボード駆動のUX」、そして何より「美しい階層構造のシンプルさ」にあります。

これから解説する設計手法を取り入れれば、ツールに縛られるのではなく、ツールがチームの神経系のように滑らかに連携する体験が手に入ります。

—

2. 【基礎セットアップ】複数チーム体制の土台を作る

まずは、組織がスケールしても情報のサイロ化(孤立)を防ぐための、Linearの基本設計を整えましょう。まだLinearに触ったばかりの方でもわかるように、ステップ・バイ・ステップで解説します。

ステップ①:チーム(Teams)の適切な切り方

Linearでは、組織単位(Workspace)の下に「Team」を作ります。ここでよくある間違いが、「プロダクト全体で1つのTeamにする」か「細かすぎる機能ごとにTeamを作る」ことです。

【黄金律】Teamは「デプロイの単位」または「独立した価値提供の単位」で切れ。

  • ❌ 悪例:`フロントエンドチーム`、`バックエンドチーム`(職能別はサイロを生みます)
  • ⭕️ 正解:`Checkoutチーム`、`Core Infrastructureチーム`、`Growthチーム`(機能・ドメイン別クロスクロジカルチーム)

ステップ②:ワークフロー(Workflow)の標準化

複数チームが連携するためには、共通言語が必要です。Linearの設定画面(Settings > Teams > Workflow)から、全チーム共通のステータスを定義します。

  • `Backlog` (未着手・アイデア)
  • `Triage` (新規流入の受口)
  • `Todo` (今スリントでやる)
  • `In Progress` (開発中)
  • `In Review` (レビュー・QA中)
  • `Done` (完了)
  • `Canceled` (中止)

この基本の7つをブラさないことが、チーム間の連携の第一歩です。

—

3. 【実践:Hello World的動作確認】最初のCross-team Projectを作ってみる

百聞は一見にしかず。実際に複数チームが絡むプロジェクトをLinear上で立ち上げてみましょう。ここでは、「決済システムの全面リニューアル(Checkout & Core APIの連携)」を例にします。

3-1. Cross-team Projects(クロスチームプロジェクト)の活用

Linearの「Projects」機能は、単なるラベルではありません。複数のチームにまたがるゴールを束ねる強力なコンテナです。

1. サイドバーの「Projects」から `+ New Project` をクリック。
2. Project名に `【Q3】次世代決済基盤リニューアル` と入力。
3. ここがキモ! 「Lead(責任者)」を設定し、「Teams」のセクションで `Checkout` チームと `Core Infra` チームの両方を追加します。

これで、異なるチームのイシューを1つのプロジェクトの傘下に集約できるようになりました。どちらのチームが進捗を更新しても、プロジェクト全体の進捗バーがリアルタイムで連動します。もう「相手の進捗どうなってる?」とSlackで聞き回る必要はありません。

—

4. 巨大な機能を攻略する!Parent-Child Issuesのデザインパターン

数ヶ月かかるような巨大な機能(Epic級のタスク)を、そのまま単一のイシューとして起票していませんか? 複数チームで分担する場合、これでは確実に破綻します。

ここで使うのが、Parent-Child Issues(親子イシュー)です。

失敗談から学ぶアンチパターン

> 【ある日の悲劇】
> 「新決済フローの実装」という巨大なイシューを1つ作り、CheckoutチームとCore Infraチームのメンバーをアサインした。結果、誰がどこまでやったのか分かりにくくなり、お互いのプルリクエストがコンフリクトの嵐に。納期前夜、誰も全貌を把握していないカオスが生まれた……。

【極意】Parent-Childによる責任分界点のデザイン

巨大な機能は、以下のように「ツリー構造」に分解します。

📁 [Parent] 新決済フローの全面刷新 (Project: 次世代決済基盤リニューアル)
┣ 📜 [Child 1 – Core Infra] 決済トランザクションAPIのv2エンドポイント作成
┃ ┗ 🛠️ [Grandchild] DBスキーマのマイグレーション実装
┗ 📜 [Child 2 – Checkout] 新APIに対応するUIコンポーネントの改修
┗ 🛠️ [Grandchild] エラーハンドリングのE2Eテスト追加

Linearでの実装手順:

1. 親イシュー(例: `新決済フローの全面刷新`)を起票する。
2. キーボードショートカット `Cmd + Shift + I`(またはメニューから)を使い、子イシューを次々と生み出す。
3. 親イシューは「Team: All(またはプロジェクト全体のオーナーチーム)」に置き、子イシューはそれぞれの専門チーム(Core Infra / Checkout)に割り当てる。

これにより、親イシューを見れば「プロジェクト全体の完了率」が一目でわかり、子イシューを掘り下げれば「各チームの具体的なタスク」にダイレクトにアクセスできます。情報の階層化が美しく決まると、開発チームの認知負荷(Cognitive Load)が劇的に下がるのです。

—

5. チーム間依存関係(Dependencies)の可視化でブロックを防ぐ

複数チーム開発で最もプロジェクトを遅延させるのは「依存関係のデッドロック(Aチームが終わらないと、Bチームが始められない)」です。

Linearには、イシュー同士に「Blocked by(何にブロックされているか)」を設定する機能があります。

  • Checkoutチームの子イシューを開く。
  • 右側のプロパティから「Add dependency」を選択。
  • Core Infraチームの子イシュー(API実装)を指定する。

これで、Core Infra側のタスクが完了するまで、Checkout側のイシューには「Blocked(ブロック中)」の視覚的なアイコン(🛑)が自動でつきます。
さらに美しいのは、依存している親タスクが完了すると、自動的にブロックが解除され、次のチームに通知が飛ぶという仕組みです。人手によるメンテンス不要で、システムが勝手に交通整理をしてくれます。

—

6. おわりに:ツールはチームの「思考の鏡」

今回は、Linearを用いた複数チーム・大組織向けの組織設計と、Cross-team Projects・Parent-Child Issuesのデザインパターンを解説しました。

  • Teamの単位は「価値提供の単位」で切る
  • 複数チームのゴールは「Cross-team Projects」で束ねる
  • 巨大な機能は「Parent-Child Issues」でツリー状に分解し、チームへ適切に委譲する
  • 「Dependencies」でチーム間の足並みを自動制御する

ツールはあくまでチームの「思考の鏡」です。組織のコミュニケーションがぐちゃぐちゃであれば、どんな高価なツールを入れても単なるゴミ箱になります。しかし、今回紹介したようなクリーンな設計思想をLinearに落とし込めば、ツールがあなたたちのチームワークを優しく、力強く支えてくれるはずです。

これをマスターすれば、毎日の作業が、そしてチーム全体の開発が、劇的に、心地よく楽になりますよ。さあ、明日からのスプリント設計に、早速取り入れてみてください!

タイトルとURLをコピーしました