【スクラム】プランニングポーカーをやってみて
こんにちは!サーバーサイドエンジニアのメグミです!
私は今、健康診断管理機能の開発チーム(健診チーム)でお仕事しています。
最近、チームでプランニングポーカーをやったのでブログにしてみたいと思います!
プランニングポーカーとは
相対見積もりの方法で開発者自身(チームの全員)で行います。
専用のカードを使って見積もります。(スクラムポーカーとも呼ばれるみたいです。)
必要なもの
- カード
- 1,2,3,5...のフィボナッチ数が書かれているもの
- 市販のものでも、手書きでも、トランプでもよい。
- 実際に作業するメンバー
やり方
簡単に以下の流れで見積もっていきます。
- 基準となるプロダクトバックログの項目を1つ決める
- 参加者それぞれに数枚の同じカードを配る
- 基準と比較しながら見積もった数字のカードを一斉に公開する
- 数字が合わなければその理由を簡単に話し合う
- 意見をふまえてまた数字を出し直す
- 数字が揃うまで 3〜5 を繰り返す
見積もりの前に
健診チームでプランニングポーカーを行うのは初めてでした。
今回基準にしたのは以下のような内容で、ストーリーポイントを「3」としました。
- 健康診断の受診情報を取得するためのQueryの新規作成
- データの更新処理は発生しない
- スキーマの変更なし
これを基準とし、他のissueのポイントを見積もっていきました。
ストーリーポイントって?
ストーリーポイントとは、課題の大きさのことです。
一見、作業にかかる時間のことかと思いがちですが、違います。
課題の大きさは誰にとっても同じということになり、
この課題を完了させるまでの時間は人によって異なるということです。
例えば、渋谷駅から原宿駅までの距離は誰にとっても同じ距離ですが、
車で行くか、電車で行くか、歩いていくか、によって移動時間は違います。
距離 = 課題の大きさ(ストーリーポイント)
移動時間 = 作業にかかる時間(工数)
という感じですね!
いざ、見積もり!
対象のissueを選び、メンバー全員で想定される作業を確認していきます。
主に確認する点は以下の点です。
- スキーマの変更があるか
- データの更新処理があるか
- 設計はできているか
- 影響範囲がどのくらいか
その後、せーの!で一斉にカードを出します!
(これが意外と楽しかった😆)
揃わない場合に各メンバーから意見を聞きます。
それぞれどんな理由でそのポイントにしたかを確認し、チームで議論します。
iCAREではissueの管理を ZenHub を使って行っています。
(ZenHubについての記事は こちら )
こんな感じで issue に Estimate でポイントを設定することができます。
実際にやってみて
見積もりが難しいと感じたところ
- 作業的にはそこまで大変ではなさそうだが、設計から行わなければならず時間がかかってしまう。
- 自分がやったことのない処理や、新しい技術のため具体的な作業のイメージができない。
自分がいると正確に見積もれないから邪魔なんじゃないか?
経験や知識の浅い私が見積もっても正確にできないからやらない方がいいのではないか?
と考えていたのですが、見積もっていくうちに、「なぜそのポイントなんだろう?」と
他のメンバーの意見を聞くことが楽しくなりました。
また、他のメンバーからの意見を聞くことで学びにもなるので
見積もりながら開発を行うための知識もつくと感じました。
さいごに
以上、プランニングポーカーを通して学んだことについてまとめてみました。
見積もりってなんだか大変で難しそうなイメージがありましたが、
プランニングポーカーを行ってやってみると、楽しく見積もれるし、
チームのメンバーと議論をしながらすばやく見積もれるのでおすすめです!
おわり
参考
SCRUM BOOT CAMP THE BOOK【増補改訂版】 スクラムチームではじめるアジャイル