スクラム・カンバン・XPを比較してみた

チームへのアジャイル開発手法の導入を検討するにあたり、主要なアジャイル開発手法であるスクラム・カンバン・XPの比較を行って見ました

※ 正確ではない表現や事実誤認が含まれている可能性があります。ご容赦ください🙏

それぞれの比較

前提

比較方法

  • 表を用いて各種手法に共通すると思われる項目において比較した

※ それぞれのアジャイル開発手法で語られているアングルは異なるものの、表による比較のために強引に同じ水準にまとめた部分があります。 あくまで参考程度としていただけますようお願いいたします🙏

考察

スクラム

  • コミットメントを価値におき、それがプラクティスにおいても要求されるところが最大の違い
  • コミットメントを実現するためチームに課される実施項目(役割・イベントなど)が多いと思われる
    • 逆にいうと、コミットメントへの要求度合いが高い請負契約などでは向いているのかもしれない
  • また、「価値の創出」に重きをおくのでスプリントレビューで達成されたことや、状況の変化をレビューし、価値を出せるかをチェックすると思われる

カンバン

  • 要求されるプラクティスは他と比較して少ないのではじめやすさはあるが、逆にいうと補うべき項目も多いので難易度が低いというわけではないと思われる
  • 他の手法のように生産した成果物の「価値」や「品質」を目的とするものではなく、あくまで「プロセスの改善」を目的とするものなので、カンバンでそれらを作り出そうと思った場合は別のプラクティスなり考え方が必要と思われる

XP

  • 「価値」や「原則・理論」で挙げられている項目が最も多く、具体的なプラクティスというよりは行動規範や指針としての要素が強く感じられる
  • いわゆるアジャイルのレフトウィングの「開発の進め方」や「開発環境」まで言及している
  • 他の2つと比較して「いきいきとした仕事」「ゆとり」といったようなチームで働く人・プログラマーを考えた原則が見受けられる

全体を通して

  • 同じアジャイル開発手法という枠組みで捉えられているが、それぞれ目的やカバーしている領域が異なる部分がある
  • 特に、それぞれの目的や価値については、書いてある内容や量からその重視する点において以下のような差異があるように感じられた

それぞれの目的における差異

  • こういった差異があるので以下のことを気をつけたい
    • 同じ水準で語られることが多いがそれぞれ特色があるので、導入の際にはその目的や要求されるプラクティスをきちんと理解しておくこと
      • そうでないと、プロセスに対して期待値のすれ違いが起こる可能性がありそう
    • やはりどれかのアジャイル開発手法を軸としつつ、言及されていない部分を他の手法から補完することで、全体としてアジャイルに近づくのではと思う

追記:

「手法ごとにカバーしている領域が異なる」という点についてはMartinFowlerのブログにも似たような趣旨のポストがありました。

bliki-ja.github.io

やはりそれぞれの手法が目的としている領域をきちんと理解するというのは変わらず、足りない部分を自律的に補う、というのは必要ですね。