IT記者会Report

オリジナルな記事や送られてきたニュースリリース、セミナーのプレゼン資料など

平鍋健児氏(チェンジビジョン代表取締役) 「アジャイル開発とスクラム」(2)

派生開発カンファレンス企業講演
アジャイル開発宣言

 ところで、アジャイルをやっている人とアジャイルの話をすると、たいてい話がかみ合いません。というのは「アジャイル」という言葉は同じでも、捉え方が人によって違うからです。もともと定義がフワッとしているので、「あなたのアジャイルはどのアジャイルですか」と聞かないと分からない。ご存知のようにアジャイルは方法論じゃなくて、いろんな手法のアンブレラ・ワード、一つの抽象クラスなんで、いつも私は地図を書いて話をするようにしています。
 で、アジャイルがいちばん大切にしているのはビジネスの価値なんですね。もちろんウォーターフォールや派生開発で重要だと言っているプロセスやドキュメント、それも大切です。私は既存の手法と対立したくないので、また誤解を避けるために、プロセスやドキュメントは非常に重要です、と言っています。ただビジネスは超重要です(笑)という言い方をしています。これは2001年にアメリカのユタ州、スノーバードで「アジャイル宣言」が行われたとき、作った製品が売れること、新しい顧客を獲得すること、市場を生み出すこと、利益が出ることであって、ソフトウェアを作ることじゃない、って言い切ったんですね。
 これってすごいことで、そのときアジャイルに相当する言葉として、例えばライトウェイト、メソッドなどの言葉の他に、「ビジネス・アラインド・プロセス」、つまりビジネスと一緒に動いていく、という意味の言葉が候補になりました。ここが重要なところなんですが、それを達成するためにレフトウイングとライトウイングがあって、わたしはレフトウイングに「ソーシャルプラクティス」、ライトウイングに「技術プラクティス」という呼び名を付けています。
 ソーシャルプラクティスには人と人の関係にかかわること、朝会とかタスクかんばん、バーンダウンチャート、ふりかえりなどが属します。人間系のことで、それをわたしは「協働でゴールに向かうチーム環境」と言っています。
 もう一つ、右側にあるのは技術的なことで、これも重要です。わたしは「高速に石橋をたたいて渡る開発環境」と言っています。というのは、アジャイルというのは常にソフトウェアをビルドしテストできる状態にしておきます。なので、通常の開発でいう「結合」というフェーズがないんですね。
 ただ作って結合、作って結合を繰り返すと壊れてしまうので、テストを非常に重視しています。小テストをいつもやって、石橋をココココと叩いて、慎重にですね、細かく高速に確かめながら渡っていく。そういうやり方です。ですからアジャイルの基本的なプラクティスというのは、継続的なインテグレーションでして、テスト駆動開発リファクタリング——内部構造の整理で機能を変えずにプログラムの中身を変えましょうということですね、それと2人のエンジニアが並行して作っていくペアプログラミング、そういうことになっていきます。この2つの側面を組み合わせて、ビジネスのゴールを目指すというのがアジャイル開発です。
スクラム」の名付け親

 今日の本題ですが、「スクラム」という手法がアジャイルのなかでいちばんよく知られているだろうと思うんですが、このやり方は、いうまでもなくアメリカで形成されました。先の継続的インテグレーションなどはマイクロソフトのように常に製品を出し続けている会社が使っていたんですが、それと「朝会」(あさかい)や「クライムマスター、プロダクトオーナー制」、「多能工化(ジョブディスクリプションを超えた協調)」などのソーシャルプラクティスを併用してスクラムが生まれました。その方法論を理論化する、知識を体系化するときに三個言うにしたのは、野中郁次郎という方です。野中先生の論文を参照して「スクラム」という名前が付きました。その背景にあるのは1980年代の日本の製造業における新製品開発の手法です。
 スクラムについて最初に出た本がこれです。2001年の10月、マイク・ビードル(Mike Beedle)とケン・シュエイバー(Ken Schwaber)という人が書いた『Agile Software Development with Scrum』(和訳名『アジャイルソフトウェア開発スクラム』)です。ケン・シュワバーはジェフ・サザーランド(Jeff Sutherland)と並んで「スクラムの父」と呼ばれ、マイク・ビードルスクラムをパターン記述して、コミュニティで発表しています。
 この本の1ページ目には、次の文章が載っています。
 ——今日では新製品開発の動きが早く、競争率が高い世界では速度と柔軟性がとても重要である。企業は、新製品開発に直線的な開発手法は古く、この方法では簡単に仕事を成し遂げることができないことを徐々に認識し始めている。日本やアメリカの企業では、ラグビーにおいて、チーム内でボールがパスされながらフィールド上を一群となって移動するかのように、全体的な方法を用いている。
 この引用元は、野中先生と竹内弘高先生が1986年にハーバードビジネスレビューに投稿された「The new new product development game」という論文でして、スクラムだけでなく、先ほど紹介したXP、エクストリーム・プログラミングの本にも引用されています。「The new new」とある2番目のnewはプロダクトにかかるんです。つまり、新製品開発の新しい方法、という意味になります。世の中にまだないものを開発するとき、というわけです。ジェフ・サザーランドがこの論文を読んで、それまでたくさんの論文を読んでいたけれど、これが完璧に心に突き刺さったと言っています。
 この論文の中に図がありまして、ソフトウェアにかかわっている私たちからすると、いちばん上はおそらくウォーターフォール、いちばん下がアジャイルだろう、という具合にデジャブ的に見てしまうのですけど、実はそうではなくて、新製品開発のやり方を分類したものです。いちばん上がタイプAで、フェーズ1、2、3……とフェーズが切れていて、論文の中ではこれをNASAのやり方だと言っています。3番目がホンダのモデルで、フェーズが重なって作業が進められます。
 陸上競技に例えると、いちばん上のモデルはリレー競走です。最初のランナーから次のランナーにバトンが渡されて、アンカーがゴールする。いちばん下はラグビーです。ボールをパスしながら全員でゴールに向かって行く。野中先生は最初、これを「サシミ」と呼んだんですね。魚の切身が重なってお皿に盛られている刺身のことで(笑)すが、サシミじゃアメリカ人に分からないだろうということで、ラグビーから「スクラム」という名前を思いついた。野中先生は真面目の高尚な理論を語りながら、すごく上手い冗談を入れるんで、お話がとても面白いんですね。皆さんもぜひいちど、お話を聞きに行ってください。
暗黙知形式知の相互変換

 さて、次にお見せするのが「アジャイルの地図」です。全体を踏まえて書いたものですが、アジャイルとリーンというのは、現在、海外のソフトウェア開発の文脈ではほぼ同義語です。リーンというのは、もともとはトヨタの生産方式に由来していますが、アメリカに渡って「Machine that change the world」という本で紹介されて、それが「リーン:lean」(むだがない)というコンセプトになり、機械の生産方式だけじゃなくマーケティング医療機関の患者の動線、建築現場の資材配置にも適用されるようになりました。
 そのリーンがアジャイル開発の本質的なコンセプトなんだ、と言ったのは、メアリ・ポッペンディーク(Mary Poppendieck)という女性のエンジニアです。「リーン開発の本質」という本を書かれています。その源流をたどるとTPS(Toyota Production System)です。もう一つスクラムを中心に置いて見ると、その前に「パターン」という手法があって、「パターン」の前にはオブジェクト指向があるんですが、それがXPに影響を与え、それが「アジャイル」というアンブレラワードの2つの強力なインスタンスになりました。
 そのアジャイルを説明するためにリーンのコンセプトが使われて、「リーン・ソフトウェア開発」が生まれ、さらに「Kanban」という、モロ日本由来の名前の手法が出ました。またリーンとアジャイルが融合して、顧客開発やビジネスの仕方まで含めた「リーン・スタートアップ」というようなものも生まれてきました。
 野中先生はその後、ナレッジマネジメントの世界では常識になっている「SECI(セキ)モデル」、先生は「自分はこれで20年、メシを食ってる」と言っています(笑)。「SECIモデル」というのは、知識はどこから来るか、という深淵なモデルです。先生は、「知識創造というのは、暗黙知形式知の相互変換運動なんだ」と言っています。暗黙知というのは、言語や文章で表されていなかったり、文章化が難しい経験知、いわゆるコツとか発想、思いのようなものです。形式知は言語や文章、数式などで表記され、体系化され理論化された知識といっていい。
 XDDPはできるかぎり暗黙知に頼らず、プロジェクトに参加する人たちの頭の中にある暗黙知形式知にして共有していきましょうという傾向が強いように思いますし、アジャイルは逆で、文書化に頼りすぎたこれまでのソフト開発を、同じ場所で、人と人のコミュニケーションを通じて暗黙知を共有していこう、という傾向にあります。ソフトウェア工学をチーム作りの工学として適用し、チーム・コミュニケーション・エンジニアリングみたいな感じに延長した形なんです。ですから形式知暗黙知も両方とも重要で、その意味でXDDPとアジャイルは相互補完の関係にあるんです。
 
イノベーションの本質

 さて、もう少しこの2つの知について考察していきます。
 暗黙知というのは、例えば自転車の乗り方。自分の子供に自転車を教えるときを想像してみてください。マニュアルを書くということはないですよね。おそらく自転車の後ろを持ってあげて、一緒に体験するのがいちばんい。自転車に乗る、っていうのは脳から反射的に筋肉に信号を送りつつ、バランスをコントロールすることですので、文章化しにくいし、文章にしたところで伝わらない。それに対して、形式知ですが、人間は形式知を持つことによって、世代を超えて知恵や知識を伝え、学ぶことができたと言えるでしょう。ニュートンの重力の法則なんかがそれに当たります。
 知識創造のプロセスを整理すると、最初は「これかな?」「たぶん、これだろう」という気づきです。次に起こるのは、暗黙知から暗黙知への変換です。一緒に経験することで、暗黙知を共有すること。これを「共同化」「ソーシャライゼーション(Socialization)」と呼びます。
 その次に起こるのは、そこで得た暗黙知を図や数式に書き留めていくことです。頭で理解したことを書き留めていく。そうすると暗黙知が文書化され、形式知になって行きます。これを「表出化」「エクスターナライゼーション(Externalization)」と呼んでいます。
 形式知の特徴は他の形式知と組み合わせることができるんですね。特許とか数式とか。そうすることによって新しい形式知が生まれてきます。「連結化」「コンビネーション(Combination)」です。
 そのあと自分が実践して体験することで暗黙知を得ていく。「内面化」「インターナライゼーション(Internalization)」です。ソーシアライゼーション→エクスターナライゼーション→コンビネーション→インターナライゼーションのサイクルがグルグル回っていく。これを「SECIモデル」と呼びます。野中先生の研究の中心にある結晶化されたモデルです。
 このとき大切なのは「思い」です。パナソニックのホームベーカリー。パン焼き機ですね。つまり世の中になかったニュー・プロダクトです。これを開発した女性の研究員は料理が好きで、料理科学を専攻した方なんですね。この方が最初に「わたしにやらせてください」と手を挙げた。
 本日最初の論文発表をなさった富士ゼロックスの斎藤さんに、会場から「なぜそれをやってみようと思ったんですか」と動機についての質問がありました。実は動機、モチベーションというのが大切で、「思い」がないと何も始まらないんですね。主観があって、思いがあって、次にデータがある。ホームベーカリーの開発でも、その方が強い思いを持って取り組んだ。ところが実験室ではなかなか美味しいパンが焼けない。研究開発は頓挫しかかりました。
 そのとき、彼女が美味しいと思った大阪市内のホテルのパン職人に弟子入りするんですね。最初は彼女1人が弟子入りして、最後はチーム全員が弟子入りする。パン職人の下で生地をこねることで暗黙知を共有して、それを形式知に移していく。そういう作業を重ねて、3年間にパンを5千個も食べたんだそうです。SECIモデルがすごいスピードで回ってるんですね。
 結果、どうかというと、パン生地をこねるとき、職人さんたちは叩くだけじゃなくて、微妙に生地を引っ張っていることに気がついたんですね。それを装置に小さな爪を付けることで具現した。形式知化がイノベーションを生んだんです。キャッチコピーには「炊飯器以来の発明です」と書いてあります。これはSECIモデルの具体的な説明なんですが、やっていることはアジャイルそのものと言えるでしょう。逆に野中先生から見ると、アジャイルはSECIモデルそのものかもしれません。
「合宿をしなさい」

 これは最近のアジャイル開発で話題になっている考え方「デザイン・シンキング」に通じます。もう時間がないので端折りますが、最初のフェイズは「エンパサイズ(empathize)」、共感です。医療器具を開発するのなら入院しなさい、というわけです。そうすると不都合が分かる。新しい椅子のデザインを考えるとき、体を使ってこんな座り方はできないかなと試してみる。それがイノベーションの入り口、というわけです。
 最後にもう一つ、エオピソードを紹介してこの講演を終わりたいと思います。
 ジェフ・サザーランドが初めて来日したときのこと、プロダクトオーナー研修の講義をやっていたら、最後なってにひょっこり野中先生がやってきました。一緒に夕食に行こうという話があったからなんですが、このときジェフは最後のQ&Aセッションをやっていました。その質問は、
 「私はプロダクトオーナー、要求を作って発注する立場なんですが、営業部門からはこう言われる、管理部門からはこういう要求がある、製造現場は違うことを要求する。それでどうしたらいいか困っている」
 というものだったんです。
 そうしたらサザーランドは、こともあろうに、席に着いたばっかりの野中先生に振ったんですね。
 あり得ない無茶振り(笑)ですが、たいていの人はステークホルダーの要求を整理して優先順位を付けるということだと思います。しかし先生は、
 「合宿をしなさい」
 とひとこと言ったんですね。
 そしてこう続けました。
 「重要なことを決めるときに、形式知だけで決め手はダメだ」
 と。
 「各部門に計画があり予算があって、お互いに譲れない。合宿すると、初日の昼間は形式知の応酬だけど、夕食のあと一杯飲みながら、家族はどうだとかなぜこの会社に入ったのかとかをお互いに話すと暗黙知を共有できる」
 最後の質問は「なぜお前はこの合宿に参加しているのか」「お前はなぜこの会社に入ったのか」で、それを考えることで「われわれ」の意識が生まれる。これはホンダの実例ですが、ここで「We are HONDA」になる。2日目に優先順位を話し合うと、お互いの背景も含めた、思いも含めた暗黙知が共有されているからうまくいく。合宿が終わるころには全員が「I am HONDA」になっている、というんです。最後のインターナライゼーションですね。暗黙知の共有、ソーシャライゼーションに始まり、エクスターナライゼーション→コンビネーション→インターナライゼーションが回る。それがスクラムなんです、という話を野中先生がされて、たいへん感動したことがありました。
 このようにアジャイルはすごくすごく日本的な内容を含んでいます。そして派生開発、XDDPとは補完関係にあります。その補完関係が解き明かされつつありますので、今後の連携に期待したいと思います。ということで、わたしの話を終わります。ありがとうございました。(拍手)