• BPnet
  • ビジネス
  • IT
  • テクノロジー
  • 医療
  • 建設・不動産
  • TRENDY
  • WOMAN
  • ショッピング
  • 転職
  • ナショジオ
  • 日経電子版
  • PR

  • PR

  • PR

  • PR

  • PR

ニュース

「XPは押しつけるものではない。自分が変われば必ず伝わる」,XPの提唱者Kent Beck氏語る

大森 敏行=日経ソフトウエア 2006/09/06 日経ソフトウエア
[画像のクリックで拡大表示]

 「自分を変えられるのは自分しかいない」。2006年9月5日,ソフトウエア開発プロセスの一つ,eXtreme Programming(XP)を提唱しているKent Beck氏を囲んで記者懇談会が開催された。自分が変われば,必ずまわりは変わる。そんな信念が感じられた懇談会だった。

 Beck氏の著書である「XPエクストリーム・プログラミング入門 第2版」は「XP is about social change.」という文章で始まっている。日本語版では「XPとは社会改革のことである」と訳されているが,ソーシャルのニュアンスが少し違うという意見もある。そこでまず「XPでいうソーシャルとはどういう意味か」と質問した。

 Beck氏はソーシャルの例として「14歳になる私の娘は,ある友人と1時間くらい話をし,別の友人と同じ話をまた1時間くらいする。彼女はソーシャルな子供だ」と語った。つまり「社交的」「コミュニケーションの能力がある」といったニュアンスである。

 一方,プログラマは,人よりコンピュータと付き合う時間の方が長く,一般にはあまり“ソーシャル”ではない。Beck氏も以前は「自分がパーフェクトなプログラマであれば,プロジェクトは問題なくうまくいく」と考えていたという。「こういうことを言ったほうがいいとか,こんなことを言ったらおもしろいといったことを考えたことはなかった」(同氏)。ところが,15年ほど前に「プログラミングだけでなく,まわりを取り巻く様々な要素に着目することで,プログラミング自体が大きく変わる」ということに気付いたという。コンピュータのテクニックだけでなく,コミュニケーションのスキルを身に付ける必要性を感じたのだ。つまり「social change」である。

 例えば,コミュニケーションには,言葉以外にも,アイコンタクト,言葉のトーン,言葉の選択,ボディランゲージ,といった様々な要素があるという。ただ「誰でも変化には抵抗感がある」(Beck氏)。自身も,コミュニケーションの能力を身に付けようと努力するなかで,納得できないやり方がいろいろあったという。同氏は「娘は自然にソーシャルな能力を身に付けた。これに対し,私は違ったやり方,経験のないやり方をしなければならず困難もあった」と振り返る。それでも「特性,適性度にかかわらず,学ぶことはできる」と強調する。

 「XPを広めるにはどうしていけばいいか」という質問に対しては,Beck氏は「まずは努力して自分を変える」ことだと答えた。「自分が変わることによって,立ち居振る舞いや行動がどう変わったかを人に見せる。その変化がどれだけプラスの方向に働いているかを証明する。自分がよい方向に変われば,対人関係もよくなる。そこから信頼が生まれる。そこまでいけば,まわりは『自分も変わってみようか』と思う」(同氏)。「相手を説得しよう,相手が言うことを覆して自分が言うことを納得させよう」という態度では決して伝わらないのである。「まわりの人間のどこが悪い,ここが悪いという点に注目するのではなく,ポジティブな方向性でよりよくものごとを変えていく」という心構えが必要だという。

 Beck氏は,アーキテクト,プログラマ,テスターといった古典的な役割分担の弊害にも触れた。「分業体制では,責任を分けることで,その部分しか責任を負わないことになってしまう」というのだ。ただ「5年前,10年前にはプログラマはテストを書いていなかった。ところが,今は書いている。役割分担に対する見直しが起こっている」(同氏)。

 重要なのは「すべての人々が責任を持って開発に携わる」ことである。Beck氏は,それを示す一つの逸話を紹介した。1960年代のNASAの掃除担当者にある人が「あなたの仕事は何ですか」とインタビューしたところ,その人は「私の仕事は人類を月に送ることだ」と答えたという。同氏は「トイレを掃除しています,コードを書いています,テストを書いています,ということではなく,最終的なゴールを全員が共有する」ことが大切だと語った。

あなたにお薦め

連載新着

連載目次を見る

今のおすすめ記事

ITpro SPECIALPR

What’s New!

経営

アプリケーション/DB/ミドルウエア

クラウド

運用管理

設計/開発

サーバー/ストレージ

ネットワーク/通信サービス

セキュリティ

もっと見る