エクストリームプログラミング解説 その1:全体像
はじめに
#中佐藤です。リモートワーク環境紹介を書いたら、もちろん他の記事も書くんだよね、とプレッシャーをいただきました。というわけで、本業(?)のアジャイル関連です。話が長くなるのが目に見えているので、連載にすることを、最初に宣言します。
本連載の意図
#いまどき、アジャイルの話はWebでも書籍でも豊富で、今更感はあるのですが、前々から気になっていることがひとつ。みなさん、アジャイルって、Scrum(スクラム)だけじゃないって、知ってる?
いやまあ、他にもいろいろあるらしいというのは、ご存じではあると思うのですよ。じゃあ、他の手法ってどんな手法? と内容にツッコむと、アジャイルを商売ネタにしている人でも、途端にアヤシくなる。昔(2008年)からアジャイルに関わっている者として、ちょっとでも他の手法の知識を残しておきたいなと思った次第です。
というわけで、スクラムと対比してよく使われていたはずの、エクストリームプログラミング(以降、XPと省略)を複数回に分けて解説します。
参考書籍
#おおよそ以下の書籍を参考にしています。本連載内の用語は、第2版の新訳に基づきます。
おことわり
#本があるなら本を読んでもらえばええやん、という気もするのですが、誤解を恐れずに言うなら、「XPってどんな手法なの/何をすればいいの」ということが、書籍では直観的にわかりづらい。このあたりが、スクラムガイド(リンクは2020年版)がきちんとメンテナンスされ、公開されているスクラムとの違いです。
そのため、本連載は、私の解釈を多分に含みます。かなり大胆な言い切りもします。この点はご了承ください。アジャイル古参の方々には、どうよと思われることもあるかもしれませんが、ぜひどこかのイベントで会話しましょう。
全体像
#XPには、「価値」「原則」「プラクティス」という3つの概念があります。後続の記事で、このそれぞれを解説していきますので、まずはこの全体像を把握してください。
- 価値
- 「ある状況におけるよしあしの判断の根源にあるもの」とされています
- スクラムで言えば価値基準(確約・集中・公開・尊敬・勇気)よりも、三本柱(透明性・検査・適応)に近いと思っています
- 原則
- 「抽象的な価値と具体的なプラクティスをつなぐ橋のようなもの」と説明されています
- とはいえ、疑問もあり、説明は別途
- プラクティス
- 開発現場で実際に必要な技術や手法
- みなさんがよくご存じの継続的インテグレーションとか、テスト駆動開発とかは、これにあたります
以降、少しずつ解説していきますので、乞うご期待。