業務システム構築におけるサードパーティ製開発ツール利用時の注意点

2013年12月4日
Pocket

img30

業務システムを構築する際、何らかの開発ツールを利用しますが、これには大きく分けて2つの選択肢が存在します。1つ目は、スタンダードな製品を利用すること。具体的にはそのハードウェアやOSを製造・開発している企業が提供している開発ツール(ファーストパーティ製品)や、オープンソースなどに代表される事実上の標準に該当するもの(デファクトスタンダード)を利用することです。
これには、例えるならiPhone,iPad用のネイティブアプリ開発ならApple社が提供するXcodeが該当しますし、データベースを含めたWeb系システムではLAMP(*1)やLAPP(*1)などのオープンソースの組み合わせが該当します。
*1 Linux, Apache, MySQL / PostgreSQL, PHPの組み合わせのことです。(同じ頭文字の他のソフトウェアを指すこともあります。)

【サードパーティの製品を使うことの問題点】
2つ目の選択肢は、サードパーティ製の開発ツールを利用することです。ここでのサードパーティとは、OSを始めとするソフトウェアの動作環境を提供していない企業のことを指します。
サードパーティ製の開発ツールは前述のスタンダードなものに比べ、ツールの学習期間を短くすることが出来たり、より簡単に開発が行えるなど、開発コストを下げられることが多く、なかなか魅力的です。しかし、業務システムは開発終了後も業務にあわせてメンテナンスしていく必要があるため、次の2点について注意する必要があります。
1)メンテナンスする技術者は確保し続けられるか。
2)ツールそのものが廃れてしまわないか。OSのバージョンアップに対応できるのか。

1は自分一人で開発して自分一人で使うシステムでもない限り、必ずついて来る問題です。これは自社で開発する場合だけでなく、開発ベンダーに発注する場合も同様です。「信用できるベンダーが勧めているから大丈夫だろう」などと考えると危険です。
開発後に主要な開発メンバーがそのベンダーから退職してしまい、その後のメンテナンスのサービスレベルが極端に悪化するケースは実際に耳にします。この場合、採用されているツールがマイナーなことが問題の本質であるため、他ベンダーへの乗り換えも難しくなります。

2の開発ツールそのものが廃れる問題は深刻です。新しいバージョンのOSやミドルウェアへの対応が打ち切られると、せっかく開発したシステムを使い続けることが難しくなってしまいます。
一度開発した業務システムは企業の資産として考える訳ですから、使えなくなる状況はなんとしても避けるべきです。

【業務システムで使う開発ツールは長期視点で選択しよう】

つまるところ、業務システム構築におけるサードパーティ製の開発ツール利用の可否は「メンテナンスが困難になったら作り直せば良いと判断できるか」で決まります。本格的に採用するには慎重に検討する必要があるのです。
私がシステム化の提案をする際、サードパーティ製のツールを検討するのは、PDFの帳票データを生成したり、ブラウザ上にグラフを描画したりする場合など、局所的でリスクが少なく効果が大きい場合に限定しています。業務システムのメイン部分の開発に、サードパーティ製のツールをお勧めすることは、ほとんどありません。

Pocket