web-dev-qa-db-ja.com

ユーザーストーリーを見積もるときに、工数ではなくストーリーポイントを使用するのはなぜですか?

アジャイル手法(SCRUMなど)では、ユーザーストーリーに必要な複雑さ/労力は、ストーリーポイントで測定されます。ストーリーポイントは、チームが1回の反復でいくつのユーザーストーリーを取得できるかを計算するために使用されます。

推定工数などの具体的な測定を使用できるという抽象的な概念(ストーリーポイント)を導入する利点は何ですか?推定工数を使用して、速度の計算、反復のカバレッジの推定などもできます。

対照的に、ストーリーのポイントは(概念が抽象的なため)使用が難しく、関係者に説明することも困難です。それはどのような利点を提供しますか?

141
Louis Rhys

主な利点の1つは、人間と開発者が具体的に時間の見積もりを実際にかなり下手にできることです。開発の性質についても考えてみてください。最初から最後まで直線的に進むわけではありません。多くの場合、「コードの90%を10分で記述してから、17時間デバッグを中断します。」クロックタイミングの意味でこれを見積もることはかなり困難です。

しかし、抽象化を使用すると、実際の時間から数時間または数日で焦点が外れ、代わりに、他のタスクと比較したタスクの相対的な費用と複雑さを説明することに焦点が置かれます。人間/開発者はその点で優れています。そして、これらのポイントの見積もりと実際の進捗状況について理解できたら、時間をより経験的に検討し始めることができます。

時間の見積もりでは発生するが、ポイントの見積もりでは発生しないオブザーバー効果もあると思います。たとえば、見積りをサンドバッグして「スケジュールより早く」配信するインセンティブは、ポイントベースのシステムでは間接的にミュートされます。

130
Erik Dietrich

フィボナッチ数(または類似のもの)を使用している場合、ストーリーを推定するときのオプションの数が制限されます。私は1、2、3、5、8、13の低い数値のみを使用するグループで作業しました。5の参照ストーリーがありました。これにより、Planning Pokerを実行しながら、ストーリーの複雑さを簡単に決定できました。 。もう1つの副作用は、13と評価されたものはおそらく情報が不十分であり、さらに分析する必要があるということです。生の時間を使用していたら、それがそれほど簡単で簡単だったのではないかと私は真剣に疑っています。

プロダクトオーナーは関係者の言葉を話し、必要に応じてストーリーポイントと工数(または他の単位)の間で翻訳できる必要があります。 POの期間中、1ストーリーポイント= 4工数というハードデータがありましたが、明らかにチームごとに異なります。

編集:

1ポイント= 4時間であるという知識があれば、理論的には、プランニングポーカーデッキを4、8、12、20、32、および52に変更できます。しかし、これらの数値を扱うのは難しいと感じます。 「1日未満」、「1週間以上」などの単純なものに値を精神的に抽象化すると思います。そうする場合は、抽象ユニットを使用することもできますなしのストーリーポイント。

60

これは、推定者全員が推定値を調整する必要なく、時間の経過とともに推定値を改善できるようにするためのものです。

見積もりに関与した全員が「OK .. 2人日のように見えますが、最後のスプリントはすべてを過小評価していたので、たぶんそれは実際には2.5人日ですか。それとも3人ですか?」のように考える必要はなく、いつもと同じように続けます。 「5話ポイント!」

次に、以前のスプリントで実際に測定された実績に基づいて、チームがスプリントで取得できるストーリーポイントの推定数を調整します。 「これまで、スプリントごとに90〜110ストーリーポイントを実施してきました。」

この背後にある理論は、開発者は相対を推定するよりも、異なるdevタスクの複雑さ絶対を推定する方が優れているということです。特に、複数の人が、どれか1人で実行できるタスクを推定している場合(すべての人が他の人と同じ速度で作業するわけではありません)。

皮肉な代替:開発者が時間の見積もりの​​下に来ることは決してないと言っているのを見ました。推定よりも時間がかかる場合は、問題はありません。しかし、何かがless見積もられたよりも時間がかかる場合、開発者はそれをいじくったり、金メッキしたり、ゆっくりしたりして、柔らかな割り当てを与えられているので、それを容易にします。見積もりから実際の時間単位を除外すると、これらの傾向が抑制される場合があります。 シニカル代替を終了します。

25
Carson63000

具体的には、工数や工数です。したがって、タスクが5時間と推定され、6時間かかる場合、タスクは遅延タスクになります。

3ポイントのストーリーがあり、6時間かかった場合、6時間かかりました。遅くはありません。6時間しかかかりませんでした。速度の測定は、スプリントで実行するこれらのポイントの数の要素であり、具体的ではないため、その数は変動する可能性があります。また、各タスクを測定するのではなく、すべてのタスクの合計を測定します。各タスクに何時間もある場合、各タスクを測定するという誘惑があります。それが発生した場合、時間内に終了するためのスプリントのメリットは得られず、特定のタスクの時間にわたって終了するための結果となります。

それは、ポイントの観点から考えることに移行する可能性があります。努力のレベルを把握するために、アジャイルユースのTシャツサイズを導入する前に私が働いていた場所の1つ。ポイントはその延長です。

それは論争やポイントへの任意の割り当てがないというわけではありません。私たちのチームのメンバーは、ほとんどの場合、最も低い数に投票し、タスクが1であり、ポイントインフレに苦しんでいるのは3であると彼らが不満を言うときに不平を言います。

18
Bill Leeper

抽象化は要点のようなものです。 「製造日」を測定値として使用すると、次のような多くの落とし穴があります。

  1. チームが使用するテクノロジーに慣れていない場合、タスクにかかる時間をリアルタイムで見積もることは非常に困難です。彼らは良い相対的な見積もりを与えることができる可能性がはるかに高いです。 「タスクAは、おそらくタスクBの2倍の時間がかかります」。
  2. 人によって作業速度は異なります! 「man days」を使用する場合、タスクが1つの開発者から別の開発者に渡されるときに推定時間を変更する必要があります。とにかく、どれだけの作業が「マンデー」を構成するかを誰が定義しますか

工数を見積もるのは簡単な計算です。

user points in story / average user points per developer per day = estimated man days
14
vaughandroid

すでに述べたように、ストーリーポイントは複雑さの相対的な尺度です。推定には2の累乗(1,2,4,8,16 ...)またはフィボナッチスケール(1,2,3,5,8,13,20 ...)を使用できます。支持されている開発者は、次のようなことを言うのにかなり熟練しています。

機能Aは、機能Bのほぼ2倍のハードです。

しかし、この機能を実装するのに「どれくらい」かかるかを言うのは本当に難しいです。あなたはそれを速度によってバランスをとらせます。したがって、何かが5と推定されていたが13であることが判明した場合、速度が遅いと、反復の速度が正規化されます(または、再推定できます)。

現在、別の選択肢があります。それは「理想的な日」と呼ばれ(人と日が似ているものもありますが、それがあなたの意図したものかどうかはわかりません)、それを好むチームはかなりたくさんいます。理想的な日は次のように解釈されます。

それが私がオフィスに来て必要な休憩だけを取った後のことですべてである場合、中断はなく、「ストーリーを実装する」ために必要なすべてのもの、つまり会議、メールへの応答などの周辺活動はありません。

多くの有名なアジャイルエバンジェリストの1人であるマイクコーンは、次のストーリーポイントと理想的な日を比較しています。

ストーリーポイント

  • 部門を超えた振る舞いを推進するのに役立ちます。つまり、チームがストーリーを推定します。 UIからDBに至るまでの実装全体の複雑さ。
  • SPの見積もりは減衰しません。つまり、今から数か月後に5ポイントのストーリーは5ポイントになる可能性がありますが、理想的な日の見積もりは、その特定のプログラマーの習得した開発スキル/速度によって異なります
  • SPはサイズの純粋な測定値です。つまり、SPはサイズw.r.tのみを反映しています。複雑。限目。持続時間などはありません。それが速度の仕事です。しかし、理想的な日ではそうではありません。実際、理想的な日には、暦日と混同する傾向があります。 SPが現実と比較する誘惑と戦うとき、それを抽象的に保ちます。サイズの目安です。ナンセンスではありません。
  • 通常、理想的な日よりも高速です。最初の2つのストーリーについてはトリッキーかもしれませんが、コツをつかめば、より速くなります。
  • 開発者が異なれば、ストーリーを完了するための理想的な日の見積もりに異なる見方をすることができます。私は同じことを3で行うことができ、5で行うことができます。SPは、ほぼ全体にわたって均一です。彼らはいわば競技場を平準化する。

理想的な日

  • チームの外で説明する方が簡単です。明らかな理由で:)
  • 上記のように、最初は簡単に推定できます。しかし、SPのコツをつかむと、自然に

どちらを選択するかはチーム次第です。ただし、ここでのほとんどの回答と私の個人的な経験から、私はストーリーポイントを好みます。理想的な日は、SPに比べてそれほど大きなメリットはありません(Mike CohnもSPと他の多くのアジャイルエバンジェリストと共に)を提唱しています)。

7
PhD

ストーリーポイントは、時間の経過に伴うチームのパフォーマンスの改善を測定するのにも役立ちます。さらに、パフォーマンスが向上したときにすべてを再推定する必要はありません。

man日を使用するこの例を見てください:

チームは工数でさまざまなタスクを見積もります。しばらくの間は機能しますが、しばらくすると、チームは当初考えていたよりも多くのタスクでより速く完了していることがわかります。つまり、チームは再推定タスクです。しばらくの間は機能しますが、しばらくすると、同じことが再びわかります。チームは、多くのタスクを使ってより速く完了します。つまり、あなたはre-estimateを繰り返し、この物語は何度も繰り返されます...

どうして?チームのパフォーマンスが増加したからです。 しかし、あなたはそれについて知りません。

ストーリーポイントと同じ例:

チームはユーザーストーリーのsizeを推定します。一部のスプリントの後、チームはスプリントごとに約60ストーリーポイントを実行できることがわかります。後で、チームは60以上のストーリーポイント、おそらく70を達成したことがわかります。そして、チームはそのように継続し、次のスプリントのためにさらに多くのユーザーストーリーを引き出して配信します。

どうして? パフォーマンスが増加したためです。 そして、あなたはそれを測定することができます。そして、あなたはあなたのチームのパフォーマンスが向上した後にすべてを再推定する必要はありません。

4
Uooo

まず、人々は絶対推定よりも相対推定の方が優れています。星の相対的な明るさをマッピングして評価するバビロニア人は、良い例です。絶対的な数値は正しくありませんでしたが、非常に類似した強度であっても、順序はほとんどがスポットでした。

2番目の利点は、この演習を行う主な理由が会話を促進することであるということです。正確な日に議論を始めると、会話がすぐに途切れる可能性があります。

ナポレオンが言ったように:計画は価値がない、計画は非常に貴重です。

第3に、見積もりがたとえば130%だけずれていることが判明したからといって、プロジェクトマネージャーはすべての見積もりを編集する必要はありません。

3
Tormod

工数何かをするのにかかる時間を見積もります。これらは、推定する項目が非常に正確で測定可能な場合に最適です。特定のよく知られている反復可能なタスクは、工数で見積もることができます。

たとえば、営業担当者が1日あたり平均20件の電話をかけることができる場合、各呼び出しにかかる時間を計算し、そこから1000回の呼び出しにかかる日数を見積もることができます。

この例では、すべての呼び出しが実質的に同じものであると想定できるため、呼び出しの長さの中央値について統計的に具体的に考えることができます。

ストーリーポイント反復で実行できるストーリーの組み合わせを決定します。これらは、異種の目標をファジー境界と組み合わせ、固定時間枠で実行できる数を測定するために使用されます。それらは、それらを一緒に追加できるように、互いに比較された作業のチャンクの複雑さを推定します。

たとえば、イテレーション1で5ストーリー、合計23ポイントの8ストーリーを開発し、イテレーション2で20ポイントの8ストーリーを開発した場合、チームはイテレーション2で合計20ポイントのストーリーをいくつか実行すると予測できます。反復3。

1ポイントのサイズを決定する必要がないことに注意してください。特に、同じサイズの各ストーリーが開発されるのに同じ時間がかかるとは限りません。合計と反復ごとのポイントのみを扱います。イテレーションの長さについても触れませんでした。

0
Sklivvz

パーキンソンの法則 について誰も言及していないことに驚いています。

作業は、完了に利用できる時間を満たすように拡大します。

基本的に、大規模なタスクをあらゆる時間単位で見積もる場合、開発者は見積もった時間をかけて完了するか、やり直す傾向があります。ストーリーポイントやシャツのサイズなどの曖昧な時間で見積もる場合は、この落とし穴を避けます。

0
Vadim

ストーリーポイントは問題の複雑さを反映しているため、見積もりの​​正確さの信頼度(またはリスク)を反映しています。

ストーリーポイントが高いストーリーは、具体的ではないユーザーストーリーで多くのことが行われていることを示しています。

アイデアは、さまざまなストーリーポイントの適切なバランスを確認することです。すべてのストーリーポイントが高いストーリーの反復計画が表示されている場合、反復が期待どおりに実行され、反復のために他のストーリーを確認するか、ストーリーの分解を開始する必要があるという確信がほとんどありません。

マネージャーやプロダクトオーナーとコミュニケーションをとる場合、ストーリーポイントが高くなると、特定の機能をいつ入手できるかが非常に曖昧になります。これに対する解決策の1つは、ストーリーを分解することです。うまくいけば、低と高のストーリーポイントを組み合わせて、プロダクトオーナーに進行状況を繰り返し示すことができるようになります。

0
grumpasaurus

通りで人間に近づいて、「T-レックスはどれくらいの大きさでしたか?」大半の人間はTレックスの大きさを知っていますが、その大きさを知っていても、答えは変動しますが、ベースラインに対する相対的なスケールがないため、実際には誰も知りません。

それが、予測で把握しようとしている認知行動であり、「I 'get it !!。i」には、正確な予測の秘密があります! "大衆へのヘビ油。あなたが実際に予測を行うとき、あなたは実際に声を出して言っています "私はそれが完了するためにx日/時間/ポイントを許可します "-その意味で、そのイベントを実行するための"タイムボックス "を作成します。

私にとっては、「*スプリントごとに3週間あり、thumb suck...私はそのサイクルで完了するために30ポイントを撮影する必要があると考えています!誰が私と一緒にいるのですか!* "そして、それは予測モデリングに入るのと同じくらい深いです-いいね! ..現実的には、任意の予算を設定するだけで、それだけです。また、「ホーリークラップ、スプリントで33ポイントを達成しました。かなりクールでした」という感覚で完了した作業を振り返ってみると、それほど多くのことはできません。ベロシティを使用して、「15ptsをヒットしましたか?」と大声で尋ねることで、予算の見返りに見合っているミッドスプリントを特定できますが、追加に戻ります方程式に対する相対時間ではありませんか? "しかし、ここでの危険は、速度を使用して生産性を測定していることです。私が理解しているところから、リアクティブリリース管理(ストーリーポイント)頭の中で..

ポイントシステムは、あまりにも賢すぎて、式に相対時間を付加していることに気付かず、合意した「スプリントサイクル」から、持続時間+複雑さ= "Maxはそのタスクに時間がかかっています "生来の直感チームコードの赤い瞬間?

人間の脳は、長期/短期の想起と混合された多くのワーキングメモリを含むため、予測できません。したがって、初心者の数学の学生に、紙の上ではなく、頭の中で分数を実行するように要求します。常に相対時間で予測を検証します(たとえば、地質学者はその立方メートルが地面から掘り出されてから「完了する」まで、予測モデリングを停止することはありません)。

予測していないの場合、ポイントシステムは機能します。サブチャンクアルゴリズムに基づいた一連の作業に同意しますが、それが実際に可能な限り予測に最も近いアプローチです。実際、リリース管理では、テーマに関連する「バックログ」キューの自然な区切りを探します(つまり、Silverlightでは、プロダクトマネージャーは、バックログが完了して最初に設定したテーマをまとめるまで待機します。エンジニアリングチームが具体的に何をしているのかわからなかったので、基本的な概要を説明しました。次に、その一連の作業を取り、それに関するマーケティングイベントを構築します(Microsoft Mix)。

速度+時間に依存するスプリントサイクル内で速度の期待値のロックダウンを開始すると、「それはゲームによって異なります」をプレイしているので、今回のみ予測の予測に戻ります。チームの成長/キャリアの成長の可能性も殺している。

ポイント対時間に対して支払う税金には、オンジョブスキルの開発/メンタリングまたは開発者の行動を追跡するための代替測定式を探す必要があるポイントが伴います。

引き続き、スキルや努力を注ぐ理想的な人物として「中央開発者」を見る必要があるので、他の開発者を基準にして、チーム内で進行中の成長をどのようにフェアリングしているかを判断できます。また、「速い」開発者がほとんどの水を運んでいるが、退屈または悪化して長時間働いており、締め切りが競合しているなどの理由で認識/報酬がない状況も強調表示されます。スタンドアップは実際にはこれを明らかにしていません。 「あの人は苦労しているので、助けてあげよう」のように、チーム内の悪臭を検出するためにそこにいる

次はまた、「キャリーオーバー」ストーリーであり、そのスプリントサイクルにチャンクされず、次のスプリントサイクルに波及します。これは、時間を考慮に入れれば、簡単にノックオン効果を生み出すことができますが、相対時間を考慮に入れた瞬間に、再び、「時間ベースの予測/推定」に戻り、ポイントシステムは水を濁らせます。

あなたがポイントに行くなら、あなたは時間を完全に無視しました、そしてあなたがあなたが時間を忍び寄らせた瞬間があなたがゲームのアイデア/方法論であると完全に意味します。

エバンジェリストとして世界中を旅して、多くのチームがアジャイル予測のコードを解読したことを知っていれば、何であれ彼らの手に誓うのを見ました。 ええ...あなたはほとんどやりましたが、私たちが「時間」と呼ぶ愛人...彼女はただ残酷です... "

0
Scott Barnes