連載
» 2013年01月17日 20時49分 公開

プロジェクトの品質を高めろ!:プロジェクトマネージャを支える新たなコードメトリクス (1/2)

コンピュータシステムの重要性が増すにつれ、システムのリスクを減らす方策が求められています。本稿では、複雑なシステム開発であっても、今回開発したコードメトリクス技術を応用することで、高リスク箇所を簡単に把握できることをご紹介します。プロジェクトマネージャはこの技術を用いることで、システム開発の細部までを把握せずとも、高リスクで注意すべき開発箇所がわかります。それにより、システム全体の品質と生産性を向上することが可能になります。

[潮英夫, 渡部修平, 辻克己(NTTコムウェア),ITmedia]

開発システムのリスク管理は困難に

 昨今、コンピュータシステムは個人や企業に深く広がり、生活や経済活動に多大な影響を与えるようになっています。重要なインフラを担うシステムも多いため、これらを日々、安定的に運用し、継続的にサービス提供することは、社会的にも重要な責務となっています。

 また、企業が新たなサービスを展開する際、システムを稼働させながら追加・修正箇所の開発が行われることは珍しくありません。ゆえに、これらのシステムを拡張、運用する企業の品質管理部門、開発部門、運用部門は、市場の要求に素早く対応しながら、サービスを止めることなく運用し続けなければなりません。それには、システムのリスク要因を事前にとらえておく必要があります。ここでの「システムのリスク」とは、サービス停止や誤作動といった、予期せぬ動作が起こる可能性を指します。もし高リスクな箇所を事前に把握することができれば、テストや監視を重点化することで、システム全体の可用性を高めることができます。

 近年、プロジェクトマネージャにとって、開発システムの高リスク箇所を把握することは困難になっています。コード量は増大の一途を辿るとともに、さまざまなシステムが協調しながら動作しているため、複雑さは過去の比ではなくなっているからです。

 また、現在では契約形態が複雑化しているため、開発会社が永続的にシステムの維持管理を行うとは限りません。システム開発にかかわっていない組織が保守を行う場合、一からそのシステムの高リスク箇所を把握しなければならないため、多くの工数がかかってしまいます。

 現在、システムの高リスク箇所を把握する場合、有識者のノウハウに依存しているプロジェクトが多数あります。開発時のテスト経験や運用時の障害対応経験といったノウハウは、リスク把握時に有益な情報となりますが、有識者の作業を増大させる原因にもなっています。前述の通り、維持管理を行う組織が変更された場合、有識者のノウハウが喪失してしまい、プロジェクトに大きな影響を及ぼすこともあります。

コードメトリクスの課題と可能性

 そうした中、ノウハウに依存することなく、ソースコードを自動的に診断する技術が注目されています。その1つが「コードメトリクス」です。これは、ソースコードからさまざまなメトリクスを機械的に算出し、基準値と比較することで、コードがはらむ問題を判定するという手法です。

 しかし、コードメトリクスは、プロジェクトマネージャがプロジェクト全体を俯瞰する用途には使いづらい面がありました。 一般的にコードメトリクスは、開発者がいくつかの観点で各自の開発コードを検証するための技術であるため、判定するメトリクスが複数存在します。ゆえにプロジェクトマネージャが高リスク箇所を把握するためにコードメトリクスを使おうとしても、数多く存在するメトリクスの中から、どれを利用すれば良いのか分かりませんでした。一方で、単一のメトリクスを利用するだけでは、算出されたリスクとプロジェクトマネージャが感じるリスクとで乖離があり、実用性に欠ける場合がありました。

 そこで、筆者の所属するNTTコムウェアでは、さまざまなメトリクスを最適に組み合わせることで、そのシステムがどの程度複雑で、それによってどの程度のリスクがあるかを自動的に算出できるコードメトリクス利用手法を考案しました。これにより、クラス単位からシステム全体まで、それぞれのリスクを容易に推測できるようになったほか、個々のリスクを分かりやすく表示することで、システム全体のリスクを俯瞰できるようになりました。プロジェクトマネージャや品質管理者がこの技術を用いることで、ソフトウェア開発の品質と生産性の向上に大きく役立つと考えています。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ