連載
» 2011年11月14日 00時00分 UPDATE

かんばん!〜もし女子高生がRedmineでスクラム開発をしたら(1):「高校生になって初めてスクラムを始めました」〜「ストーリー」で何を作るかまとめよう (2/3)

[岡本隆史, イラスト:本橋ゆうこ,@IT]

「ストーリー」で欲しい機能を書き出そう

ぷりん

でも、「スクラムで開発」って、一体何から始めればいーの?


まいん

電子目安箱を作るとしたら、まずは「どんなものにするか」を決めなきゃね。「どんなものにするか」をまとめたものを、スクラムでは「プロダクトバックログ」っていうの。ウォータフォールでいう「要件定義」をまとめたようなものね。プロダクトバックログは、「(ユーザー)ストーリー」「フィーチャー」「性能」「機能」などの「非機能要件」っていうのも含まれたりするんだけど、難しい話は置いておいて、取りあえずここは、「ストーリー」でやってみよっか。


ぷりん

「ストーリー」?


まいん

「要求仕様を自然言語で簡潔に表したもの」って、@ryuzeeさんの資料には書いてあるわ。



「ストーリー」はね、誰が何をするか、具体的に書くものなの。例えば、こんな感じかなぁ。


  • 「投稿者は、相談や悩みを投稿できる」
  • 「生徒会・投稿者は、投稿に返信できる」
  • 「生徒会の回答は投稿者へメールで通知できる」
  • 「投稿は公開モードと非公開モードを選択できる」
ぷりん

おー!それっぽいね!!あと、最近は、みんなTwitterやってるから、Twitterと連携できると面白そうね。


まいん

「Twitterと連携」って具体的に、どういうことなの?


ぷりん

TwitterでログインしたときのIDで投稿できたら、ログインが省略できるじゃない?あと、公開してもいい投稿はTwitterへもクロスポストできるようにするとか。


まいん

だったら、「Twitterと連携」という機能は具体的なストーリーで表すと、こんな感じかな。


  • 「TwitterでログインしたときのIDでログインできる」
  • 「目安箱への投稿が自動的にTwitterへポストできる」
まいん

ストーリーは、こんな感じで何ができるようになることかを具体的に書くといいわね。あと、目安箱を作るにも、フレームワークプラットフォームを選んで、開発環境の準備なんかも必要になってくるけど、これらは「開発の準備をする」って名前でプロダクトバックログに入れておくね。


ぷりん

電子目安箱ができたら、宣伝するWebページも欲しいなぁ。


まいん

電子目安箱の機能じゃないけど、そういうのも電子目安箱のサービスには必要になってくるわね。それもバックログに入れちゃいましょう。できたバックログは、こんな感じね。


図1 プロダクトバックログ一覧 図1 プロダクトバックログ一覧
まいん

プロダクトバックログには、ストーリー以外のものも入ってくるけど、基本的にはストーリーが多いから単に「ストーリー」って呼ばれることもあるわよ。「プロダクトバックログ」っていうと長いから、わたしは、単にストーリーって呼んでるわ。プロダクトを省略して「バックログ」って呼んでいる人もいるけど。


ぷりん

ふ〜ん。バックログだとバックドロップと間違えそうだから、私もストーリーって呼ぼうっと。


まいん

そのうち説明するけど、プロダクトバックログには、「バグ」や「仕様変更」も入るよ。覚えておいてね。


「優先順位」を付けよう

まいん

ストーリーが集まったら、「優先順位」を付けてみようよ、おねーちゃん。


ぷりん

「開発の準備をする」は何をすればいいのか分らないから、優先度低くてもいーよね。


まいん

いやいやいや、開発の準備をしないと開発が始まらないよね?だから優先度は高くしてね。


ぷりん

なるほどー。えーと、次は……、相談や悩みの投稿と投稿への返信は、ないと話にならないから、この2つが、この中では優先度が高いかなぁ。


  • 「投稿者は、相談や悩みを投稿できる」
  • 「生徒会・投稿者は、投稿に返信できる」
まいん

じゃあ、この2つのストーリーは、どっちが優先度が高いのかな?


ぷりん

うーん、投稿がないと悩みについては分からないけど、返信については、手紙とかでもできるから、生徒会の運用でカバーできそうかなぁ。


まいん

じゃあ、「投稿者は、相談や悩みを投稿できる」の方が優先度は高いわね。こうやって、優先順位を付けていくの。最終的には、こんな感じになるかしら。


図2 優先順位が付けられたストーリー 図2 優先順位が付けられたストーリー
まいん

スクラムでは、ストーリーの重要度のことを「ビジネス価値」っていったりするわ。ビジネス的に価値があることから並べるっていうことね。システムを発注した「顧客」が欲しい機能ではなく、本当に現場で使う人(エンドユーザー、ユーザー)に価値のある機能の優先順位を高くできて、無駄な機能の作り込みを防げるよ。


ぷりん

ふ〜ん。そういえば最近高校で、銅像や記念碑を立てたり、校長室のソファーを無駄に豪華にしたりしているけど、それって私たち「生徒」、つまり、学校にとっての顧客には何の価値もないわよね。そんなことする前に、部室にクーラー入れたり、グランドの整備をしたり、生徒のためになることをしろってことかしら。


まいん

まぁ、間違ってはいないわね。あと、ユーザーが欲しい機能にはならないけど、「CIサーバのセットアップ」とか、プロジェクトを進めるときに、開発の生産性や品質を左右するような項目も優先度を高くした方がいいわね。最終的に「ユーザーが満足する品質のものを作る」って意味では重要だから。「CI」って何?って人は、この連載の作者がこんな記事を書いているみたいだから、参考にしてみたら?


「Hudson」改め「Jenkins」で始めるCI入門

「Hudson」改め「Jenkins」で始めるCI入門
ユカイ、ツーカイ、カイハツ環境!(21) これから継続的インテグレーションを始める方を対象に10分程度でJenkinsを実際に動かして体験できるように使い方や特徴を解説
      「Java Solution」フォーラム 2011/4/7


ぷりん

作者の記事をさりげなーくアピールして、作者の機嫌を取るとは流石だね〜。


 次ページでは、ストーリーの「見積もり」について説明します。「フィボナッチ数列」も出てくるよ!

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。