プロセスの維持
さて、業務プロセスを開発して、制御したら、それを維持していかなくてはならない。日常的な運用や保守である。それは、ビジネスプロセスそのものの維持とそれを動かしているシステムの維持という二つの側面を持っている。
システム屋さんは、この前者のビジネスプロセスの維持という観点が薄いというか、ないのではないでしょうか。しかし、重要なのは、たえず事業に貢献できるプロセスであり続けるかというチェックである。単にユーザから変更要求があったら、それに対応すればいいという態度では、プロセスの劣化も起こるだろうし、つぎの改善というアクションにつながっていかない。ですから、ビジネスプロセスの維持管理は、BPライフサイクルでも軽視できない大事なサイクルである。
それでは、ビジネスプロセスが劣化するとはどういうことなのだろうか。劣化することがあるのだろうか。ビジネスプロセスそのものの劣化はないのではないでしょうか。腐るわけではないし、壊れるわけではないので。たとえば、プロセスに慣れてきたため、注意を怠って、誤って出荷先を間違えたなんてことが、プロセスの劣化とは言いがたく、それはオペレーションの問題でどちらかというと制御の領域と考えられる。
となると、ビジネスプロセスの劣化というのはどうも、法や制度の変更も含めたビジネス環境が変わったのでそれに対処するためにプロセスを変えていかないとビジネスが維持できないというケースがこれに当たるのではないでしょうか。改善とは違って、受身的な対応である。人事システムのように、毎年法改正や組織改正があってそれに対応するための変更が必ずあるというものもある。ですから、どこの会社でもあると思うが、年末調整の前や組織が変わるある時期だけ忙しくて、そのほかはメンテはほとんどないということがある。
他のシステムでも、人事ほどではないにしても、法や組織改正による変更が発生する。それ以外にも、競合他社に離されないためにプロセスを変えざるを得ないだとか、画期的なサービスや技術が登場して、それに対応しないと取り残されてしまうとかといった、ビジネスのレースから脱落しないための維持管理ということも非常に重要なことである。
こうした素早い変更ができるためには、プロセス自体が変更に強い構造になっていなくてはならない。機能とプロセスを、そしてデータを分離して、疎結合にしておくことで対応することになる。こうしたSOAのシステム基盤こそが、保守性の向上に大きく寄与するのだ。
さて、次はシステムの保守という問題である。ただ、これは従来からやられていたことだから、ここであえて採りあげるつもりはないが、ひとつ注意しなくていけないのに、オープンソースのソフトウエアの保守をどう考えるかがある。オープンソースは、使うのは無償ということもあり、開発時はコストもかからないからと飛びつくが、そのあとの保守をどうするかは考えていないことが多い。
バージョンを上げたら今のアプリケーションが動くかどうか誰がみてくれるのかとか、そもそもそのオープンソースのコミュニティがなくなってしまうというリスクもあるわけで、導入コストだけで判断すると危険である。ですから、まずはオープンソースといえどもメジャーでコミュニティも活発で、特に日本の活動がちゃんとされているものを選ぶのが大事だ。
そして、ソースコードをある程度読める要員を確保することが望ましい。本を書くのは難しいが読むのはそう難しくないように、プロダクトをクリエイトするのは難しいが、ソースを読んでどんなコードで成り立っているくらいは分かると思う。そういう人であれば、コミュニティへ参加して教えてもらうことも可能だ。もし、そうした人材も確保できなかったら、お金を払ってその橋渡しをしてくれる人か、会社を確保すればよい。
だから、オープンソースだとお金がかからないということはなく、維持管理にはコストがかかるのだ。これは商用のソフトウエアと同じで、自己責任の範囲を広げてコストダウンをするのか、コストをかけて責任を回避するのかということである。そこは、自社の人的リソースの状況あるいは対象アプリケーションの性格などによって、どちらを選択するか決めればいい。
「ビジネスコンポーネント指向開発」において、オープンCMSを採用した理由は、フロントの確定データを作るまでのコラボレーション業務に適用しているので、言ってみれば、重要度が落ちる領域であるからである。極端な話、そこで不具合があって動かなくなっても、電話とメールで会話して、手で入力すればすむのであって、そんなクリティカルなことではないのである。
逆に、その確定データが投入されたあとのシステムの不具合は、影響が多くなるため、商用ソフトウエアを利用する考え方をとっている。
ですから、こういうところにも適材適所のシステム構造を設計していかなくてはいけないのだ。
何と言ってもビジネスプロセスは持続可能でなくてはならない。そのためにもこうしたSustainable System Maintenance(SSM 持続可能保守管理)という考えかたが重要になってくる。