特集 アジャイル ソフトウェア開発の過去と未来
森屋英治 氏 平鍋健児 氏 小井土亨 氏 倉貫義人 氏
司会:森屋英治 氏
株式会社アークウェイ 代表取締役
平鍋健児 氏
株式会社チェンジビジョン 代表取締役社長
小井土亨 氏
NPO INETA Japan 理事
倉貫義人 氏
TIS 株式会社 社内ベンチャーカンパニー
「ソニックガーデン」代表

「前編:日本におけるアジャイル ソフトウェア開発のこれまで」

はてなブックマークに追加はてなブックマークに登録 Yahoo!ブックマークに登録 Yahoo!ブックマークに登録

 

前編 後編 次のページへ →
  • アジャイル ソフトウェア開発手法が日本に紹介されて 10 年がたち、試行錯誤の中で、日本独自の事情を踏まえたソフトウェア開発プロセスの運用が見えつつあります。本記事では、アジャイル ソフトウェア開発を日本でリードしてきた方々に集まっていただき、これまでの 10 年を振り返り、そこで得られた経験やノウハウを踏まえつつ、これからの 10 年におけるソフトウェア開発の展望について議論してもらいました。これまでの 10 年、これからの 10 年に関する議論を、それぞれ前編と後編としてお届けします。
  • 森屋 (司会) 今日はみなさんでアジャイルを中心にしたソフトウェア開発の展望の話をしたいのですが、ぜひ明るい話とともに本質的なことにも触れていけたらと思っています。

  • ■アジャイルとの出会い

  • 森屋 僕のアジャイルとの出会いは、小井土さんがきっかけを作ってくれたんです。1999 年か 2000 年くらいでした。

  • 平鍋 XP (eXtreme Programming) のメーリングリストを立ち上げたのが 2000 年の春でした。
    (編集部注: XP はアジャイル ソフトウェア開発の先駆けとなった開発手法。コーディングとテストを重視し、1 週間程度のサイクルで反復型の開発を行うなどの特徴を持つ)

  • 小井土 出会いに関して言うと、その前にオブジェクト指向があって、その人たちがデザイン パターンやパターン ランゲージをやりはじめて、そして XPJUG (日本 eXtreme Programming ユーザ会) を立ち上げたんですね。

  • 森屋 僕はその XPJUG の集まりに小井土さんに連れて行ってもらったのが初めてでしたね。そのとき平鍋さんが熱く XP について語っていて、それに賛同したというか。平鍋さんの話を聞いて、こんなロックな人がいるのかと思った。

  •  XP のコミュニティに集まってくる人って、会社ではとんがっている人たちなのではないかと思いました。

  • 倉貫 僕は XP との出会いが 2000 年の夏。当時まだ入社 2 年目で、大きなプロジェクトが終わって時間ができたのでオブジェクト指向の研修に行ったら一人だけ若い講師の人がいて、それが平鍋さんだった。そこで XP の話をしていて。それでアジャイルのコミュニティというものを知って。当時アジャイルのコミュニティは僕にとってなんだか行きやすい雰囲気でした。

  • 小井土 アジャイルって、それまでと違ってソフトウェア開発の新しい視点に立っているんですね。XP を知るまではオブジェクト指向をコミュニティなどでやっていたのだけれど、なんとなく閉塞感を感じていて、そんなときにアジャイルや XP が登場して、これはソフトウェア開発にとって衝撃的な考え方だと思いました。

  • 森屋 というのも、普段あたりまえのように本音としてはやっていたことだったんですね。例えば、結局リリース直前になるとユーザーと詰めながら開発しながらやっている、という実態があって、速く作るにはそれしかない。だったら最初からそれをやればいいじゃないか、というのがアジャイルの考え方ですよね。

  • 平鍋 僕の出会いは 2000 年の始めにケント・ベックの XP の本 (XP を解説した“eXtreme Programming explained”。日本語訳『XP エクストリーム・プログラミング入門』) をアマゾンで洋書を買って読んだこと。「お前は俺か!」と思うぐらい入り込んで 2 〜 3 日で読んだ。

  •  それで興奮して、これは訳さなきゃと出版社に電話したら「もうやってます」と言われて。それじゃあということで XP についての Web サイトを作ったりしました。その名も「エクストリームプログラミング」というサイトで、XP についての最新情報をアップデートするサイト。現在でも残っています。

  • ■アジャイルに出会ったときの衝撃

  • 小井土 みんなアジャイルに出会って衝撃を受けたところは同じで面白いですね。

  • 平鍋 僕の衝撃は、XP はソフトウェア開発に対して一応工学的なアプローチなんだけど、でもその中に「リリースが終わったら、お客さんといちばん高いシャンパンを抜いてお祝いをしなさい」なんて書いてあったこと。これだ!と。なんでいままで誰もこれを言わなかったんだろうと思った。
  • 森屋 リファクタリングの本を読んで、コードの足し引きができるというのが衝撃的でした。いままでコードって積み重ねていくものだと思っていたのが、引いてもいいのかと。
  • 小井土 テスト ファーストはかなり衝撃的でしたね。テスト ファーストはリファクタリングとほぼイコールですし、それをイテレーティブ (反復的) に作る、必要十分で作る、という点は人に教える点でも外せないですね。

  •  いいオブジェクト指向設計とテストの容易性というのは、実はすごくマッチしていて、単にオブジェクト指向を教えるのではなくて、テスト指向とかテスト ファーストと合わせて教えることが多いです。

  • 森屋 普通ライブラリを作るときには仕様ばかり見て作るんだけど、テストを先に書くと、使う人の視点に立って書くことになります。その視点の移動というのはすごく大事。ペア プログラミングでもそうだけど、使う人とプログラムを書く人の視点の変わり方は面白いですね。

  • ■アジャイルを広めるには

  • 森屋 みなさんがアジャイルを広めようとする活動の中で、うまくいったこと、感謝されたような例はありますか?

  • 倉貫 僕が XP でよかったと思うのは、プロジェクトの終了時にスタッフみんなで振り返りをするときに、「次もアジャイル開発を採用するか?」と聞くと、みんなイエスと答えてくれるんですね、それは嬉しかった。

  •  というのも、プロジェクトを始めるときに XP を採用したりすると、最初はやっぱりみんな戸惑っていて。最初のうちは反復ごとのミーティングなどで、僕だけが意見を言うような、僕だけのプロジェクトみたいな感じだったのが、繰り返していくと徐々にみんな意見を言い出すようになるんですね。それでみんなの自分のプロジェクトになっていく。

  • 平鍋 今までオブジェクト指向の利点として「再利用性が高いです」っていうけれど、どのプロジェクトでも実はたいしてオブジェクトの再利用なんかしてないんですよ。たかだか標準的に用意されているライブラリやフレームワークが使いやすいですね、というくらい。

  •  で、XP がはっきり言っているのは、オブジェクト指向は再利用のためではなくてメンテナンス容易性あるいは継続的なデザイン進化のためだと言い切っていて、そのためにテストが容易で、テスト ツールがあって、だからオブジェクト指向を使うのだと。

  •  つまり変化に対応するために、シンプルに設計してかつテストをしやすくする。そのためにオブジェクト指向を使うんだという、アジャイル開発が登場したおかげで実用性の面で初めてオブジェクト指向を使う理由が説明できたんです。

  •  ここまでは工学的な面での利点なんですが、一方で人間系の面でいうと、反復ごとに「ふりかえり」というミーティングがあって、チームで気付きを共有したり、「うまくいってない」と報告できるとか「じゃあどうしたらできるだろう」と議論するといった、人間が持っている、やりながら学んで、それを自分たちのものにしていく、ということをプロセスの中に組み込んでいる。これはアジャイルが初めて明示したことじゃないかと思います。

  • 森屋 本来、自分たちのためにプロセスがあるはずなのに、いままではどこかの外部から持ってきすぎたな、という反省がありますね。その気付きを与えてくれるのはアジャイルの大きな利点です。自分たちのものだから自分たちでプロセスを作ればいいと、最近そのことをすごく思いますね。

  • 平鍋 いまのプロジェクトで悩んでいるのはこの問題だ、というときに、それを 1 週間など反復ごとのミーティングで共有して、それを自分たちのやり方を作り出して解決していこう、というのはまったく健全で、それが本当の近道なんですよね。

  • ■何が普及の障害になっているか

  • 森屋 とはいえアジャイルの普及には障害がたくさんありますね。

  • 小井土 ソフトウェア業界のよくないところがあって、例えば利益構造が人月で計算されていると、ゆっくり作った方が儲かるとか、バグ管理ツールが導入されているので、バグをちゃんと出せとか、そういう点が普及の障害になっている点はありますね。

  • 森屋 大きな会社だと品質保証部というのがあって、リリース前にソフトウェアをそこでチェックしてもらうと「バグがないのはおかしい」って言われることもあります。でもアジャイルの手法を取り入れてテスト ファーストで作っているとバグは出ないんです。考え方が違うんですよね。

  •  でもどんなプロジェクトでも、アジャイルが利用できる切り口はたくさんあると思います。問題に対してどうアプローチするか、という策がアジャイルや XP にはいっぱい詰まっているので、それを 1 つの足がかりとして自分たちになじむところから使っていけばいいと思います。

  • 平鍋 現場をよくしようと考えたとき、今までの幻想として、「ソフトウェアは工業製品だから、何か問題があるならそれは設計に時間をかけて取り組まないのが悪い、とか、最初の計画がおかしいのではとか」って考えがち。でも現場にいる人は分かっていて、いくら計画や設計のマニュアルを事前に作ったってうまくいかないものはいかなくて、それより顧客を連れてきて一緒に対話しながら動くソフトウェアを作っていったほうが絶対にうまくいくって知っている。

  •  だけどソフトウェアは工業製品だという幻想があまりにも強くて、いままで変化が起こらなかったんです。

  • 森屋 それでも客先に常駐などして経験値を積んだ人は、何となく顧客の感覚や要望が分かるようになってくるんです。ただしそれには何年もかかる。

  • 平鍋 アジャイルはその状態へ早く、1 カ月で持って行こうとしているんです。

  • 倉貫 実は以前にパートナー企業さんも含めたプロジェクトをしていて、全員で反復ごとにミーティングをして意見などを定期的に聞いていたんです。そしたらある日パートナーに呼ばれて「僕たちにはそこまで考えさせないでくれ、計画通りに言われたことはやるから」と言われて衝撃を受けたことがありました。誰もがアジャイルを導入したいわけじゃないんだなと。

  • 森屋 アジャイルだと、エンジニアが自由に作れる一方で責任も伴ってくるから、そのバランスは難しいですね。

  • 平鍋 日本だと受託という仕事が IT 業界の中心みたいなところがあって、それだとソフトウェアをうまく作ってもそれほど評価されない。一方で海外だと自社製品やパッケージソフトを作っている人が多くて、それだといかに短期間で品質の高いソフトウェアを作れるか、というところが会社の強みになる。日本でも産業構造が変わらないとだめかもしれないと思っています。

  • 倉貫 大きな SIer なんかだと、例えば全社で同時に 200 プロジェクトくらい走ったりするので、それら 1 つ 1 つをどう評価するのか? という問題になって、結局それは数字で見えるところで判断するしかないんです。そうすると、“ちゃんと”やっているかどうかは、例えば“ちゃんと”ハンコをもらって仕事しているかどうかが品質の高いソフトウェアを作ることよりも優先されるかとか、そういう風になっちゃう。だから、大きい会社でモチベーション高くやるには、そのあたりの評価方法を変えていかないと無理じゃないかと思う。

  • 森屋 エンドユーザー企業の情報システム部門なら、うまくソフトウェアが作れれば社内のエンドユーザーが喜んでくれたり企業の直接の利益になったりするから、開発に対するモチベーションはずいぶん違ってくるでしょうね。

  • 小井土 いい品質とかいい機能を追求しよう、という気持ちがないといけないですよね。そこがすごく大事なところです。

  • 平鍋 そのためにはソフトウェアの価値をビジネスに転化できるようにしなければ。仕様どおりに作るのがよいのではなくて、本当にいいソフトウェア、本当にビジネスで価値を生み出すソフトウェアを作ろう、という気にならないといけないですよね。

  • 森屋 そういう価値の転換できる方向に、IT 業界を持って行かなければなりませんね。

  • (2009 / 6 / 3 公開)


  •  

    前編 後編 次のページへ →

  • <参加者>
    司会:森屋英治 氏 (株式会社アークウェイ 代表取締役)
    元マイクロソフトのプリンシパル コンサルタント。.NETによるアジャイル開発 (NAgile) の研究やコンサルティングも行っている。本サイト「ソフトウェア開発未来会議」の編集委員。
  • 平鍋健児 氏 (株式会社チェンジビジョン 代表取締役社長)
    日本におけるアジャイル ソフトウェア開発手法の第一人者。オブジェクト指向技術、アジャイル開発、ファシリテーションなどのコンサルタント。アジャイルプロセス協議会副会長。

  • 小井土亨 氏 (NPO INETA Japan 理事)
    一貫してソフトウェアの開発を生業としテストによる設計とリファクタリングを日課とする実践者。日本 XP ユーザ会 広報担当

  • 倉貫義人 氏 (TIS 株式会社 社内ベンチャーカンパニー「ソニックガーデン」代表)
    入社 2 年目でアジャイル開発手法に出会い、いくつものシステム構築案件をアジャイルによって開発してきた事例を持つ。日本 eXtreme Programming ユーザ会 (XPJUG) 会長として XP の普及にも活躍