時間枠固定イテレーション

2023年4月4日

時間枠固定イテレーションは、プロジェクトの作業を分割し、スケジュールを設定する方法であり、特にアジャイルソフトウェアプロジェクトに関連付けられています。チームは、ソフトウェアの目に見える機能をユーザーストーリーに分割し、時間をイテレーションと呼ばれる固定期間(例:1週間)に分割します。そして、ストーリーをイテレーションに割り当てることでスケジュールを設定します。ストーリーはおおよそ見積もられるため、チームは1回のイテレーションに収まるストーリーの数を見積もることができます。

イテレーションは時間枠が固定されているため、ストーリーを完了するためにイテレーションの終了日を延期するメカニズムはありません。ストーリーが次のイテレーション内で完了しない場合、未完了と見なされ、チームはそれを完了するために残っている作業の新しいストーリーを作成します。

イテレーションのキャパシティを把握する良い方法は、昨日の天気を使用することです。将来のイテレーションのキャパシティを、前回のイテレーションで完了したストーリーの数に設定します。実際には、キャパシティ数の変化をスムーズにするために、最後のいくつかのイテレーションを考慮するのが賢明です。最も明白な方法は、最後のいくつかのイテレーションの平均を取ることですが、より良い方法は、貴重なスラックを提供するために*最小値*を使用することです。このメカニズムは、自然に自己調整するフィードバックループです。

時間枠固定イテレーションの代替アプローチは、継続的フローです。イテレーションはなく、ストーリーが完了すると、チームは優先順位付けされたリストから次のストーリーを選択します。多くの人がこれを好みます。これは、ストーリーをイテレーションに割り当てるために必要な労力を排除するためです。次のストーリーを選択するだけです。しかし、イテレーションは、人々が仕事の节奏を設定する上で価値があると感じる定期的なリズムを提供します。

イテレーションは、問題を可視化する能力があるため、最も価値があります。イテレーションの終了は、深刻な超過に対するチェックを提供し、見積もりの質に関するフィードバックループを設定する、自然な停止機能です。チームが定期的にストーリーを完了する時間がなくなったり、イテレーションの終わりに苦労して急いで作業したりする場合、これらはチームの作業方法に問題があることを示すシグナルです。この問題を知らせるメカニズムは、優れたエンジニアリングプラクティスに苦労しているチームにとって特に貴重です。これらの問題の最良の解決策は、根本的な問題に取り組むためのスラックを増やすことですが、これは残念ながら過小評価されている解決策です。

参考文献

長年にわたり、アジャイル計画に関する多くの書籍が書かれており、そのほとんどは時間枠固定イテレーションに基づいています。私のお勧めの書籍は、The Art of Agile Development です。この本では、イテレーションの長さの選択、キャパシティの把握、追跡、緊急リクエストの処理について詳しく説明しています。タスク計画に関する関連の章は、彼のサイトで入手できます。

今世紀初頭にケント・ベックと共著した、Planning Extreme Programming という私の著書にも触れておきます。私たちの англо-западно-побрежної прози の高尚な優雅さは、このジャンルでは決して凌駕されることはないと思いますが、最近はThe Art of Agile Development をお勧めします。

謝辞

Alexander Steinhart、Ana Lallena、Andrew Thal、David Jetter、Ian Cartwright、James Shore、John Hearn、Kennedy Collins、Kief Morris、Premanand Chandrasekaran の各氏が、社内メーリングリストでこの投稿について議論しました。