web-dev-qa-db-ja.com

スプリントの計画中に外れ値のプログラマに対処する方法は?

最高のプログラマーは平均的なプログラマーよりも少なくとも1桁多く生産する と一般に認められています。これは、チーム全体のメトリックに焦点を当てたスプリント計画への通常のアプローチで問題を引き起こすようです-主に推定と速度に関するものです。

推定では、優れたプログラマーは平均的なものとは異なる投票をする可能性があります。理想的には、チームはストーリーポイントを使用しているため、プログラマーはストーリーの「相対的な複雑さ」について同意する可能性が高くなりますが、それでも、優れたプログラマーは、ストーリーを簡素化するためのツール/トリックを知っている可能性が高くなります。問題。チームは通常、全体として投票し、平均/過半数が勝ちます。これで不正確な見積もりが解決されます-優れたプログラマがその話を取り上げない限り。

「しかし、それは重要ではありません!」 「優れたプログラマーは、スプリントごとにより多くのストーリーポイントを獲得できる」とおっしゃっています。それは私たちに問題#2をもたらします。速度は、スプリントごとの差異を均等にするために個人ではなく、チーム全体で測定されることがよくあります。次に、速度は休暇や会議時間などを説明するための一種の速度として使用されます。問題は、優れたプログラマーがチームの速度に不釣り合いに影響を与えることです。彼らが休暇中の場合、速度計算で予想されるよりもはるかに少ない作業が行われます。平均的なプログラマーが休暇中の場合、速度計算で予想されるよりも多くの作業が行われます。

では、スプリント計画中にこの種のパフォーマンスの不平等にどのように対処するのでしょうか。ある種の重み付け効果?エラーが発生し、時間の経過とともに均等になるようにしますか?

6
Telastyn

見積もり(ストーリーポイントなど)は、典型的なプログラマーの時間と労力に基づいて行われます。速度を計算するときは、典型的なプログラマーのチームが担当します。これにはいくつかの理由があります。

  1. 高値と安値は平均化する必要があります。ロックスターが1人いるかもしれませんが、ナックルドラガーもいる可能性があります。または、平均を2人下回るが、ひどいプログラマではない。

  2. 最高の開発者でさえ時々困惑します。私は素晴らしいプログラマーがすべてのタスクに半分の時間を費やし、4時間のタスクが3日かかるその1つのレンガの壁にぶつかるのを見てきました。多分それは予期せぬ困難が原因だったのかもしれませんし、多分開発者が個人的な問題を経験していたのかもしれません。知るか。それは起こります。

  3. 速度は以前のスプリントに基づいて変化する可能性があります。もしあなたが知っているあなたが思っている以上のことができるなら、多分あなたはそれを計画するべきです(しかし必ずしもそうとは限りませんが、私の次のポイントを見てください)。

  4. これは実際には重要ではありません。先に進むと、いつでもバックログからストーリーを引き出して、スケジュールより早く進むことができるからです。

自分がやっていることを続ければ、他の問題は問題になりません。ロックスターがチームの時間の20%を占め、休暇中の場合は、そのスプリントで20%少ないストーリーポイントをスケジュールします。あなたがあなたの速度を膨らませていない限り、それは自動的に補償します。

ここで重要なのは、各反復を個別に確認するだけでなく、プロジェクト全体を一度に1回の反復でスケジュールして、必然的に発生する不規則性を均等にすることです。

3
user22815

正直なところ、これを説明する良い方法はないというのが最善の答えだと思います。しかし、それは一種の「スプーンがない」状況です。これはtrulyの問題にすぎません。実際に保持している速度よりも速度を重視する場合に問題になります。速度は、チームがスプリントで実行できるストーリーポイントの数の見積もりです。ストーリーポイントは、関連する労力の見積もりであり、同様のタスクであると見積もったものに対する以前の労力の見積もりに基づいています。言い換えると、これは推定値の推定値の推定値であり、一連の計算で丸め誤差を導入したときに、小学校の数学の先生があなたに言ったのとほぼ同じです。

長い点と短い点は、速度はアイデアなしを使用するよりも優れていますが、率直に言ってそれほど多くはありません。経営陣はハードな日付を好むため、これを使用して完了日を予測できますが、常にforecastであり、これまでに最も晴れた日に一日中傘を持っていた場合、あなたは予測がしばしば間違っていることを完全に認識しています。スプリントの最後に残りの作業が発生した場合は、大丈夫です。それはおかしな概念かもしれませんが、それを振り返ってカバーし、将来のより良い見積もりの​​ために学ぶことができるものです。チームはしませんでした失敗;彼らはちょうど彼らの予測から外れていました。スプリントが終了する前に作業が不足した場合は、いつでも他のバックログアイテムを投入できます。容量がないと思ったからといって、スプリントバックログが空のときに停止する必要があるだけではありません。速度を脆弱な測定値として扱い、心配する必要はありません。

0
Chris Pratt

すべてのスプリントが同じように作成されているわけではなく、優れたプログラマーは自分のキーボードを超えて影響力を持っています。

これは、すべてのスプリントで同じ量の作業が完了すると予想される場合にのみ問題になります。全員が最初の5つのスプリントに参加している場合、誰かが去ったときに最終的に調整する必要があります。特に最高の開発者はそうです。

優れたプログラマーは、実際に作成するコードを超えて、特定のプロジェクトで専門知識を活用します。他のチームメンバーやプロジェクトの全体的なデザインに影響を与えます。この一部はプロジェクトに隠されています。より優れたプログラマーの経験のために、チームが「しない」と決定したすべてのことをどのように測定しますか?

時間の経過とともに、最高のプログラマーが不在のときに、この低レベルの生産性を発見する可能性があります。この人の評価を確認する以外に、年に2、3回のスプリント以外に何を得たのか、あなたはあまりやり遂げることができません。

0
JeffO