エクストリームプログラミングとは #
エクストリームプログラミング(以下、XP)はアジャイルソフトウェア開発宣言をだしたメンバーの一人、 Kent Beckが提唱したアジャイルの枠組みの中で開発を行っていくためのより実践的なプラクティス集です。 スクラムでは会議体や成果物を規定していましたが、その枠組の中でどのように開発していくかまでは定義していませんでした。 XPのプラクティスは、スクラムで規定されていない"どのように開発していくか"を補完してくれるものです。
よくある誤解としてスクラムとXPは全くスキームの異なるものと捉えるものがあります。 つまり、私達のチームはスクラムでやってるからXPは取り入れられないとか、逆にXPをやっているからスクラムは取り入れられないというものです。 これは全くの誤解で、スクラムの章で説明している通り、スクラムはアジャイルのフレームワークにすぎません。 実際にはスクラムをフレームワークとして、XPなどのプラクティスを取り入れて開発が行われるというのが正しいです。
さらに言えば、アジャイルでは開発プロセス自体もどんどん開発途中で見直していきます。 これらのフレームワークやプラクティスをベースに各々のチームに合わせて最適化していくのです。
アジャイルはマインドセット、スクラムはアジャイルのマインドセットに則って開発していくためのフレームワーク、 XPはより実践的なプラクティス集だということを念頭に置いてください。
それでは早速XPのプラクティスについて見ていきましょう。
XPのプラクティス