Success Story
問題を迅速に特定して迅速に修正 |
| 株式会社オービックビジネスコンサルタントは、人気の勘定奉行シリーズを筆頭に業務用パッケージソフトウェアを開発・販売するソフトウェア開発企業。同社では、より幅広い顧客へのアプローチを見込む次期製品の開発において、現状よりさらに厳密なプログラム動作検証を決断。そのメモリ分析、パフォーマンス分析の実施において、さまざまなツールを比較検討した結果、グラフィカルで使いやすいことを評価して日本コンピュウェアのDevPartner Studio Professional Editionを選択、開発現場からのプログラム品質向上を実現させた。 |
|
高品質ソフトウェアで日本企業のIT化に貢献
あるときはオフィス、あるときは電車の中、神出鬼没で現れて、企業働く現場スタッフや経営トップの悩み顔を晴らす名奉行。「勘定奉行におまかせあれ」のフレーズでおなじみのテレビコマーシャルは、どなたもご存じのことだろう。その勘定奉行は株式会社オービックビジネスコンサルタントが開発・販売する業務用パッケージソフトウェア。同社は、日本の中堅・中小企業のIT化を強力にサポートするリーディングカンパニーとして、奉行シリーズと呼ばれる法人向け基幹業務管理システムを10数製品リリース、今や販売代理店は全国に3000社、ユーザー企業は約45万社に上るまでになっている。
同社を貫く企業理念は、多様なITとお客様の満足を徹底的に追及する「顧客第一主義」の思想。急速に進化するIT分野において、日々発生しているさまざまなニーズに対応可能な情報システムと高品質のサービスを追求している。
また近年はトータルソリューションプロバイダーへと事業領域を拡大し新しいニーズに即応するとともに、求められる社会的責任を高いレベルで果たしている。
プログラム品質調査に利用するツールを模索
現在、同社は「奉行21」と呼ばれる奉行シリーズの最新版を販売しているが、開発本部ではすでに次期バージョンの開発に着手している。この次期バージョンでは、中堅・中小企業にフォーカスし、幅広いニーズに応えるべく、より多くの機能を実装しながら製品開発が進められている。これは、これまで奉行シリーズを利用したいと思いながら、求める機能が包含されていないために導入を見送ってきた企業や、業容が拡大したために顧客情報や取り扱い商品が増え、もっと大きな容量でシステムを利用したいという企業からの声に応えるための決断だった。また、次期バージョンでは企業の商習慣に合わせた柔軟なカスタマイズも可能になる。
この決定により、各奉行シリーズ製品にはさまざまな新機能が加わり、格納可能なデータ容量も大幅に増やすことになった。こうなると、以前以上の性能を維持するためにプログラムの動きを一つ一つ厳密に検証していかなければならない。多機能、大容量データ対応になったことでパフォーマンスを落とすことはできないのだ。
プログラム品質の向上を使命とするOTEC
開発本部において、この業務を担っているのが、OBC TechnologyEducation Center(以下、OTEC)だ。各製品の開発担当チームから上がってきたプログラムの動作に対して、大容量データでのベンチマーク検証や多重アクセスによる同時実行性の証などを行い、不具合の
有無、メモリ消費、実行速度、正確さなどの観点から詳細に調査し、問題を発見した場合は、その開発担当チームに報告して問題の解消を求める。同社の製品は、企業の基幹業務で利用されるソフトウェアである上に、ユーザー企業は約45万社に上ることから、リリースしたあとに何かトラブルが生じたりすれば、ユーザー企業のみならず販売代理店にも大きな迷惑をかけることになり、その解決に多大なコストがかかってしまう。そうしたことを未然に防ぐ、いわばOTECは砦の役割を果たしているというわけだ。株式会社オービックビジネスコンサルタント開発本部OBC Technology Education Center Developer グループ課長鈴木学氏は、プログラムの検証に当たって、主にメモリ消費と実行速度という観点からの調査を担当している。次期バージョン製品のメモリ消費を調べる際、鈴木氏は当初OSで提供されているコマンドラインで利用するデバッグツールを利用していた。しかし、コマンドラインで利用するために、出てきた結果を比較しようとすると、データの加工に非常に手間がかかってしまう。
また、実行速度については、プログラム自身に時間を記録するコマンドを埋め込んで、どの部分で時間がかかっているのかを一つ一つ追いかけたり、目視で時間を測ったりして計測していた。前者では検証作業がはかどらず、後者では誤差が生じて正確な値が取得できない。鈴木氏の求めていたのは、時間のかかっている場所が視覚的にピンポイントでわかるようなツールだったのである。
さらに、OSメーカーからリリースされてまもない統合開発環境のログ機能も使ってみたが、ディスクアクセス頻度が高くなるために自動化は可能になったものの計測そのものに時間がかかり、ログのサイズが予想以上に大きくなってしまうという難点があった。これではスペックの高いハードウェアの上でしか利用できない。
開発の現場で無理なく利用できる製品を
鈴木氏は、こうしたプログラムの動作検証をゆくゆくは各製品の開発担当チームにも浸透させていきたいと考えていた。OTECでも動作検証は引き続き行っていくものの、プログラムを開発する根本の現場から性能を意識するようになれば、最初からプログラム品質を上げることができるからだ。そのためには、開発担当チームに配布されている既存のハードウェアで無理なく迅速に動くツールでなければならない。各製品の開発担当チームは日々の作業スケジュールがびっしりと詰まっており、新しい工程である動作検証のために割ける時間はそうない。それゆえ最新版の統合開発環境は、導入したとしても開発本部全体には浸透しないおそれがあった。
一方、株式会社オービックビジネスコンサルタント開発本部課長原本剛氏は、プログラムコードのパフォーマンスという観点から動作検証を行っている。原本氏もこれまでさまざまなツールを試用してきた。最初は英国ベンダーの製品だった。機能的にはそう悪くなかったのだが、この企業は日本に拠点を持っておらず、営業対応やテクニカルサポートの面で不安があった。
次は、世界的CPUベンダーの提供するアプリケーションパフォーマンスの分析ツールを利用してみた。これはアプリケーションパフォーマンスを見るというものの、CPUベンダーとあってハードウェアまわりの非常に詳細なデータまで提供されるため、見たいデータを見られるようにするには、まずこのツール自体に習熟する必要があった。しかし、原本氏も開発担当チームもすでに毎日多忙を極めており、ツールの利用法を新たに学習している時間はない。もっと入りやすくて、わかりやすいパフォーマンス分析ツールはないものかと探していたときに思い出したのが、BoundsCheckerを利用したことのある日本コンピュウェアだった。
このVisual C++開発支援ツールが使いやすく安心感があったことから、『DevPartner
Studio Professional Edition』に搭載されているメモリ分析、パフォーマンス機能に興味を持ち、鈴木氏と相談の上、評価版をダウンロードして試しに使ってみることにした。
|
目で見てわかる形で示せると、伝わり方が全然違うんですね。 (鈴木 氏) |
視覚的でわかりやすいDevPartnerを選択
『DevPartner
Studio Professional Edition』は、鈴木氏と原本氏の期待を裏切らなかった。評価版を利用している段階で、早くもいくつかの問題点を解決したのだ。鈴木氏はそのときのことを次のように述懐する。
「ある箇所のデータのコレクションで、必要なものだけでなく、コマンドによる制御が不十分であったために不必要なものまで積まれた状態になっていました。そのためメモリが余分に消費されていたのです。プログラムを組んだ本人は、不要なものはちゃんと消去したつもりなので、自分ではなかなか気づかないんですよ。それを『DevPartner StudioProfessional Edition』で発見でき、迅速に解決することができたのです」
鈴木氏はまた、『DevPartner Studio Professional Edition』のメモリ分析機能に感じた利点を次のように語る。 「メモリ上に残っているオブジェクトから分析することはもちろんですが、オブジェクトを作っているメソッドから分析をかけられる点がいいですね。これによってどこが悪いのかが調べやすく、また発見しやすいところが気にいっています」原本氏が語るのは、パフォーマンス分析機能のメリットについてだ。 「パフォーマンスが悪いということは、そのプログラムを動かせば体感でわかります。しかし、具体的にそれがコードのどの部分によるものなのか、どういう原因に由来するものかが特定できないというのがジレンマでした。それが『DevPartner
Studio Professional Edition』は、ピンポイントでここが悪いと視覚的に表示してくれて、確実に特定できるから、最初からその部分の解析から作業に入れるところがありがたいですね」
鈴木氏と原本氏は、こうした試用期間の実績から、『DevPartner Studio Professional Edition』が直感的に使えるわかりやすいツールであること、また特殊な環境を必要とせず、開発本部全体で無理なく利用できるツールであることを評価して、導入を決定した。2006年3月のことだ。
開発現場とOTEC、二段構えで利用を開始
現在、開発本部では2段構えで『DevPartner
Studio Professional Edition』を利用している。まずは各製品の開発担当チームへの配布だ。1チームにパッケージの専任検証担当者をおき、製品がインストールされた共有マシンで作り終えたばかりの単体メニューなど、プログラムの動作を検証したいときはいつでも、そこのマシンを使ってメモリ消費やプログラムの実行速度、アプリケーションパフォーマンスの観点から分析をかけることができる。そして、OTECでの配布である。これまでどおり鈴木氏と原本氏が中核となって、プログラム全体の性能を調査している。
導入から4ヶ月、まだ『DevPartner Studio Professional Edition』を浸透させる段階ということで、開発担当チームでの利用は絶対というわけではない。しかし、プログラム品質に関して意識の高い同社の開発者がこうした新しい支援ツールの存在を見逃すはずはなく、開発プロセスの一つとして定着しつつある。これにはOTECによるバックアップも貢献している。開発担当チームのスタッフがマニュアルを読まなくても『DevPartner
Studio ProfessionalEdition』を利用できるよう、典型的な分析方法を次々とイントラネット上にアップしており、これが利用手順書として使えるため、多忙な開発者も構えることなく『DevPartner
Studio Professional Edition』に向き合うことができる。(図)

問題の発見と修正に要する時間を大幅短縮
こうした取り組みもあって、同社におけるこの製品の導入効果は着実に表われている。
まず、問題箇所の特定までの時間が短縮された。今まではどこが悪いかを確定させるのに時間がかかっていた。1件の問題を3日ぐらいかかって見ていたものが、今は半日ぐらいでわかるようになった。1つの製品で検証すべき点はいくつもあり、しかもそれを奉行シリーズすべての製品にわたって行っていかなければならない。1つ1つの問題について解決の道すじが迅速にわかるようになったことで、鈴木氏も原本氏も余裕を持って仕事に取り組めるようになったという。
|
いろいろなツールを見ましたが、製品はよくてもベンダーに日本法人がなかったり、あまりに詳細な情報が提供されるために、それらをちゃんと見られるようになるまでに時間がかかったり、どれも一長一短がありました。そうしたときに思い出したのが、『BoundsChecker』を利用したことのある日本コンピュウェアでした。このVisual
(原本 氏) |
また、『DevPartner
Studio Professional Edition』というプログラムを客観的かつ視覚的に分析できるツールの登場によって、開発者への指示も具体性が増した。
たとえば鈴木氏は、プログラムの修正前と修正後でメモリ消費にどれくらい変化があったかをPDF文書にまとめてメールで送付するようにしている。
|
ゆくゆくは、プログラムの動作検証というプロセスを各製品の開発担当チームにも浸透させていきたいと考えていました。開発の現場から性能を意識するようになれば、最初からプログラム品質を上げることができます。そのため新しく導入する製品は、開発担当チームに配布されている既存のハードウェアで無理なく迅速に動くものでな ければなりませんでした。 (鈴木氏) |
実際、『DevPartner Studio Professional Edition』を頻繁に利用する開発者からは、「条件の書き方一つでパフォーマンスってこんなに違うものなんですね」「この処理でこんなにメモリを消費しているとは思いませんでした」というコメントが寄せられている。この製品は気づきを促すツールとしても大きな役割を果たしており、個々の開発者がプログラムの作り方を改めて見直す良いきっかけになっているという。
今後めざすのは個々のチームごとへの導入
最終的には、現在のような複数のチームでの共有利用ではなく、開発担当チームごとに1ライセンス配布する形で水平展開を進めたいと両氏。チームの中でメモリ分析やパフォーマンス分析を専門とする担当者を育成することも視野に入れながら、さらに高いレベルでの性能管理実現をめざす予定だ。
45万社を超えるユーザー企業に一点の妥協もない完成された新製品を届けるため、今日もオービックビジネスコンサルタントのチャレンジは続く。
※文中に記載された名称は、各社の商標または登録商標です。
|
キーファクト株式会社オービックビジネスコンサルタント
URL:インダストリー:ソフトウェア開発業 チャレンジ:これまでより幅広い顧客へのアプローチをめざすことになった勘定奉行シリーズの次期製品。その開発プロセスにおいて、今まで
より厳密なプログラムの検証の必要性を認識、特にメモリ分析、 パフォーマンス分析において、視覚的なツールを使ったソリュー
ションを模索した。 コンピュウェアからの解答:DevPartner Studio Professional Editionを、開発担当チー ムとOBC Technology
Education Centerの二段構えで活用 することによって、問題を迅速に特定し、迅速に解決するという習慣が開発本部の中に定着中。開発現場から、そのプログラム品質を向上させるという当初の目的が実現しつつある。 コンピュウエア ソリューション:
|
|

株式会社オービックビジネスコンサルタント

