エンタープライズ:インタビュー 2003/07/11 05:48:00 更新


Interview:レシピの吟味が開発競争力につながる――Borlandコード副社長

今、ソフトウェア開発の「プロセス」が見直されている。ピーター・コード氏は、FDDの考案者であり多くの著書もある。インタービューでは、開発プロセス論が語られた。

 ソフトウェア開発のプロセスそのものが見直され始めている。Borland SoftwareによるTogetherSoft、IBMによるRational Softwareの買収、両社共に目指したのはソフトウェア開発を支える「プロセス」の重視だ。

 インタビューを行ったBorland Software上級副社長ピーター・コード氏は、TogetherSoftの設立者としても知られ、数々のプロダクト遂行経験を持つ。今回は7月9〜11日まで開催の「ソフトウェア開発環境展」(SODEC)の講演を中心に、来日された。

 講演でのコード氏は、アジャイルプロセスを前提とした企業独自の開発手法についてを語り、UML、ユニファイドプロセス(UP)、フューチャドリブンデベロップメント(FDD)、エクストリームプログラミング(eXtreme Programming、XP)をキーワードとしたプラクティス(明確な手法)を示した。

  • UP … 設計手法のこと。要求仕様、モデリング、プロジェクト管理などソフトウェア開発全般をカバーする。
  • FDD … コード氏とJeff De Luca氏によって考案され、大規模プロジェクトを前提として俊敏な(アジャイル)方法論を取り込んだもの。
  • XP … ソフトウェア開発工程のこと。UPと基本的には同じものの、反復的にテスティングを繰り返す設計が重視される。

ピーター・コード氏

質問に対しては十分に熟考した上で口を開き出すコード氏。撮影には笑顔で応じてくれた


ZDNet ボーランドがキャッチコピー「アジャイル」を掲げる背景を教えてください。

コード ソフトウェア開発者やプロジェクトマネジャーに対し、すべての開発プロセスにはミニレシピ(小さな開発プロセス)を割り当てて、開発全体を改善することを推奨しています。アジャイルを考える上では、その意味の通り迅速性、柔軟性に焦点を当てる必要性があり、特にプロセス開発にはプロセス、ミニレシピが影響を与えます。キャッチコピーとしてはアジャイルを掲げていますが、これは個々に特化するのではなく、ミニレシピ、プロセスを包括するものとして位置づけています。これにより、アジャイルな結果を得られるのです。

ZDNet 反復開発におけるセオリーを教えてください。

コード 従来までのウォーターフォールのアプローチにはリスクがあります。それは、開発を継続していくとどのような変更が待っているのかを予測できないという意味からです。

 100%をプロジェクト全体割合としたら、10%を設計や解析に当てることが適当だと考えています。デザイン(コーディング)、ビルド、テストの繰り返しを行い、例として2、4週間ごとに見直しを行えば、いちばん最初のスペックとの照らし合わせで完全に一致しないことが多いでしょう。よって、繰り返し行っていく必要性があるのです。

ZDNet 統合されたことで始めて動作するのではなくオブジェクト単体で動作するような設計を徹底していくのでしょうか。

コード 1つのオブジェクトがばらばらで運用されるのではなく、グループになって連携を保ちながらそれぞれ相互作用で運用されていきます。これにはUP、FDD、XPが関わってくるのですが、オブジェクト単体ではなく、グループとして捉えることが大切です。

ZDNet 競合していくRational Softwareに比べての強みは何でしょう。

コード 2003年から2、3年間先までの戦略として「ディープリーコネクテッド」というスローガンを掲げます。これは、密につながりあうアプリケーションライフサイクルを実現するものであり、相互に関係し合うことが特徴となります。この点は、競合他社と比較しても類が無く「密接な接続性」が大きな強みです。リクアイメントの見直しにおけるトレーシング、シーケンスダイアグラム(システム実行時に行われるオブジェクトのつながり)、ソースコードにもつながりを持ちます。

 ディープリーコネクテッドを基にする製品は、もちろんテクノロジーがベースにはなるわけですが、他社のように各ソフトウェアにバラまくのではなく、ユーザーエクスペリエンスも反映されることが強みです。これらの展開は、2003年末から兆候が見られるようになるでしょう。

 また、新しいプラットフォームを2年前から構築してきました。第4四半期に発表する予定です。TogetherとJ Builderを同一のユーザーインタフェースとするものです。これにより複数の言語を1つのソフト上で開発可能とし、リクアイメント、ダイヤグラムを作ったりモデリング、ビルドなどもできるようになります。この点も革新性があり、テクノロジーも相まっていることから強みとなります。

ZDNet 開発における早期のプロトタイプリリースの重要性を講演でコメントされていましたが、その意図は何でしょう。

コード プロトタイプを使う利点はリスクの軽減です。早い時期に作り上げることで回避ができるわけです。

 反復を行い、回を追うごとに安定性が増していき、質を保ちながらモデリングを行うのですが、機能も付け足されていきます。従来のウォーターフォールモデルでは、最初の段階でリクアイメントをしっかりと理解しているかというと、そうではありません。回を追うごとに洗練され、同時に競合他社とのレシピ状況も比較すれば、また反復も生きてくることでしょう。

 1カ月程度ごとに見直しを行い、優先度を付け、どれを取り込んでいくのかは、その都度判断する必要性があるのです。初期の段階で固めようとせず、プライオリティを付けながら行っていきます。その根拠は、人間が開発するということにあり、IT業界の事情からも先々を予測できるものではないでしょう。どのようなことが起こるのかは分からないものです。

ZDNet FDDを始め、コード氏が反復モデルを確立された歴史を教えてください。

コード ソフトウェア開発、モデリング、アナリシスデザインに携わったのは1982年からです。その当時は、企業が大がかりなプロセスを思考する傾向が強かった頃です。しかし、実はよりよいプロセスというのは、小さなプロセスを積み重ねていくことではないかと着目しました。当時の経験則から生み出したわけですが、大がかりなプロジェクトをウォーターフォールモデルで実行しても、実際は結果が思わしくなくことが多かったのです。

 その後、開発ソフトの統合という点にも着目しました。安定性、相互のアップデート(連携)がスムーズに行える仕組みが必要だと考え、その結果からプロセスが相互に関係し合う概念として、FDD(Feature Driven Development)が生まれました。

 このような開発を中心としたアプローチが、デベロッパーにもプロジェクト遂行の大きな手だてとなり、リリースしたソフトウェアが広く支持されたのだと思います。

ZDNet 低迷が続く経済の中、日本のデベロッパーも困惑していることと思われます。総括となるメッセージをください。

コード レシピ、プロセスというものをうまく模索してください。そして、これらをサポートする開発ソフトウェアが大きな創造性、革新性を生み出すことを理解してください。ただしプロセスが多くあったからといって、それだけでは何ら問題を解く鍵にはならないことも理解しなければなりません。プロセスは十分な選択肢を持てる数があればよいのであって、それで偉業が達成できます。

 いままでの社会では、ステップを着実にフォローしていけばよいという風潮でした。しかし、日本だけでなく米国や他国においても、現在はそれでは十分でない状況にあります。そして、クリエイティブに重みを置き、創造性と革新性を大切にしてほしいと思います。

 実際の業務においてはアウトソーシングも必要なことだと思います。その中で鍵となるのは、人材とプロセスです。この点がソフトウェア開発にとって、今いちばん全力を尽くしていかなければならない分野だといえます。特にITの分野では創造性、革新性が重要なのです。

関連記事
▼ボーランド、.NETアプリケーションの統合開発環境「C#Builder」を発表
▼ボーランドがJavaと.Netに対応した開発ツール「Janeva」を発表
▼米Borland、Eclipse向けアジャイルUML開発環境を発表
▼ボーランド、「Borland Together 6.1」日本語版などを販売

[聞き手:木田佳克,ITmedia]