「高校生になって初めてスクラムを始めました」〜「ストーリー」で何を作るかまとめよう:かんばん!〜もし女子高生がRedmineでスクラム開発をしたら(1)(3/3 ページ)
本連載は、ちょっととぼけた女子高生の姉妹が今注目のアジャイル開発手法であるスクラムとプロジェクト管理ソフトの「Redmine」を使って、システム開発をするというフィクションです。
ストーリーの「見積もり」って?
「やりたいこと」と、その「優先順位」が決まったら、次は「見積もり」ね。見積もりはイロイロなやり方があるけど、取り合えず、ストーリーの優先順位が高いものの中から、一番簡単そうなものを1つ選びましょー。さっき作成したストーリーの中で、一番簡単そうなのは、どれ?
うーん、「投稿は公開モードと非公開モードを選択できる」かなぁ。
どうして、簡単だと思ったの?
そうねぇ、「非公開にする」っていうチェックボックスを付けて表示/非表示を切り替えるだけだから、すぐに出来そうかな〜と。
じゃあ、このストーリーの「ポイント」を「1」にしましょう。
「ポイント」?
「ポイント」は、ストーリー間の相対的な見積もりの単位だよ。例えば、「投稿は公開モードと非公開モードを選択できる」を1ポイントとしたら、このストーリーを実現するよりも5倍くらい作る時間がかかりそうなストーリーがあれば、そのストーリーを5ポイントにするの。
見積もりなら、作業時間や作業人数で数えた方が分かりやすくないかな〜?
時間や人数で見積もると問題が出てくるの。例えば、おねーちゃんがこのストーリーを実装した場合と、コンピュータ研の部長のゆきちゃんが実装した場合とで、実装する時間は違ってくるよね?ポイントなら、「この作業に対して別の作業は何倍」って感じで人への依存度が低くなって、チームの作業としての、より正確な見積もりができるようになるの。
ふ〜ん、試験だと難しいテストと簡単なテストで点数が偏るけど、「偏差値」なら50を基準にして、そのバラつきで数値が出るから、自分が全体の中でどの辺りのポジションにいるか分かるよね。ポイントって、偏差値みたいなもんだね。でもね、まいん。人の価値っていうのは、偏差値だけじゃ決まらないのよ!!それを忘れないでね。
取りあえず、ポイントを付けてみよっか。
まずは、一番上の、「開発の準備をする」って、何やればいいのか分かんないよー。
例えば、プログラミング言語は「Java」で、「Play」フレームワークと「MySQL」データベースを使って開発ツールは「Eclipse」で開発して、できたアプリはいま流行りの「クラウド」、例えば「Amazon Web Service」で動かすとか決めちゃえば、簡単に準備できるわね。3ポイントくらいかしら。
「投稿者は、相談や悩みを投稿できる」は、「公開モードと非公開モードを選択できる」に比べ、5倍くらいかなぁ。
ちなみに、「投稿できる」っていうのは、Webの掲示版みたいな感じで考えていいの?
そんな感じー。
じゃあ、1は5ポイントにしましょう。コツとしては、顧客……スクラムでは「プロダクトオーナー」っていうんだけど……、にストーリーの詳細を確認してから見積もると、より正確になるわね。あと、私がおねーちゃんに確認しながら決めたように、チームで議論しながらやるといいわよ。
ちなみに、ポイントは「1」「2」「3」「4」……って細かく付けずに「フィボナッチ数列」で「1」「2」「3」「5」「8」「13」……と付けるのがいいみたいよ。「フィボナッチ数列」が分からない人は、以下の記事を読んでみてね。
なんでかっていうと、例えばある基準となるストーリーに対し、2倍、3倍のポイント辺りは割と正確に見積もれるけど、20倍とかになってくると、「本当に20倍?」って思っちゃうよね。大きいものほど見積もりが曖昧になるの。だったら、小さいとポイントは細かく、大きいポイントは荒くした方がいいよね。だから、フィボナッチ数列にしてるのよ。
例えば、20倍にするか19倍にするか悩まなくても、そ辺りの数値にフィボナッチ数列として一番近い「21」をポイントに決めればいいし、そもそも不確かなことを検討するのに無駄な時間を使わずにすむのよ。
へー、数学の授業で習ったフィボナッチ数列って「何に使うんだろう」って、ずっと疑問に思ってたけど、こんなことに使えるんだね。おねーちゃん、感動しちゃったよ。数学の勉強は決して無駄ではなかった!!ところで、全部のストーリーにポイントが付いてないよ?まいんでも抜けてるときがあるんだねwww。
見積もりは、全てを最初にやる必要はないのよ。最初に全部見積もっても、後で気が変わってストーリーの内容自体が変わってきたりするから、必要になったときに見積もるのがいいわね。見積もるストーリーは優先順位が高いものから、次の「スプリント」で取り組むストーリー+αくらいでいいわよ。
「スプリント」って何?
「スプリント」については、次回説明するね。今日は、ここまで!!
さて、読者の皆さ〜ん、今日はプロダクトバックログ/ストーリーについて理解できたかな?「宿題」として練習問題を出すから、次回までにやってみてね。ガンバってね!!
何か自分で作りたいアプリを考えてください。他の人に作ってほしいアプリを聞いてもいいですよ。実際に開発案件があれば、それを利用できればベストです。
■問1
そのアプリに必要な機能をストーリーとして洗い出してみましょう。
■ポイント
「誰が何をするのか」という観点で洗い出してみましょう。他のストーリーに比べ明らかに大きいストーリーがあったり、内容が分かりにくいストーリーがあったら分割するのがポイントです。
■問2
ストーリーの実現のために必要な他の作業を洗い出してみましょう。
■問3
問1、問2で洗い出した項目をプロダクトバックログとし、優先順位を付けてみましょう。
■ポイント
優先順位を付けるときは、ユーザーに取っての価値や、そもそもやらないと先に進まないものなどを考慮してやるといいですよ。プロダクトオーナー(顧客)役になれる人がいれば、その人に優先順位を付けてもらいましょう。
■問4
プロダクトバックログ(ストーリー)の中から一番簡単そうなストーリーを1つ選びましょう。そのポイントを1とします。
■問5
その他のストーリーにポイントを付けてみましょう。
■ポイント
「ポイント」を1としたストーリーとの相対的な作業量でポイントを付けましょう。プロダクトオーナー役の人がいれば、ストーリーの詳細を確認しながらポイントを付けていきましょう。複数の人(チーム)で議論しながらポイントを付けると、よりリアリティが出てきます。ポイントはフィボナッチ数列(「1」「2」「3」「5」「8」「13」……)を使って、小さいものは細かく、大きいものは荒く見積もりましょう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「ほう・れん・そう」を15分の朝会に置き換える
開発チームを改善するためのスクラムTips(1) 「ほう・れん・そう」には問題点が2つある。スクラムの「朝会」プラクティスを使って、チーム内コミュニケーションをもっと良くしよう - スクラム提唱者が教える、チームの不幸を減らす方法
CSPO研修レポ スクラム提唱者のジェフ・サザーランド氏を講師に招いた、日本初の研修レポート。チームも顧客も不幸な状態をなくす方法は実にシンプルだ - スクラムの祖父語る「技術者は知的体育会系であれ」
アジャイルジャパン2010レポート(後編) 「スクラム」開発の概念を生み出した野中郁次郎氏の講演レポート。「開発者は、実践しながら考える知識体育会系であってほしい」 - 脱Excel! Redmineでアジャイル開発を楽々管理
エンジニアがお薦めする 現場で使えるツール10選(3) Redmineはプロジェクトをチケットで管理するツール。イテレーション計画で変更の多いアジャイル開発も楽に管理 - アジャイル開発手法「SCRUM」の真実
SCRUMワークショップ体験記 本体験記は、筆者2名が日本人として初めて認定スクラムマスターを授与されたワークショップの様子を報告したものである