KINTO Tech Blog
Development

Jira触ってみたらわかる、すごいやつやん

Cover Image for Jira触ってみたらわかる、すごいやつやん

3行で概要

  • スクラムマスターをやっています
  • 会社で利用しているのがJira含めたアトラシアン製品でした
  • Jiraの便利な仕組みをいくつか紹介

はじめに

みなさんこんにちは。KTCの小山です。iOS(Swift)エンジニアをしております。最近はスクラムマスターもかじっております。

今回はJiraのプラクティスを紹介したいと思います。

スクラムとJira?

スクラムガイド2020に記載の通り、スクラムマスターには「⾃⼰管理型で機能横断型のチームメンバーをコーチする。」という大きな任務があります。これを満たすために、さまざまな仕掛けを作ることになるかと思いますが、この時にできるだけ人(スクラムマスター)が介さずとも、回る仕組みが重要だと感じております。

・・・。

・・・いえ、決してただ楽したいなどとは。

・・・少し、ほんの僅かばかりしか思っておりませんとも。(みんな楽して仕事したいよね)

そもそもJira?

Jiraはアトラシアン社の製品で、主にプロジェクト管理に用いられるSaaSになります。詳しくは公式サイトをご覧ください。タスク管理の機能が非常に多機能で、同じくアトラシアン社が出しているドキュメント管理ツールのConfluenceと親和性が高いです。

なお弊社ではJiraとConfluenceを導入しており、全社員が利用できるようになっています。全社的に採用しているところって多いのかな?

ようやく本題

フィールドの作成・必須化

「担当者が課題を詳細に書いてくれない!」

「期限は後で追加しようと思ってたけど忘れてた・・」

こんな声が聞こえてきます。

Jiraを使ったプロジェクト管理では1つ1つの課題にどれだけ情報が残るかで、自分や周りの担当者の素早い理解や、何度も同じ話をすることの防止に繋がります。
Jiraではテンプレートで用意されているフィールドの他に、任意のフィールドを追加してカスタマイズすることができ、さらに必須化も自由に設定できます。これを利用して上記の意見を仕組み化して解決することができると思います。

「担当者が課題を詳細に書いてくれない!」

詳細を書けるようにフィールドを細かく追加してみましょう

「期限は後で追加しようと思ってたけど忘れてた・・」

期限フィールドを必須化しましょう

活用事例

私たちのチームでは「iOS」「Android」「バックエンド」等、どのチームが担当するかを明確にするため、「ラベル」の入力を必須化しています。適当なラベルをつけただけでも必須フィールドとしては満たせてしまいますが、作成中の担当者がつけ忘れてしまう事象の回避には十分でしょう。

「ラベル」の項目を必須化しています「ラベル」の項目を必須化しています

設定方法は「必須」のチェックボックスをポチッとするだけ。とても簡単ですね。ただし、どれもこれも必須にしてしまうと課題の作成が億劫になってしまう懸念もありますので、用法要領はチームで相談の上ご設定くださいね。

自動化

「課題作成するたびに毎回同じ値を入れるのが面倒くさい」

「定期的に課題が正しく運用されているか確認したい」

続いては、こんなフィードバックに対応してみます。

Jiraには自動化という機能があり、Jira使いたての頃は何がなんだか分からなくて避けていました。しかし使ってみると本当に便利。Jiraでできることは大抵これで解決することができます。順番に設定方法を見てみましょう。

「課題作成するたびに毎回同じ値を入れるのが面倒くさい」

トリガーを「課題作成時」にしたアクションを作成してみましょう。

私たちのプロジェクトでは「作成時」に「関連した課題があるかどうか」を判断して自動的にフラグをつけるようにしています。参考にこちらの設定内容を紹介します。

ルールのトリガーには「課題の作成時」を設定ルールのトリガーには「課題の作成時」を設定
リンクされた課題に「ストーリー」「バグ」があるかを判定リンクされた課題に「ストーリー」「バグ」があるかを判定

Jiraではただリンクされている課題があるかどうかだけでなく、そのリンクされている課題が何の種類かまで絞り込むことができます。これらを使ってチームのやり方に沿った課題運用をサポートしています。

「定期的に課題が正しく運用されているか確認したい」

こちらはトリガーを「毎日0時」や「毎週月曜日の13時」などに設定してみるのはいかがでしょうか。

私たちのプロジェクトでは、期限付きの課題を忘れないように、定期的に確認できる仕組みを作っています。こちらをご紹介します。

ルールのトリガーに「平日の朝9時」を設定ルールのトリガーに「平日の朝9時」を設定
期限が切れていることをチェック期限が切れていることをチェック
Slack Webhookを使ってメッセージを送信Slack Webhookを使ってメッセージを送信

JiraではSlackへメッセージを飛ばすこともできるため、重要なメッセージは慣れ親しんだSlackに任せて管理することができます。Jira上のコメントだけでは気づけなかった!なんてことを回避することも可能です。

JQL?

自動化の設定の中でちょくちょく出没する「JQL」という単語、聞き馴染みがないですよね。Jiraをタスク管理として使っているだけであれば利用することがないかもしれませんが、管理の観点ではこのJQLのおかげで細やかな設定が可能になっています。

「JQL」とは「Jira Query Language」の略で、Jiraで特定の課題を検索するための独自の言語になります。私自身、Webで必要な情報を検索するのが難しかったため、ここでは自動化で利用しているJQLを紹介したいと思います。

プロジェクトと課題ステータスを絞り込む

定期的な実行ではデフォルトですべてのJiraプロジェクトが適用範囲になってしまうため、何も設定しないまま自動化を設定してしまうと、他のチームの課題をうっかり操作してしまった!なんてこともありえます。

私たちのプロジェクトではスケジュールで実行する自動化については以下の条件を設定しています。

  • プロジェクトが担当プロジェクトであること
  • ステータスが「Done」もしくは「DROP」であること
project = PP20 AND status not in (Done, "DROP")

※PP20の部分にはプロジェクトに設定されたキーを入力

Slackに送信するメッセージに課題の中身を挿入

自動化でも紹介した通り、Slackに連携することは可能ですが、課題の情報がなければSlackで呼びかけられた担当者が困惑してしまいます。

私たちのプロジェクトでは以下の設定でSlackメッセージを作成しています。

*期限の過ぎているチケットがあります。至急内容を確認してください。* @channel
> 【<https://hogehoge.atlassian.net/browse/{{issue.key}}|{{issue.key}}>】{{issue.summary}}

このようなメッセージに変化します。

実際のSlackメッセージ実際のSlackメッセージ

終わりに

以上、Jiraの便利設定のご紹介でした。Jiraを使っている方、これから管理ツールをJiraにしようかと選定している方の参考に少しでもなれば幸いです。アジャイルの開発がもっとやりやすく進んでいくために、これからもJiraの便利機能は使い倒していきたいと思います。

Facebook

関連記事 | Related Posts

We are hiring!

【部長・部長候補】/プラットフォーム開発部/東京

プラットフォーム開発部 について共通サービス開発GWebサービスやモバイルアプリの開発において、必要となる共通機能=会員プラットフォームや決済プラットフォームの開発を手がけるグループです。KINTOの名前が付くサービスやTFS関連のサービスをひとつのアカウントで利用できるよう、様々な共通機能を構築することを目的としています。

【プロジェクトマネージャー】モバイルアプリ開発G/大阪

モバイルアプリ開発GについてKINTOテクノロジーズにおける、モバイルアプリ開発のスペシャリストが集まっているグループです。KINTOやmy routeなどのサービスを開発・運用しているグループと協調しながら品質の高いモバイルアプリを開発し、サービスの発展に貢献する事を目標としています。