🤩

スクラム開発で役立つLinearの機能5選

2024/12/23に公開

はじめに

こんにちは!J-CAT 株式会社でエンジニアをしている井原です。

私たちのチームではタスク管理ツールとしてLinearを使っています。
Linearは2021年にリリースされた比較的新しいツールです。
シンプルで使いやすいUIが特徴で、何よりスクラム開発との相性がメチャメチャ良いんです!

今回は、Linearの中でも特にスクラム開発に役立つ5つの便利な機能をご紹介します!

1.Slack連携

  • Slack上で通知の受取&返信ができる
    Slack上でLinear連携することで、DMから通知を受け取れるようになります。
    返信もできるので、Slack上でLinearの操作を完結できます。

  • syncスレッド
    Slack上のメッセージにLinearのチケット番号を含めると、自動でリンクが生成されます。
    そのリンクから「syncスレッド」を設定することで、
    SlackでのメッセージをLinearで、
    LinearでのメッセージをSlackで確認することができます。

これにより、「こないだのやり取りってSlackだったっけ?それともLinear?」と迷う時間を削減でき、情報が追いやすくなります。
ただ、この機能を使うためには手動で設定する必要があるのだけ欠点です。。。(回避する方法もあるので後述します)

Slack上でメッセージを送信すると…

Linearにも反映される

Linear上でメッセージを送信すると…

Slackにも反映される

  • Slackからチケットを作成できる
    /linear チケット名とコメントすれば作成できます。

ちなみに作成時「sync thread?」にチェックをつけると、
上で説明した手動設定が不要になり便利です。

2.GitHub連携

Pull Requestやコードレビューの状況がLinearに自動反映されるよう設定できます。
私たちのチームでは以下のように使用しています。

GithubのPRタイトルにチケット番号をつけると、

Linearのチケットに反映される

紐付けたgithubのPRにレビュワーを設定したら、

Linearのステータスが「レビュー中」に自動で移動

紐付けたgithubのPRがマージされたら、

Linearのステータスが「デプロイ済み」に自動で移動

3.cycle機能(開発状況を自動で可視化)

cycle(スクラムでいうスプリント)ごとのタスク進捗や消化ポイント数を自動で集計してくれます。
これにより、チームおよび個々人のベロシティが可視化されるため、次回スプリントの計画を立てるのに役立ちます。

cycle内に完了しなかったチケットは、次のcycleに自動的に持ち越しになるので、再度手動で付け直すのようなことは不要です(これが地味に便利!)

例えばcycle38で完了にならなかったチケットは、cycle39が始まったら自動で付け替えられます。

4.APIによる計測

LinearにはAPIが用意されていて、cycleごとの開発リードタイムやタスクの完了時間など、チームのパフォーマンスを示すデータを取得することができます。

私たちのチームでは、linearをインストールしたtypescript製のscriptを用いて、以下を計測しています。

  • 開発時間:開発中→レビュー中になるまでにかかった時間の平均値
  • レビュー時間:レビュー中→マージまでにかかった時間の平均値
  • リリース時間:マージからリリース完了までにかかった時間の平均値

これらの結果をもとにチームで振り返りを行い、
「なぜ開発時間が増えてしまったのか?」「レビュー時間を短縮するためにPRの単位を小さくしよう」など、生産性向上のヒントを見つけています。

5.Block機能

Block機能を使うと、タスク間の依存関係を表現できます。
ブロックマークが出て、依存関係を視覚的に確認できるので便利です。
他タスクをチケットをBlock

Blockされているチケット

まとめ

Linearは、スクラム開発における情報の一元化、タスク管理の効率化、そして開発プロセスの可視化を実現する強力なツールです。
もしあなたのチームが情報の分散や進捗の不透明さに悩んでいるなら、ぜひ一度試してみてください!

おまけ

linearをブラウザの検証ツールを使って見てみると、なんと自社の宣伝メッセージが出力されます!
開発者の遊び心が出てて良いですよね。
ブラウザの検証ツールを開くのはエンジニアぐらいだと思うので、宣伝効果はある程度ありそうですね(笑)
皆さんもぜひ見つけてみてください!

J-CATテックブログ

Discussion