同セミナーの講師を務めた,平鍋健児マネジャー,天野勝ソフトウェア開発コンサルタント,北野弘治チーフコンサルタントの3名にセミナーの様子を聞いた。

参加費無料で全国ツアーのセミナーを企画したのはなぜ?
 とにかくXPを啓もうしたい。一人でも多くのソフトウエア技術者にXPについて知ってもらいたいということに尽きます。この業界を何とかしたいという使命感と言ってもいいです。それも東京や大阪のような大都市圏ではなく,情報の少ない地方で草の根的に啓もう活動をしたかったのです。気軽に参加してもらうためには無料であることが大事。そこで,セミナーのテキスト費用などは弊社(永和システムマネンジメント)が負担しました。実は弊社では,売り上げの10%までの費用をこういった将来の投資につながるような活動に当てています。弊社が主催しているLEGOブロックを使ったロボット・コンテストや中学生向けのセミナーなどもその一環です。また,社長がXPの重要性を理解していることや社内の自由な雰囲気によることもあって,このセミナーが実現しました。

会場を提供するホスト企業はどうやって集めたのか?
 2003年2月にオブジェクト倶楽部で運営しているXPのメーリング・リストで呼びかけたのが最初です。また,知り合いの技術者に直接,声をかけたりしました。ホスト企業には,会場の提供,参加者の募集,懇親会の設定といったことを要求していたのですが,問い合わせがあったのは札幌,仙台,秋田,浜松,名古屋,福井,京都,福岡などから約10社。この中から開催順に,仙台(東北リコー),福岡(エイビスシステムソリューション中央電子),札幌(ブリッジ),京都(オムロンソフトウェア),浜松(アルモニコス),福井(福井コンピュータ)の6カ所7社に決めました。組み込み機器開発,受託システム開発,CAD,コンサルタント,パッケージ・ソフト開発など企業の分野はさまざまでしたが,2日間の会場は無償で提供していただけました。それだけ,XPについての情報を必要としているのだなと実感しましたね。

参加者のプロフィールは?
 参加者の平均年齢は30歳前後。ソフトウエア開発者が中心で,まさに現場でバリバリやっている人たちです。20代の若手技術者や管理職レベルの人たちも少なくなかったので,幅広い層の参加が得られたと思います。浜松では連休直前の土日開催というスケジュールだったのに,若い技術者の方が大勢参加してくれました。うれしかったですね。参加者のの70~80%は,XPについて「多少は知っている」「聞いたことがある」という方々でした。でも,具体的にXPを実践しているところはなかったです。オブジェクト指向開発については,いずれも何かしら取り組んでいましたが,開発プロセスはウォータフォール(原則として,開発工程の後戻りを許さない方式)で開発しているところが多かったです。

1日目に実施した「ペア・ドロー」というのはどういうゲームか?
 ペア・ドローというのは,XPの価値やペア・プログラミングの楽しさを伝えるゲームです。参加者を二人一組でペアにして,私たち講師の似顔絵を描いてもらいました。一人で描く場合だと,絵心がないとうまく描けないし,恥ずかしくて他人に見せにくいですよね。でも,二人で協力して描けば似顔絵らしくなってきて,最後に全員で評価し合うときも抵抗感が減ります。また,絵を描いているときに二人の間に“コミュニケーション”が発生し,モデル(顧客)である私たちに「こっちを向いてください」と“勇気”を持って言えるようにもなります。これで参加者全員に,打ち解けたムードが広がりました。

セミナーのカリキュラムは最初から周到に準備していたのか?
 以前同じメンバーで実施した有料セミナーのカリキュラムを半分くらいベースにしました。しかし実際にやってみると,いろいろ問題が出てきます。参加者のレベルや反応に合わせて,臨機応変にやり方も題材も柔軟に変更していきました。説明する内容もテキストに書いてあること全部ではなく,最初にどんなことを知りたいのか参加者に話し合ってもらって,それに合わせて内容を変えました。XPでは顧客の要求に応じて仕様が変わることを受け入れるのが特徴ですが,私たち講師も参加者の要求に応じて講義内容を変えていったわけです。
 特に2日目のワークショップは,初期の仙台と最後の福井ではけっこう違いましたね。実は「計画ゲーム」の題材は,当初「ガーデニング」ではなく「旅行」だったのですが,旅行は一度行ったらおしまいです。これでは反復開発というXPの良さを実感できないと思い,少しずつ庭を作り上げていくガーデニングに変更しました。

計画ゲームでは,なぜソフト開発を実践しなかったのか?
 最大の理由は時間です。実際のソフトウエア開発を実践するだけの時間的余裕がありませんでした。しかし「計画ゲーム」ワークショップは,チームで開発すること,計画をきちんと立てること,タスク分割や見積もりを行うこと,短期にリリースして反復開発すること,の四つを理解するのが目的なので,それで正解だったと思っています。実際,参加者のアンケートには「楽しく学習できた」という感想が多くありました。楽しいほうが理解も早いと思います。

「TDD」ワークショップは,うまくできたのか?
 TDDでは,二人一組で1台のパソコンを操作するペア・プログラミングをやってもらいました。テスティング・ツールのJUnitを使ったJavaプログラミングを実践したのですが,全員がJavaを使いこなせるわけではありません。レベルに合わせてペアを調整するなど苦労しました。特に最初のプログラムをコンパイルするまでに時間がかかりましたね。プログラムを作る前にテスト・プログラムを作るテスト・ファーストは,理屈では理解できても,実際にやってみると皆さん衝撃的だったようです。とても楽しんでもらえたのですが,限られたセミナー時間内でプログラミング・スキルの差をどう埋めるのかといったことは今後の課題だと思います。

参加者はどんな悩みをもっているのか?
 開発しているソフトウエアや場所は違っても,同じような悩みを抱えているのだな,というのが率直なところです。「仕様が決まらない,不安定だ」という声は必ずありました。パッケージ・ソフト開発と受託開発では顧客の扱いが異なるので,XPで言うところの顧客をどう定義したらいいのか,といったかなり具体的な悩みもありました。「ペア・プログラミングだとなぜ開発効率や品質が高いのか」といった基本的な質問から,「どのプラクティスから順番に導入すべきか」という実践的な質問も多かったです。とにかく,今ある状況を何とかしたい,という切迫感がよく伝わってきました。

XPは,現在のソフトウエア開発者の不安を解決できる?
 XPがすべての問題を解決できるとは思っていません。あくまで効果的な解決法の一つでしょう。ですからセミナーでは「XPを完璧にやろうとしないでください」と言いました。まず自分たちの問題や課題を明確にし,それぞれに対し効果的と思われるXPのプラクティスを対応付けて,できるところから実行していく――そういうアプローチを理解してもらうことを最大の目標にしたつもりです。参加者アンケートに「やってみることが一番重要だ,ということがわかった」という感想を書いた人がいました。まさにその通りなんです。

今後,XPを啓もうしていくには何が必要?
 今回のXPアンギャで,開発者が多くの不安を持ち,XPやXP的な解決手段を求めていることが実感できました。となると次は,管理職や経営者,また顧客(ユーザー)に対して,XPのメリットを理解してもらうことが重要だと思います。XPを導入するには,プロジェクト管理や契約といった問題もからんでくるからです。開発者向けのXPアンギャとは別に,管理職/経営者/ユーザー向けのセミナーを企画したいですね。そうすることで,日本全体で,XPを導入しやすい環境を作っていけたらと思います。若い技術者が「XPをやりましょう」と言ったとき,頭ごなしに否定しないで「今度のプロジェクトなら導入できるかもしれない」と考えてくれる上司が増えてくれれば,現場はもっと良い方向に向かうと思います。

(真島 馨=日経ソフトウエア)

(写真:オブジェクト倶楽部,真島)