アジャイル型プロセスの中で,XPと並んで有名なものが「スクラム」である。個人の生産性を重視するXPと違い,スクラムはマネジメントを重視して,チーム全体の生産性向上を目指す。初心者にはとっつきにくい面もある,スクラムの基本的な考え方や開発の流れを紹介する。

 「スクラム」という名称は,おそらくアジャイル型プロセスの中で最も風変わりなものである。すでにご存知の方も多いと思うが,この名称はラグビーの「スクラム」からきている。

 スクラムの基になる考え方は,一橋大学教授の竹内弘高氏と野中郁次郎氏が1986年に発表した論文「ラグビー方式による新製品開発競争」にある。その骨子は,実作業を担うメンバー自身が大きな責任と権限を持つこと,そしてメンバー全員が一丸となって開発に取り組むというものだ。ただし,この論文はソフトウエア開発ではなく,工業製品を開発するプロジェクトを対象にしていた。

 アジャイル型プロセスとしてのスクラムを考案したのは,米国のソフトウエア開発者ケン・シュウェイバー氏である。竹内氏らが発表した論文のアイデアに感銘を受けたシュウェイバー氏は,自らソフトウエア開発プロジェクトでこのアプローチを数回実践。ソフトウエア開発に使えることを確認すると,これらの経験をまとめて,「アジャイルソフトウェア開発スクラム」として1995年に発表した。ちょうどXPがソフトウエア開発者の間で話題となり始めたころである。

チーム一丸で取り組む

 Part2でも紹介したように,数あるアジャイル型プロセスの中で,スクラムは各種の計画策定や進ちょくの管理といった,チームの生産性を維持・向上することに主眼を置いた,「マネジメント重視型」のプロセスに分類できる。小規模プロジェクトだけでなく,要員の数が100人を超える,規模の比較的大きいプロジェクトにも適用可能だ。すでに米国では,Webベース・システムやコールセンターのシステムなど,多数の事例が報告されている。

 スクラムは特定のプログラミング言語に依存せず,具体的な開発作業の手順も定めていない。逆に言えば自由度が高すぎるとも言える。このため,RUP(Rational Unified Process)やXPなど,他の開発プロセスと組み合わせるケースも多い。

 先に述べたように,スクラムではチームを構成するメンバーの自己責任を重視し,チーム一丸となって目標達成(=顧客の望むソフトウエアを開発すること)に向かって進む。こうしたスクラムの思想を表しているのが,スクラムの“価値”である(図1)。

図1●スクラムの“価値”
図1●スクラムの“価値”
価値とは,メンバーの考え方や行動の仕方,作業内方針などを定めた「基本理念」である。メンバーの自己責任とプライドを尊重した,スクラムの精神を表している

 ここで言う価値とは,スクラムを実践する上でのメンバーの考え方や行動の仕方,作業方針などを定めた「基本理念」だ。具体的には,チームが掲げた目標にメンバー全員がコミットすること,メンバーが自分の仕事に集中すること,プロジェクトに関する情報をメンバー全員にオープンにすること,メンバーが互いの立場や経験に敬意を払うこと,そして以上の4つの価値を実践するために,各メンバーが勇気を持つことである。特に5つ目に挙げた,勇気を持つことは重要だ。その他4つの価値を実践するのは,決して簡単ではないからだ。

 これらはスクラムを理解し実践する上で,常に念頭に置いてほしいことである。読者の方が今後スクラムを実践する際には,折に触れて思い出してほしい。