連載
» 2005年06月25日 12時00分 公開

The Rational Edge:中国のソフトウェア開発現場はこんなにスゴイ (1/2)

The Rational Edgeより:ソフトウェア開発のアウトソーシング契約をめぐり、中国が欧米の強力なライバルになろうとしている。本稿は、中国政府(および同国の大学や企業)がどのように専門家を養成し、中国国内におけるソフトウェア開発手法の改善を進めているのかについて報告する。

[Gary Pollice(Professor of Practice, Worcester Polytechnic Institute),@IT]

 ソフトウェアはあらゆるところに浸透している。会社を運営し、電話、娯楽機器、家電製品、自動車をはじめ、無数の工業製品を制御している。その対象は何とスニーカーにまで及び、アディダスは先ごろ、ランニング中に1歩単位で靴のパフォーマンスを調整するコンピュータチップを同社最新のランニングシューズに組み込んだことを発表した[注1]。オートメーションに依存する企業の数は米国が最も多いが、ほかの国々との差はほとんどない。このことは、世界中の都市でどれだけ多くの人が道を歩きながら(さらに悪い場合は車を運転しながら)携帯電話に夢中になっているのかを見れば分かる。


[注1] マイクロプロセッサを組み込んだこのアディダスのランニングシューズは、走っているときにクッションを調節できる。


 われわれは数年前から、ソフトウェア危機という言葉を日常的に耳にするようになった。これは、自分たちで開発できるより多くのソフトウェアが必要とされたためだ。ソフトウェアの品質を犠牲にすることなく需要を満たしていくにはどうすればよいのだろうか[注2]?


[注2] ソフトウェア危機に関しては、『Scientific American』の1994年9月号、Trends in Computingに優れた記事がある。


 多くの企業は、ソフトウェアサービス市場の未来をインドや東欧がリードするような海外へのアウトソーシングに見ている。これらの国々(アウトソーシング先)では、熟練したスタッフが質の高い作業を低価格で請け負ってくれる。だが最近、重要なライバルが新たに市場に参入してきた。中華人民共和国だ。何年もの間、中国の教育システムは、国際市場で競争できるソフトウェアエンジニアの要求を満たすべく準備を整えてきた。本稿では、まず初めに2004〜2005年度に客員研究員としてワーチェスター工芸研究所に在籍した武漢大学のHaiqing Liu教授の観点から中国の台頭について考察する。そして次に、中国のソフトウェア業界の状態について、筆者自身がWeb上で実施した非公式調査から分かったことを報告する。

◆ 開発の2つのフェイズ

 Liu教授によると、中国におけるソフトウェアエンジニアリングの進化は2つのフェイズに明確に分けられるという。最初のフェイズでは人々が大学の講義でソフトウェアエンジニアリングのニーズを認識し、現在の第2フェイズではソフトウェアエンジニアが大学を卒業して市場に巣立っている。

ALT 本記事は、IBM developerWorksからアットマーク・アイティが許諾を得て翻訳、転載したものです。

 中国がソフトウェアエンジニアリングを本格的な学問と見なし始めたのは、China Machine PressとMcGraw-Hillが共同で、Roger S. Pressmanの「Software Engineering, A Practitioner's Approach」(『実践ソフトウェア工学〈第1分冊〉 製品とプロセス/ソフトウェアプロジェクトの管理』 :日科技連出版社)の中国語版初版を出版した1982年ごろだった。これをきっかけにして大学や学会で研究開発が始まった。

 中国では、1980年代前半に何人もの学者がソフトウェアエンジニアリングの調査を開始した。この時期の大きな節目となったのが、中国科学院ソフトウェア研究所(ISCAS)のZhisong Tang教授による「A Programming Development Environment Conforming to Various Ways of Programming(各種プログラミング手法に適合したプログラム開発環境)の出版だった。科学院会員のTang教授は時相論理の研究で有名だが、おそらく最も有名なのは同教授が開発したXYZツールだろう。同教授はこのツールを使い、時相論理に基づく一連の階層言語を含む複数のソフトウェア開発環境を構築した。中国語では言語体系のことをXiliehua Yuyan Zuというため、XYZの名前が付いた。

 Liu教授によると、中国におけるソフトウェアエンジニアリングのもう1人の立役者が、中国科学院会員でJade Birdプロジェクトのリーダー兼チーフサイエンティストのFuqing Yang教授だという。Jade Birdプロジェクトは1983年に始まった中国最大かつ最も重要なソフトウェア技術調査プロジェクトで、中国の5カ年国家プロジェクト[注3]から5年連続で資金援助などの支援を受けている。20以上の機関から300人以上が参加するJade Birdは、米国では比肩するもののない、ずば抜けた規模の共同研究/協力となっている。ただし、全米科学基金(NSF)や米国立衛生研究所(NIH)が監督する多くのプログラムでは、各種サブプロジェクトに同数の参加者がいる。


[注3] 現行の5カ年計画に関する情報はhttp://www.china.org.cn/e-15/を参照。


 Jade Birdは、「調査とソフトウェア製造産業化の実践、ソフトウェア開発企業への高度なソフトウェアエンジニアリング技術ツールの提供、そしてソフトウェアプロセスの改善支援」による中国ソフトウェア業界の発展を目標としている[注4]。同プロジェクトからは、コンポーネントベースの開発手法や製品群などの現代の多くのソフトウェアエンジニアリング手法が、ソフトウェアエンジニアリングを学ぶ中国の学生や現場の人間に紹介された。


[注4] Jade Birdプロジェクト関連の情報はhttp://www.sei.pku.edu.cn/en/jadebird.jsp参照。


 Liu教授は、Jade Birdはリリースを重ねることによって、以下のような重要なマイルストーンを経て現代のソフトウェア開発環境へ進化してきた、と説明している。

  • 1990年の初期リリースで構造化ソフトウェア開発をサポート
  • 1995年のセカンドリリースではオブジェクト指向開発をサポート
  • 1997年には、コンポーネントベースの再利用機能を追加し、製品ファミリーをサポート

 現在は、新機能の追加、ユーザビリティの改善、ハイレベルな再利用を促進するコンポーネントライブラリの開発などの作業が進行中。

 中国のソフトウェアエンジニアリングにおいて注目に値する3人目の人物が、ソフトウェア理論、プログラム変換、そしてプログラムの正規表現で広範囲な実績を持つ南京大学のJiafu Xu教授だ。同教授は南京大学のState Key Laboratory for Novel Software Technology設立にも大きな影響力を与えた。

 同教授は、プログラム分析の最前線で活動している。セキュリティや信頼性に関する同教授の研究はかなり理論寄りだが、研究成果は信頼性の高いソフトウェア開発に応用することができる。

 Liu教授の主張によると、中国におけるソフトウェアエンジニアリングの発達は実質的な第2フェイズが1990年代から始まり、3000社以上のソフトウェアベンダが誕生したという。その大半は中小企業だが、1000人以上の企業もいくつかある。

 Liu教授によると、これらの企業でCapability Maturity Model(CMM)Level 3(定義)を達成している、つまり、標準プロセスについて記述するとともに手順を用意し、ソフトウェア開発の品質、コスト、およびスケジュールを予測できるようにしているところは10社以下だという。これは要するに、ソフトウェアエンジニアリングに関する重要な知識はまだ大学にとどまっていて、おそらくまだ社会では生かされていない、ということになる。

 中国が欧米各国からのアウトソーシングビジネス獲得をめぐってインドと効果的に戦うためには、これらの企業がCMMのレベルを向上させる必要がある。現在、CMM Level 3以上に分類されるソフトウェアベンダの割合は、おそらくインドが最も高い。大企業は、CMM認定を受けたサプライヤとしか契約を結びたがらないことが多いため[注5]、中国企業がソフトウェアプロセス改善プログラムを用意すれば、その見返りは数千億ドル規模にもなる。


[注5] http://www.cio.com/archive/030104/cmm.htmlのBursting the CMM Hype参照。


       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ