プロダクトバックログDeep Dive。スクラムのプロダクトバックログをどう作成し、手入れし、スプリントに投入するべきか(中編)。Regional Scrum Gathering Tokyo 2022

今回は「プロダクトバックログDeep Dive。スクラムのプロダクトバックログをどう作成し、手入れし、スプリントに投入するべきか(中編)。Regional Scrum Gathering Tokyo 2022」についてご紹介します。

関連ワード (日程、最初、特性等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


代表的なアジャイル開発手法の1つであるスクラムを構成する要素として「プロダクトバックログ」はもっとも重要なものの1つです。

プロダクトバックログは、プロダクトが目指す「プロダクトゴール」を含み、「スクラムチームが行う作業の唯一の情報源」とされています。

このプロダクトバックログとはどのようなもので、どう作成し、手入れをし、どのようにスプリントへ投入していくべきなのかを詳しく解説した、株式会社アトラクタ 吉羽龍太郎氏のセッション「プロダクトバックログDeep Dive」が、1月5日から7日まで行われたイベント「Regional Scrum Gathering Tokyo 2022」で行われました。

(この記事は前編、中編、後編の3つに分かれています。いまお読みの記事は中編です)

プロダクトバックログアイテム

次は、プロダクトバックログアイテムを見ていきます。

先ほど説明した通り、スクラムではプロダクトバックログアイテムの書き方などは決められていません。

どんな書き方をしてもいいのですが、よく使われるのはユーザーストーリーです。

XP由来で、誰々として何ができると、それは何のためです、というのを簡単に書いたものですね。

右側にある絵はケント・ベックのやつですけど、意図的な制約、領域の制約がある、というのが肝だったりします。

fig

ユーザーストーリーをどう扱うのかというと、Card、Conversation、Confirmationとよく言われます。

fig

ストーリーをカードに書いて、見積もりとかメモも一緒に書く。物理的な制約もあるでしょう。

それらをもとプロダクトオーナーと会話をすると、会話からもっと細かい情報が引き出されるはずです。それを受け入れテストで正しく実装されてるか確認しましょう。

つまり、単にフォーマットに従って書けばいいかというと、それは些細な話で、会話から引き出されるところが非常に重要になってきます。

ユーザーストーリーについて、これらが満たされるとよい特性として、他によく言われるのがIndependent、Negotiable、Variable、Esitmable、Sized Right、Testableなどです。

fig

ただし全てのプロダクトバックログアイテムがこれらを全部満たせるかというとそんなことはなくて、順番が上のものは満たさなくてはいけないけれど、下のものはどうせすぐやるわけでもないのでとりあえず放っておいて大丈夫です。

で、どういうふうに書いたらいいんですかってすごい聞かれるんですけど、本当に大事なのはですね、そもそもどういう課題を解決しようと思っているのか、です。規模感や必然性や、そういう議論を誘発するのが重要で、その会話なしに共通理解は生まれないわけです。

プロダクトオーナーがプロダクトバックログアイテムを書いて、開発者に投げ込んで、あとよろしくね、という類のものではなくて、会話が必要なんです。

fig

重要なのは共通理解で、これを形成できるように話さなきゃいけないし、話す時間をとってくださいね、というのが肝だったりします。

もちろんユーザーストーリーだけじゃなくって、ユーザーストーリーの他に受け入れ基準を書いたり、そもそも解決したい課題を書いたり、WindowsなのかiOSなのかAndroidか、プラットフォームを書いたり、KPIを書いたりですね、必要に応じて自分たちで情報を足していけばいいので、フォーマットを決めたからこれ全部埋めてください、というものではないということです。

fig

これは避けたいプロダクトバックログアイテムの例

ちょっと避けたいプロダクトバックログアイテムの例を見ておくと、「○○機能が欲しい、なぜなら○○機能がないから」というものがあります。そりゃそうでしょうというやつですね。

fig

ソリューションがないのは分かるけど、それを作りたい理由があるはずなので、それを教えてくれという話です。こういうのはつらい。

それから画面単位のプロダクトバックログアイテム。これは最初にプロトタイプとかモックを作ると、こういうプロダクトバックログアイテムを作りがちなんです。

fig

しかしこれは良くないアプローチです。画面には通常多くの要素が入っていて、1スプリントで完成させるには大きすぎることが多いんですね。

例えば「検索画面」と言ってもいろんな項目が入っているわけです。それをばらして考えると、必須のものとそうじゃないものがだいたい混在していて、一気に作ろうとするととても時間がかかるので、こういうのはよくないということですね。

デプロイを自動化したい、みたいなプロダクトバックログアイテムも気持ちは分かります。ですが、本当に解決したい課題はデプロイにかかる時間が長すぎるのか、手順を頻繁に間違えてしまうのか、デプロイ職人がいないとデプロイできないのか、などの理由があるはずで、そこが分かるとフルに自動化しなくても解決できるかもしれないですよね。

fig

なので、本当に解決すべき課題とは何かを表現するのが理想です。

プロダクトバックログアイテムの「お手入れ」

次は、プロダクトバックログアイテムをお手入れの話をしていきたいと思います。

よくやるのはプロダクトバックログリファインメントですね。

fig

これはイベントではなくて活動なので、定常的にやりましょう。もちろんイベント的にやってもいいんですけど、新規のプロダクトバックログアイテムを足したり見積もったりですね、いらないやつを削除したり見積もり直したり。

それから並び順が最新になっていることを確認したり。

それから次のスプリント、次の次のスプリントにはREADYのプロダクトバックログアイテムを投入しなきゃいけないということで、詳細を確認してREADYにする作業というのも必要でしょう。

上位にいて大きいサイズのプロダクトバックログアイテムは、分割しなくてはいけないですし。

こういうのがプロダクトバックログリファインメントでやる内容です。

開発する項目も多いし忙しいのでリファインメントに使える時間が全然ないんですと、よく言われますが、これは逆で、プロダクトバックログの手入れをしないから時間がなくなるんです。

生煮えのプロダクトバックログアイテムをスプリントに投入して、無理に作ろうとしてスプリントがぐちゃぐちゃになるから、手入れをする時間がなくなるのであって、ちゃんと手入れをしておけばいいはずです。

それから構造上、プロダクトオーナーはボトルネックになりやすいものです。開発者のスキルが上がってくると、一般的にそのプロダクトオーナーの部分がボトルネックになるんですね。

そうしたらプロダクトオーナーのサポート役を増やしてでも、そのプロダクトバックログアイテムを安定供給できるようにしていかなきゃいけないですね。

プロダクトバックログアイテムの分割

よくあるお手入れの一つが、プロダクトバックログアイテムの分割です。

さっきのホテルの予約の例で言うと、「利用者としてホテルの予約をキャンセルできる」というプロダクトバックログアイテムは、プレミアムメンバーだったらギリギリまで予約をキャンセルできる、一般客だったら24時間前までキャンセルできる、キャンセルしたらメールが飛ぶ、みたいに分割できそうです。

fig

分割の利点は、分割するとそれぞれのアイテムが全く違う並びになるところです。

例えば、とりあえず一般客対応だけは真っ先にやらなくてはいけないけれど、メールはとりあえず送らなくてもいい。プレミアムメンバーはまだいないから将来でいい、など、順番がバラバラになる。そういうのが利点ですね。

分割はやり方がいっぱいあってですね、ここで紹介してるのは全部で10個ぐらいです。

fig

はっきり言えるのは、いわゆる開発工程では分割するな、ということです。

このスプリントで設計をして次のスプリントで開発しますとか、ちょっと何言ってるか分かりません。

それから、このスプリントでHTMLのフォームの部分を作って、次のスプリントでサーバーサイド作りますとか。これも数珠つなぎでウォーターフォールみたいにスプリントごとの依存関係が生まれるのでよくないです。

ですから意味のある機能性を持った状態で分割をしなくてはいけません。

例えば、ワークフローのステップで分割する。

fig

「ユーザーがホテルを予約できる」というのが分割前のプロダクトバックログアイテムだとすると、分割後はユーザーが部屋と日程を指定してホテルの予約を送信できる。ホテルの予約の際に本人確認が行われる。予約が終わったら確認メールがユーザーに届く。と、こんな感じです。

本人確認とか確認メールはあとのスプリントでもいいかもしれません。

それから、ビジネスルールで分割。

fig

いずれにしても、意味のある単位が残っているということがポイントになってきます。

プラットフォームで分割する場合には、「予約状況を見ることができます」というプロダクトバックログアイテムを、Webブラウザで見える、スマホで見える、印刷できる、という感じに分けることができそうです。

fig

それから、入力パラメータで分割。「ホテルの空き情報を知ることができる」というプロダクトバックログアイテムを分割すると、日程を指定して空き情報を知ることができる。部屋のサイズを指定して知ることができる。価格の範囲を指定して知ることができる。みたいに分ければ、とりあえず日程だけの検索で申し込んでもらえればいいのでは、ほかの部分は後回しにしましょう、と言えそうです。

fig

あとはCRUDで分割。追加、更新、削除ですね。宿泊対象の部屋を追加、更新、削除できるとしたら言ったらそれぞれに分割する、というのもあります。

ただし、Ruby on Railsなどを使っているとCRUDは全部1日できるよね、というケースもありますので、あくまでも例としてはこういう分け方もあります、ということです。

fig

それから人の役割ですね。利用者の役割によって分割する。

fig

それからブラウザとか入力デバイスのバージョンで分割する。

fig

こんな感じで、あの手この手で意味のある単位で分割をするというのが肝ですね。

プロダクトバックログの並べ替え

次は、プロダクトバックログの並べ替えの話です。

並べ替えには非常にシンプルな原則があります。いくつかの観点を組み合わせて並べ替えをするのがポイントです。

fig

スクラムガイドは、並べ替えをしなさい、としか言ってないんですけど、一般的には価値の高いものは上に行きます。

それから、なるべくリリースまでの時間が短くなるような並び順にします。

そしてリスクが最小になるように。例えば、機械学習を使ってこういうことをやりたいんだ、というプロジェクトの場合、そこが駄目だったら後続のスプリントをやる意味すらなかったりするので、そういうリスクのあるやつを先にやることでリスクが最小になったりします。

ですので、リスクが大きいものが上に行く。

将来の無駄を避けるために、先に入力画面とかデータ登録機能を作った方が楽だよね、みたいな理由で先にすることもあるでしょう。

もちろん、プロダクトバックログアイテムの大きさや発生するコストとかによっても並び順が変わります。

お金がかからなくて、ほどほどの価値のものを先にしよう、とか、お金がすごいかかるけど価値もまあまあ高いというのをどうしよう、とか、みたいな感じで並び替えていく。

価値だけじゃなく、複数の要素を組み合わせてプロダクトバックログアイテムを並び替えていただく必要があります。

ログイン機能は先に作るべき?

ちょっと重要な話なんですけど、ログイン画面やログイン機能って、だいたい作るじゃないですか。開発の段取りを考えると画面遷移上の導線になるので、ログイン機能は先に作りたくなるんですね。

まずログインして、その後にこういうのが表示されて、次にこういうことをやっていきますよ、と考えるとログイン画面を先に作りたくなるんですけど、これはちょっと考えた方がいいですよね。

例えば第1スプリントでログイン機能を作りましたと。ステークホルダーを呼んでスプリントレビューに招待しました。さあデモします。

Webブラウザを開いて、IDパスワードを入れて送信ボタンを押してログインします。以上です。となったら、それはアホですかと。

fig

特に初期のスプリントレビューは、プロジェクトの方向性が正しいのか、みたいな、何か検証したい課題があるはずなんです。そこにログイン画面だけを見せても意味ないかもしれないですよね。

ログイン機能を作るとどんなリスクが減るのか、どんな価値が生まれるのか、どんなフィードバックが欲しいのか、と考えると、開発側の都合でログイン機能を先に作るのはちょっとナンセンスだということになります。

≫続きます:次のページでは、初期のプロダクトバックログの作り方、分割してどんどん小さなプロダクトバックログアイテムが増えたらどうするのか、など会場からの質問に答えます。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
「チェック・ポイントはファイアウォールだけではない」–佐賀新社長が方針表明
IT関連
2023-07-15 00:41
エイシング、32ビットマイコンに実装可能なAIアルゴリズムを開発
IT関連
2021-01-15 20:21
「IT部門は“御用聞き”から脱却せよ」– ガートナーフェローが訴える意図とは
IT関連
2021-07-09 10:36
Dropboxがフィッシング攻撃の被害に–GitHubに保存していたコードの一部が窃取
IT関連
2022-11-03 08:44
AIによる不正取引検知の仕組み
IT関連
2022-03-23 14:26
湖池屋、経営管理プラットフォーム「DIGGLE」導入–経営データの可視化を目指す
IT関連
2024-05-25 00:40
「Android」版「Gemini」、ロック画面から利用可能に
IT関連
2024-07-23 13:57
中国のライブコマースで進むAI活用–AIライバーの可能性と課題点
IT関連
2023-05-17 07:00
フィギュア高橋大輔がデザインした1R物件販売 かなり青いが「とても落ち着く雰囲気」
くらテク
2021-01-20 21:29
アクセンチュア、共創拠点を京都に開設–AI主導による企業の変革支援
IT関連
2024-11-16 22:05
タイヤ交換だけで農業用一輪車・ねこ車を電動化する「E-Cat Kit」が広島県JA尾道市で販売開始
モビリティ
2021-05-27 13:41
アカマイCEOが説く「クラウドサービス市場へ本格参入した理由」
IT関連
2024-04-13 20:13
日立、乗客需要や混雑度合いの分析結果を提供–AI・シミュレーション技術活用
IT関連
2022-01-30 09:36
ハッカーに狙われる重要インフラ–被害が起きる前にセキュリティ強化を
IT関連
2022-08-31 22:20