こんにちは。現場の最前線でコードと向き合い続けているエンジニアの皆さん。
今日は、多くの開発チームが頭を悩ませる「工数管理」という永遠の課題に対し、BitbucketとJiraの連携を極限まで高めることで、「開発者はコードを書くだけ、集計はシステムが勝手にやる」という究極の自動化環境を構築する方法を伝授します。
「タスクが終わるたびに工数入力画面を開く」なんていう時代遅れな作業は、今日で終わりにしましょう。
—
なぜ「スマートコミット」の深掘りが必要なのか?
多くのエンジニアが「Jiraのチケットキー(例: PROJ-123)をコミットメッセージに入れる」ことまではやっています。しかし、その先にある「時間の記録(Time Tracking)」まで使いこなせているチームは驚くほど少ない。
これをマスターすると、「どの機能にどれだけの技術的負債が隠れていたのか」「スプリントごとのベロシティはなぜ変動したのか」が、ダッシュボードを見るだけで一目瞭然になります。
—
1. 準備:魔法をかけるための「アプリケーションリンク」
まずはBitbucketとJiraが「会話」できるようにします。
1. 接続の確認: Jiraの `管理` > `アプリケーション` > `アプリケーションリンク` を開き、Bitbucketと連携されていることを確認してください。
2. 権限設定: Jira側で「タイムトラッキング」機能が有効になっているか確認します(`課題設定` > `タイムトラッキング`)。これがオフだと、いくら魔法のコマンドを打っても工数は記録されません。
—
2. 実践:コミットメッセージで工数を記録する
ここが本題です。Jiraのスマートコミットを活用すれば、わざわざチケット画面を開く必要はありません。
コミットメッセージの最後に、以下の形式で記述します。
形式: [チケットキー] #time [作業時間] [コメント(任意)]
git commit -m “PROJ-123 実装完了 #time 2h 30m UIの修正とAPI結合”
- `#time 2h 30m`: これが魔法のコマンドです。システムが自動的に当該チケットの「作業時間」として計上します。
- メリット: コンテキストスイッチが起きません。コードを書くフローの中で、思考を止めずに記録が完了します。
—
3. 可視化:スプリント生産性ダッシュボードの構築
工数を記録しても、見えなければ意味がありません。Jiraのダッシュボードで以下のガジェットを追加し、最強の管理画面を作りましょう。
1. 「作業ログ」ガジェット: チームメンバーの直近の動きがリストで見えます。
2. 「円グラフ」ガジェット: 統計タイプを「作業時間」に設定してください。これで、「今週、チームが何に時間を使ったか」がカテゴリ別に可視化されます。
3. 「バーンダウンチャート」: 予定(見積もり)と実績(#timeで記録した時間)の乖離を監視します。
ここでプロのコツ:
ダッシュボードには「フィルター」を設定しましょう。
`project = “PROJ” AND worklogAuthor in membersOf(dev-team)` といったクエリを組むことで、特定のチームの生産性だけを抽出できます。
—
4. 精度を高めるための「運用ルール」
どんなに優れたツールも、運用の質が低ければゴミデータしか溜まりません。以下の3点をチームの「儀式」としてください。
- 粒度は「最大4時間」まで: 1タスクで「16時間」と記録されると、何がボトルネックか分かりません。大きなタスクは必ずサブタスクに分割しましょう。
- コミットはこまめに: 1日1回の巨大なコミットではなく、論理単位でコミットしてください。自動集計の解像度が劇的に上がります。
- レビューも工数: レビューにかかる時間も `#time` で記録する習慣をつけましょう。これが「開発以外の見えない工数」を浮き彫りにする鍵です。
—
最後に:あなた自身を自由にするために
正直に言います。最初は「いちいちコミットメッセージを打つのが面倒」と感じるかもしれません。しかし、2週間続けてみてください。
月末の「工数入力のために時間を割く」という、エンジニアとして最も無価値な時間が消滅し、あなたの生産性は確実に向上します。「自動化できるものはすべて自動化する」。これがDevOpsの真髄です。
この小さな習慣が、あなたのチームを「進捗確認会議」という名の地獄から救い出す最初の一歩になります。
さあ、次のコミットから、ぜひ `#time` を添えてみてください。世界が変わりますよ。