私がかなり以前からつらかったのは、業界の多くの人が「スクラムだが・・・」といった言葉をよく使っていることです。「を蔑視する意味で、チームはスクラムの一部である小さなプラクティスにのみ従うべきであると暗に示しているのです。 現実には、どのようなアジャイルチームでも、かなりの期間にわたって繰り返し実用的なソフトウェアを提供できるようになるには、スクラムだけでは不十分なのである。 7656>
記録に残しておきますが、スクラムのプラクティスだけに従っているチームが長期的に成功することはまずありません。なぜなら、アジャイル開発チームとして継続的に成功するには、少なくとも XP の技術プラクティスのサブセットを採用しなければならないからです。
私は、スクラムが何を含み、何を含まないかを理解している人が十分でないことを観察したので、そこから始めましょう。
スクラムとは何か – 一連の管理実践
スクラムは、経験的プロセス制御の応用であり、これは、現実には根拠のない仮説の集合に基づくのではなく、経験に基づいて決定を行うべきであることを示す格好の方法である。
簡単に言うと、スクラムは、チームが効果的にコラボレーションし、反復的な方法で仕事を提供できるようにすることを目的とした、小さな管理プラクティスのセットで構成されています (もう一度強調しておきますが、スクラムに技術的なプラクティスは一切ありません)。
What Scrum is not
Contrary to the popular belief, none of the following things are part of Scrum:
- User stories.スクラムは、ユーザーストーリーを含む。 任意のスクラムチームのプロダクトバックログまたはスプリントバックログの作業項目はユーザーストーリーとして書かれるが(しばしば「<ペルソナ/ロール>として、私は<ゴール>が欲しい、だから<望ましい結果>」という形式で)、スクラムは特定の構成または形式を義務付けてはいない。 なお、ユーザーストーリーはXPの一部です。
- Estimation. スクラムチームの大多数があるレベルで見積もりを行っているにもかかわらず、見積もりの実践はスクラムの一部ではない。 プロジェクトベロシティという概念はXPの一部である。
- 技術的実践。 前述のように、スクラムには技術的プラクティス(CI、CD、ペアプログラミング、TDDなど)の概念はない。
エクストリームプログラミングとは何か
最初のエクストリームプログラミング (XP) チームが結成され、Chrysler Comprehensive Compensation (C3) というプロジェクトに取り組んでから20年以上が経ちました。 そのチームが採用した手法は、Kent Beck 氏や他の多くの人々がソフトウェアを開発するためのより良い方法、つまり、その時までに主流となっていた「ウォーターフォール」アプローチに代わる方法を実験していた 1980 年代にかなりの程度起源があります。 したがって、XPの入門として、もっと学びたい人は、これらの図から始めるとよいでしょう。
- Extreme Programming Project (エンドツーエンド図)
- Iteration (イテレーションの中で何が行われるかに焦点を当てた図。XPがイテレーションと呼ぶものはスクラムがスプリントと呼ぶものと概念的に似ていることに注意)
- Development (開発のやり取りと活動に焦点を当てた図)
- Collective Code Ownership (コア技術的実践に焦点を当てて図)
注:この図は、XPを学ぶための入門書としてお勧めします。 上記の図の多くの要素を 1 ページにまとめたビジュアルについては、Bill Wake の「Extreme Programming Overview」を参照してください。
Additional Reading about XP
If you intrigue enough to read more about XP, which is listed in more or less order of short to read > long to read:
- Don Wells, Extreme Programming: a gentle introduction
- Martin Fowler, BeckDesignRules (See also Xp Simplicity Rules)
- Kent Beck, Ward Cunningham, et al., Extreme Programming Core Practices (aka 12 XpXtudes)
- Don Wells, The Rules of Extreme Programming
- Ward Cunningham, et al,Extreme Programming (aka WikiWikiWeb)
- Kent Beck & Cynthia Andres, Extreme Programming Explained.Odyssey, The Rails of Extreme Programing (邦題:エクストリームプログラミングの法則): Embrace Change (2nd Ed.)
Ron Jeffries, What is Extreme Programming?
Additional References
このセクションのすべての参考文献は、特に断らない限り Don Wells の XP ウェブサイトから引用しています。
- Agile Models are Paintings, not Photographs (すべてのモデルは間違っている。
- Agile Process Proverbs (どんなチームでも生きていくための言葉)
- Bill Wake, Arrange, Act, Assert (ユニットテストを書くためのパターン)
- Bill Wake, Sudoku Solver (TDD の面白いバリエーション)
- Bill Wake, Sudoku Solver (TDD の面白いバリエーション)
- Bill Wake, Tests from a Hat (a creative approach towards writing unit tests)
- Honest Plans (what estimation looks like in practice)
- Manage Your Goals Instead of Activities (main differences between Waterfall and Agile development)
- The Values of Extreme Programming (Simplicity.The Values of Extreme Programming) (Simplicity.The Waterfall and Agile Development) (ウォーターフォールとアジャイルの主な違い)
- エクストリーム・プログラミングの価値観。 コミュニケーション、フィードバック、尊敬、勇気)
- XPとデータベース(ゴールド > シルバー > ブロンズデータベースに基づくパターン)