ITの急速な進化によるソフトウェア品質低下と解決策のリスク新技術用センターオブエクセレンスの勧め

ソフトウェア分析会社である仏Castのビル・カーティス氏に、ますます厳しくなる業務部門の要求と、アジャイルソフトウェア開発の影響について話を聞いた。

2013年08月14日 08時00分 公開
[Cliff Saran,Computer Weekly]
Computer Weekly

 CMM(能力成熟度モデル)ソフトウェア開発フレームワークの開発を指揮しているビル・カーティス氏は、IT業界の移り変わりの速さがソフトウェア品質の足かせになっていると考えている。同氏は、ソフトウェア分析および評価会社のCastでシニアバイスプレジデント兼主任サイエンティストを務めている。

 ソフトウェア開発チームは常に悪戦苦闘しているとカーティス氏は話す。

 「5年置きにテクノロジーに大きな変化がある。そのため、質の良いコードを作成できるようになったと思ったら新しいテクノロジーと言語が登場している。開発者は常に学習中なので、エラーを起こす率が高くなる」(カーティス氏)

Computer Weekly日本語版 2013年8月7日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 2013年8月7日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。


 カーティス氏は、「新しいテクノロジーを導入するための部門が必要だ」とし、企業が効果的に戦っていくためのIT機能を構築する総合的な部門の設立を提言する。特定の製品やビッグデータなど特定のテクノロジーを軸にしたCOE(センターオブエクセレンス:研究拠点)を設けるのではなく、どんなテクノロジーにも順応できるアプローチを検討すべきだというのが彼の意見だ。

 そこでカーティス氏が勧めるのは、新しいテクノロジーを扱うCOEを設立することだ。そのCOEでは、新興のテクノロジーを企業に導入する方法を研究し、スタッフがそのテクノロジーを使いこなせるように準備する。

クラウドの持つリスク

 クラウドコンピューティングによるソフトウェア開発への影響はどうか。

 「クラウドのリスクは非常に大きい」とカーティス氏は言う。「クラウドコンピューティングでは、ユーザーが自分でコントロールできないソフトウェアを使うことになる。リスクを内包しているものに、手を出せないところに(ユーザーは)追いやられる」

 カーティス氏によると、業務部門はより短時間でさらに多くのアプリケーションを開発し、しかもそれらが完璧に動作することをIT部門に求めているという。

 アジャイルソフトウェア開発は、このような業務部門からの要求に、IT部門が迅速に対応できる手段の1つと見なされている。しかしカーティス氏は、アジャイル手法に完璧に従わなければコードの質が損なわれる可能性があると警告する。「短時間で成果物を提供することはできるが、優れた品質になるとは限らない。いわゆる“技術的な負債”を背負い込むことになる」

 カーティス氏は、スクラムなどの開発手法を採用するのもよいが、毎日ビルドを行わないなど特定の要素を省くと、その手法の有効性が損なわれると指摘する。

 「GoogleやMicrosoft、Amazonなどの企業は、気が遠くなるほどのソフトウェア開発ニーズがある。Googleでは、1日に5000万件のテストを実行し、全てのコードは1つの巨大なコードツリーに含まれている」

 実際、アジャイルは自動化を促進してきた。カーティス氏は、「ソフトウェアのビルドプロセスを自動化し、テストを自動化する必要がある」と話し、ソフトウェア開発の工業化は必須だとする。工業化しなければ、保守の問題を優先せざるを得なくなるだろう。IT部門にとって犠牲の大きな作業や、セキュリティ侵害の発生につながる可能性がある。

 「Google、Amazon、Microsoftの従業員には、厳しい開発のターンアラウンド要件が課せられている。彼らは、ツールを作成し、テクニックを開発し、作成した大量のコードを管理するすべを学んでいる。今から10年後には、ベストプラクティスとツールがいたるところで利用されているだろう」

 カーティス氏によると、CMMはそのようにして発展してきたという。

 「CMMはもともと、テクノロジーの最大の問題に直面したときに、米国防省で運用が開始された。その後電話会社で使われるようになり、他の業界にも広まった」

プログラミングフレームワーク

 新しいアプリケーションに対する業務部門からの要求に応えるため、IT部門はプログラミングフレームワークを使って、ソフトウェア開発時間の短縮を図っている。

 社内で開発する必要がない機能が多数用意されているため、フレームワークはソフトウェア開発者にとっての近道になる。

 「フレームワークのおかげで業務部門の要件に応えることはできるが、必ずしもコードの質が改善されるわけではない」

 カーティス氏は、フレームワークに問題がないわけではないとくぎを刺す。第三者に頼ることで、ソフトウェアの品質の面でリスクが発生する。「ソフトウェアベンダーは、利用者に自分たちのコードが見られることを嫌がる」

 しかし、プログラミングフレームワークが広く利用されていることを考えると、時間の経過と共に、ソフトウェア開発チームがベンダーのコードを理解しなければならない場面は増えるとカーティス氏は見ている。

 また、システムが複雑になったことで、コーディングはかつてないほど難しくなっているとカーティス氏は話す。「昔はCOBOLが分かっていれば、システム全体を理解できた。最近では、Java、SQL、ERPなどが融合して、1つのITシステムを構成している。誰もシステム全体を理解できない」

 本当に必要なことは文書を最新の状態に保つことだという。

オープンソースからの教訓

続きはComputer Weekly日本語版 2013年8月7日号にて

本記事は抄訳版です。全文は、以下でダウンロード(無料)できます。


ITmedia マーケティング新着記事

news079.jpg

狙うは「銀髪経済」 中国でアクティブシニア事業を展開する企業とマイクロアドが合弁会社を設立
マイクロアドは中国の上海東犁と合弁会社を設立。中国ビジネスの拡大を狙う日本企業のプ...

news068.jpg

社会人1年目と2年目の意識調査2024 「出世したいと思わない」社会人1年生は44%、2年生は53%
ソニー生命保険が毎年実施している「社会人1年目と2年目の意識調査」の2024年版の結果です。

news202.jpg

KARTEに欲しい機能をAIの支援の下で開発 プレイドが「KARTE Craft」の一般提供を開始
サーバレスでKARTEに欲しい機能を、AIの支援の下で開発できる。