SmartHR Tech Blog

SmartHR 開発者ブログ

スプリントプランニングの未来予測: 予言の書

こんにちは! SmartHR プロダクトエンジニアの @sakata と @hypermkt です。

SmartHRではほぼすべてのチームでスクラム開発を行っています。スプリントプランニングとスプリント進行中における課題に対し、私たちのチームでは「予言の書」という取り込みを行っています。本記事では、この「予言の書」の概要とその効果についてご紹介します。

予言の書が必要な背景

スクラム開発で、チームが消化できるキャパシティからタスクを選定したにも関わらず、すべてのタスクの消化ができなかったという経験はありませんか? 私たちはたくさん経験したことがあります。そこにはスプリントプランニングにおける計画とスプリント進行の難しさがありました。

すべてのタスクが終えられるか不安がある

まだ作業タスクには何も着手していないので当たり前ではありますが、チームが消化可能なキャパシティからタスクを選定し、優先度順に並び替えているため、想定どおりであれば終えられずはず...ではあります。しかし、本当に終えられるだろうか?と漠然とした不安がありました。

日単位での作業タスクの目標が分からない

毎日の作業タスクの消化の積み重ねですべての作業タスクを終えることがができます。しかし、スプリント全体を俯瞰して見た際に、日単位でどのタスクがどこまで終わっていれば良いのか分からないという課題がありました。

サブタスクの並列作業の可否、ブロッキング関係が見えづらい

SmartHRでは、多くの開発チームでJIRAを利用しており、スプリントのチケット、チケット毎のサブタスク、優先度、作業進捗をJIRAで管理をしています。 作業タスクによっては並列作業が可能なもの、またはブロッキング関係にあり前段となるタスクが終わらないと後続タスクに着手できない(しづらい)というものもあります。 それらがJIRAからでは視覚的に分かりづらいという課題がありました。

JIRAによるスプリント管理の例

予言の書とは

ここまで紹介した課題を解決するため、私たちのチームでは「予言の書」という取り組みを行っています。 予言の書とは、 ひとことで表すと「スプリントをバーンダウンさせるために、スプリントの開始から終了までのタスクの流れを未来予測、つまり"予言"した表」です。 この表を我々は「予言の書」と呼んでいます。

下図が予言の書のイメージです。

予言の書の例

このスプリントでは2枚のチケットを取っており、スプリント内ですべてのチケットを完了させるためには、それぞれのチケットのサブタスクをいつまでに終わらせる必要があるかをチームメンバーの稼働時間を考慮しつつ配置しています。

SmartHRではオンラインホワイトボードツールとしてFigJamを使用しているため、予言の書もFigJam上で作成・運用しています。

予言の書の運用の仕方

予言の書を運用するためには、スプリントプランニングで予言の書を作成とデイリースクラムでの検査と適応の2つのステップが必要です。

スプリントプランニングで予言の書を作成する

予言の書は、スプリントプランニング中に作成しています。

はじめに、カレンダーを見ながら、各メンバーがスプリントタスクに取りかかれる時間帯を確認します。 SmartHRではGoogleカレンダーで予定を共有しているため、チームメンバーの予定が確認できるようになっています。

次に、何枚のチケットを並行して進められるか、サブタスク間でブロッキングの関係がないか、といった観点で日ごとにどこまで終わらせる必要があるかという目標を立てます。

また、バーンダウンをするためには、各サブタスクをいつまでに終わらせる必要があるのかという観点も重要です。

予言の書の作成には毎回約20分〜30分かかっています。予言の書作成に慣れていない時期は30分以上かかることも多々ありました。

予言の書で親チケットとサブタスクを配置した例

デイリースクラムで予言の書と照らし合わせて検査と適応を行う

私たちのチームでは、デイリースクラムで予言の書を見ながら、スプリントゴールに対する進捗の検査と適応を行っています。

前日にやったことを確認し、困っていることや相談したいことを共有します。 予定よりも進捗が遅れている場合は、以下の観点で議論を行いサブタスクの調整をします。

  • 前日に終わらなかったサブタスクを今日の目標に追加する
  • どうすれば今日の目標が達成できるかを議論する
  • 作業時間が足りない場合は、ミーティングの延期・見送りを検討し、時間を捻出する
  • 残業による時間の捻出はしない

タスクを進める中で新たにサブタスクを追加した場合は、予言の書にも反映させます。前日にやったことを踏まえ、今日の目標を達成するために誰が何をやるべきかの認識をチームで揃えます。また、その日の目標を達成できそうかを検査する場として「夕会」を設けています。

夕方の時間に夕会用のSlackスレッドが立ち、そこに非同期で進捗状況をカジュアルに共有しています。夕会の時点で進捗がよくない場合は、その日の目標達成に近づけるために、残りの時間で何を優先すべきかを考えます。

また、サブタスクを進めていく中で、進捗に関するメモを付箋機能を使い、予言の書上に貼っています。 相談したいことや気になることをメモしておき、デイリースクラムで確認しています。 手軽にメモを残せるという点もオンラインホワイトボードツールの便利な点です。

予言の書に付箋でコメントをした例

予言の書で得られる効果

予言の書を利用することで以下のような効果が得られるようになりました。

スプリント開始時点でスプリント内にすべてのタスクが終えられるかが分かる

まずこれを把握できるようにすることが一番大事です。ちゃんとすべてのタスクが終えられる見込みがある目標を立てることで、自信を持ってスプリントに入ることができるようになりました。

日単位でのゴールが明確になる

日単位のゴールが明確により、対象のタスクに的を絞って議論ができるようになります。これにより着実に進捗を出して前に進むことができるようになりました。

サブタスクごとの並列作業の可否、ブロッキングが見える化される

タスクによっては、フロントエンドとバックエンドで並列作業が可能なものや、タスクの性質的に直列でないと進行できないものがあります。 タスクの優先度による並び替えで順番としては表現することはできますが、並列作業の可否やブロッキング関係までは分かりづらいです。

サブタスクごとの関係性を矢印で表現することで、並列作業の可否やブロッキング関係が見える化できるため、スムーズなタスクの着手判断が可能になりました。

デイリースクラムで検査と適応の議論が自然とできるようになる

タスクによっては着手して初めて気づく課題は大いに発生します。デイリースクラムではタスクの進捗、困ったこと、担当調整などを話しますが、予言の書と照らし合わせながら話すことで、状況把握やタスク調整がしやすくなりました。

最後に

予言の書についていかがでしたでしょうか。正直なところ最初の頃は、「なんて面倒くさいんだ...」「余計に時間をかけているだけでは...?」と懐疑的に考えていた時期もありました。 しかし、いざ予言の書をチームで利用してみると上述の効果があり、チームでより一致団結して前に進められるようになったと感じています。今となっては予言の書のない生活は考えられない...!とすら感じています。

もし同じ悩みを抱えている方がいましたら、ぜひ一度「予言の書」をお試しください!!

We Are Hiring!

SmartHRでは一緒にSmartHRを作りあげていく仲間を募集中です!

少しでも興味を持っていただけたら、カジュアル面談でざっくばらんにお話ししましょう!

hello-world.smarthr.co.jp