PR
写真●サイクスの宗雅彦氏
写真●サイクスの宗雅彦氏
[画像のクリックで拡大表示]

 「自動ビルドと繰り返し検証が,欠陥問題解決の実践的プラクティスになる」-- サイクスの宗雅彦氏(代表取締役・プリンシパルコンサルタント)は9月4日,東京都目黒区目黒雅叙園で開催中のソフトウエア開発者向けイベント「XDev2008(X-over Development Conference 2008)」で「TCO削減を実現する!ALMの実践的プラクティス」と題して講演。TCOを削減するために,ソフトウエアの開発・保守・運用の仕組みを変えて行くことの必要性を訴えた(写真)。

 宗氏はまず「ALM(Application Lifecycle Management)」とは何かについて説明。ALMは,単なる開発プロセスのマネジメントではなく,ユーザーに対するサービス提供のライフサイクルをマネジメントすることだとした。「利用者に必要なサービスを提供し続けるためには,開発プロセスだけでなく,運用,保守のプロセスも切り離さず,そのすべてをマネジメントすることが必要になる」と言う。

 その上で宗氏は,「ALMを実践する目的は,TCO削減と価値増大からなる投資対効果の極大化。これを実現するには,ソフトウエアの欠陥問題を克服することが重要な課題になる」と指摘した。

 宗氏はある調査結果を例に「ソフト開発では,欠陥問題に対処するためのリワークコストが,開発コスト全体のおよそ50%を占める。そしてその多くがテスト工程にある」と説明。納期間近に解決すべき問題の多くがあるため「少しコントロールを誤るだけで対処が立ち行かなくなって赤字プロジェクトになる」(同)とした。

 ここでいうリワークコストとは主に,「デバッグ+再テスト」,いわゆる手戻りのコストのことだ。宗氏は,「リワークコストを削減して欠陥問題を克服するには,問題の発見と解決をできるだけ開発期間の早期にシフトさせることと,過去に経験した失敗を繰り返さないことが不可欠である」と指摘する。

自動ビルドと検証で問題を早期発見する

 では実際に,開発者は何に取り組めばいいのか。宗氏は「トヨタ生産方式に,解決のヒントがある」として,“自働化+アンドン”の仕組みを紹介した。豊田自動織機では,織機の機械が問題を自動的に検出する仕組みを持ち,欠陥を検出したら「アンドン」と呼ばれるランプを点灯させてラインを止める。そして,問題が解決するまでラインを稼働させない。

 宗氏は「機械でできる領域は人がすべきでない。そのため自動で欠陥を検出する仕組みは重要だ。また,ラインを止めてその場で問題解決することで,次々に問題が発生するのを防ぐことができる」と,“自働化+アンドン”方式の優位性を説明した。

 そしてこの方式をソフト開発に当てはめ,「欠陥問題の解決には,システムに変更を加えるたびに自動的にビルドし検証を繰り返す仕組みを構築することが有効」と提案した。自動的なビルドと検証を実行することで,プロダクト品質を見える化でき,欠陥を早期に検出して対処できるようになる。「結果として,開発期間の短縮や開発コスト削減が可能になる」(宗氏)。

 具体的には,まず,開発する全てのソースコードを格納するバージョン管理のリポジトリを構築。ビルドプロセスを自動化し,誰でもコマンド一つでソースからシステムを作り出せるようにする。そして,テスト作業も自動化し,コマンド一つでテストスイートを実行できるようにすべきという。そして,この仕組みを構築するためには,「ソフトウエア構成管理」の実践が不可欠になる。構成管理は,設計書やソースコードテストケースなど,開発プロセスを構成する個々の要素を識別可能にし,それぞれの要素に対する変更のトレーサビリティを確保する仕組みだ。

 最後に宗氏は「欠陥管理の自動化の仕組みを構築するには,相応の投資は必要になる。投資によって,顧客満足度向上やプロダクトの品質を担保するという考え方を理解することが先決だ。そして,すべてが一朝一夕にできることではないので,段階的に仕組みを発展させていくべきだろう」として,講演を締めくくった。