web-dev-qa-db-ja.com

エクストリームプログラミング:イテレーションはどのくらいの期間予定されていますか

私はエクストリームプログラミングについて研究しており、ケントベックのエクストリームプログラミングの説明という本を読み始めました。そこで彼は、私を混乱させた実践と原則に言及しました。それは反復が短くなければならないことを言った。

イテレーションが適切であれば、イタレーションは本当に非常に短くなります。数週間、数か月、数年ではなく、秒、分、時間です(極端なプログラミングの説明-序文)

同じ本の後半で、ケントベックは数週間で反復を使用しています。

リリース内で、XPは、顧客から要求された機能を1〜4週間繰り返して、進捗状況に関するきめ細かなフィードバックを提供します(Extreme Programming Explained-Chapter 1)。

用語集では、1〜4週間の繰り返しについても言及しています。

反復

1〜4週間。最初に、顧客はイテレーションで実装するストーリーを選択します。最後に、顧客は機能テストを実行して、反復が成功したかどうかを確認できます。

(エクストリームプログラミングの説明-用語集)

ただし、 極端なプログラミングのWebサイト を読むと、反復は1〜3週間であると書かれています。しかし、私は 日、分、秒の反復について言及しているビデオ(時間7:09から開始) を見つけました。

エクストリームプログラミングでは、反復はどのくらいの期間、どのように機能しますか?イテレーションは1つのユーザーストーリーで2週間機能しますか?それはたくさんあるようです。これが私を混乱させる理由の1つは、スクラムが2週間続く1つのスプリントで複数のユーザーストーリーを完了するためです。それについてさらに調査したところ、開発者は2週間の反復を好むと述べました。それでそれはどれですか?他のものと混同していますか?

5

これは少し混乱しますが、序文のこの1段落(これは、ケントベックの著書で、週より短い反復が言及されている唯一の場所です)は、物事を明確にするのに役立ちます。

私が最初にXPを連結したとき、私はコントロールボードのノブの精神的なイメージを持っていました。それぞれのつまみは、私が知っている経験からうまく機能する習慣でした。私はすべてのノブを10まで上げて、何が起こったのかを確認します。プラクティスのパッケージ全体が安定していて、予測可能で、柔軟性があることを知って、私は少し驚きました。

エクストリームプログラミングの実践は非常によく拡張されます。

計画ゲームの例を見てみましょう。計画ゲームは、リリースレベル(リリースに入るストーリーを計画するため)と反復レベル(反復で実行されるタスクを計画するため)の両方で行われます。理論的には、計画ゲームを引き続き使用してすべての活動を計画および管理することができます。たとえば、個人でもそれを使用して1日の計画を立てることができます。しかし、ある時点で、それは価値を付加し始めません。

エクストリームプログラミングは、優れたソフトウェアエンジニアリング手法を極限まで行っています。ペアプログラミングはXPのコア部分であり、ピアレビューを取得して継続的に行います。テスト駆動開発(TDD)は、ユニットテストの作成と頻繁な実行を促進します(コードが記述される前でも)。)ユーザーは、リリースごとだけでなく、反復ごとにフィードバックを提供できます。

ビジネスの観点からは、プロジェクトが1週間より短い、または4週間より長い反復で動作することが常に意味があるとは限りません。 1週間よりも短い、顧客に見える反復は無駄になる可能性があります。ソフトウェアに小さな変更を加えるたびに、顧客にフィードバックを提供することがよくあります。 4週間より長いと、変化する要件と環境への応答が妨げられます(俊敏性が低下します)。しかし、イテレーションがプロジェクトレベルで存在しないからといって、プラクティスが開発者に数分または数秒で明らかになるわけではなく、それらがピアレビューの結果(ペアプログラミングによる)であるとは限りません。失敗したテスト(単体テスト/ TDD)、またはビルド(継続的な統合)。ただし、Google、Amazon、Facebook( 12 、、 4 )など)によっては、変更を週に数回、場合によっては数秒で顧客に公開します。これらの企業は、エクストリームプログラミングの最も端に位置しています。

7
Thomas Owens