個別カスタマイズしたものはSaaSなのかという疑問【SaaSとは】

サーバーテクニック

最近SaaSのソフトウェア開発を行うことがありました。最初はSaaSのソフトウェアとして提供するものを作ったはずなのですが 、お客さん向け提供するに当たって機能が不足しており、様々なカスタマイズを加えていくことになりました。

ただ、作っていく中で、もはやSaaSなのか?という疑問がどんどん湧いてきます。

SaaSは「Software as a Service」の略なのですが、カスタマイズを加えまくったサービスは、as a Serviceの部分を満たしていないのではないか、と思うようになったからです。

すごいモヤモヤしたので、その理由をSaaSの利点なども踏まえて考えてみました。

SaaSとは

SaaSとは「Software as a Service」の略のことで、クラウド上でソフトウェアを提供するサービスになります。多くの人が知っているサービスと言えば、GmailOffice365ウェブ系サービスも大きく分ければSaaSでしょう。

昔はソフトウェアを購入して利用するものが多かったですが、今はインターネットの普及や通信の高速化、扱えるデータ量の増大などの技術の進歩もあり、SaaSが主流になってきました。

SaaSのメリット

SaaSのメリットといえばインターネットさえ繋がればどこでも利用できることがまずあげられます。買い切りのソフトだと、パソコンを買い替えたり、壊れたりすると使えなくなることがしばしばありました。

また、外出先で利用したいときがあってもソフトウェアが入っているパソコンがないと使えませんでした。

そんな問題もSaaSなら解決できます。インターネットさえ繋がっていればどこからでも使うことが出来ますし、いつでも必要な情報を引き出せます。

Gmailなんてとても便利ですよね。外出先でメールが見たいときはGmailにログインするだけで利用することが可能になります。Googleドライブやドロップボックスなんかだと、USBがなくてもデータをどこにでも転送することが可能になります。

インターネット環境さえあればどこからでも利用できるのはとても便利です。


さらに、最近では使う端末も選ばなくなってきています。

今やスマートフォンを1人1台持っている時代です。SaaSのサービスはパソコンだけでなくスマホでも利用することが出来るようになっています。

家ではパソコンで利用し、外出中はスマートフォンから利用するなんてことも出来ます。チャットツールなんかは外出しているときにも仕事の連絡を確認してもらえるのでかなり便利です。(仕事とプライベートが混同すると問題視されることもありますが。)


今やSaaSのサービスはマルチデバイス対応をしており、本当にどこからでもアクセスできるようになっています。


また、メンテナンスやアップデートがあってもユーザが気にしなくていい点もメリットです。

SaaSのデメリット

SaaSのデメリットはメリットの反対で、インターネットに繋がっていないと何も出来ないことです。

買い切りでパソコンにインストールするようなソフトウェアならオフラインでも利用することが出来ましたが、SaaSのサービスはサーバー上で管理されています。つまり、インターネットがつながらなければサーバーにアクセスできないので何も出来なくなります。

オフラインと気づかずにSaaSのサービスを開いたときの虚しさはなんとも言えません。なんにも表示されていない画面を見てオフラインに気づきます。

SaaSはインターネット環境が命です。


どこでもアクセス出来るということで、セキュリティ面での不安もあります。どこからでもアクセスできるということは、それだけ情報が漏れるリスクも存在しているということになります。

外出先でログインしたまま、その端末から目を離したら情報漏えいまっしぐらです。会社の中なら目を離しても関係者以外には見られませんが、外出先となると誰に見られるかわかったものではありません。


どこからでもアクセスできるということはそれ相応のリスクも抱えることになります。

SaaSに対するカスタマイズ

工具

SaaSに対するカスタマイズを個別に行った場合は、SaaSと言えるのでしょうか?

例えば、あるSaaSのサービスを個別のユーザー用にカスタマイズしたとします。そうすると、その時点でSaaSのサービスは2つに分岐し、標準タイプと個別カスタマイズタイプの2つのサービスが存在することになります。

こうなると、標準のサービスに大きなアップデートを行った場合、個別カスタマイズのものにアップデートを書けるためには大きなコストがかかります。

標準のアップデートをそのままかけると個別カスタマイズした方も全機能動くのか確認する必要があります。

そんなことをいちいちやっていては個別カスタマイズが増えるたびに負荷が大きくなります。そうなると、もはや個別カスタマイズしたものは別のサービスではないでしょうか。


クラウド上で提供するサービスである以上、SaaSであることに変わりはありませんが、SaaSのいいところが死んでいます。


実際、僕もSaaSを個別カスタマイズする案件に関わったことがありました。標準のSaaSサービスをカスタマイズし、個別に提供するというものでしたが、作っているうちにモヤモヤがどんどん溜まっていきました。

「これって、ただクラウド上で動く買い切りのサービスなんじゃない?」と。

作ってしまえばアップデートされることは二度とありません。なので、買い切りのソフトウェアと変わりありません。本当にこれでいいのか、と思いましたが、やらざるを得ないのが下っ端です。

とりあえず作りきりました。

上司はSaaSということを強調していましたが、未だにモヤモヤが消えていません。どうすればSaaSのカスタマイズをモヤモヤせずに済むのか考えてみました。

ソフトウェアに手を加える場合

僕が以前やったカスタマイズ手法です。SaaSの標準サービスがあったのですが、それに対して業務に必要な機能をお客さん向けにカスタマイズを行いました。

既存のSaaSのプログラムを全体的にカスタマイズをしたのですが、その結果、標準サービスのアップデートには対応できなくなりました。標準サービスがアップデートされてもカスタマイズしたお客さんのサービスの方はアップデートされません。

これはお客さんにとっていいものなのでしょうか?


確かに業務で必要な機能がないから追加しましたが、お客さんに引き渡してからはそれ以上のカスタマイズは行えなくなります。お客さん専用の環境になったので勝手にこっちがバーションアップするわけにもいかなくなりました。

これって、買い切りのサービスがクラウド上で動いているだけなんじゃないか?という大きな疑問を作りながら感じていました。

クラウド上で動いていれば一応はSaaSですが、アップデートされることは全くありません。サービスはリリースされたらお客さんから機能追加の依頼がなければ変更が加わることはありません。

せっかくSaaSとしてサービスを提供しているのに標準機能のアップデートについていけない置き去り状態です。


作っている側としては疑問やモヤモヤが募るばかりだったのですが、お客さんも特にそういった点は気にしていなかったので特に問題にもなりませんでした。

これでよかったのか今でも疑問ですが、やはりSaaSのサービスとして提供されているものはそのまま使うべきだというのが僕の主張です。

ちゃんとしてSaaSのサービスは業務を回せるように作られています。それをユーザのローカルルールに合わせて改造してくというのはどうも無駄な気がしてなりません。せっかく安く使える製品があるのだから、余程その業務が売上に影響しないような場合はそちらに合わせに行くほうがいいと僕は思います。

もっと他の生産的な仕事に力を入れれば、いろいろいい方向に向かいますよね。


SaaSの個別カスタマイズでソフトウェアに手を加える場合はSaaSではなく、クラウド上で動くソフトウェア、というのが僕の認識です。

アドオンの開発

アドオンというのはその名の通り追加の機能です。アドオンにもいろいろ方法がありますが、既存の機能に手を加えない形のアドオンなら、まだ標準機能のアップデートにもついていけるのではないかと思います。

業務に必要な機能があったとした場合、データベースなどはシステム共通のものを使うけれど、他の機能との繋がりを限りなく弱くします。

繋がりが弱ければ標準機能がアップデートされても、その影響はほとんど受けないのではないでしょうか。


ただ、いくら繋がりが薄いと言っても、アドオン機能があまりに古くなるといずれは使えなくなるという懸念は払拭できません。標準機能のアップデートのたびに個別対応のアドオンの動作確認を行うのも馬鹿らしいような気もします。


結局、SaaSの個別対応カスタマイズは標準機能からの亜種なので、どうやっても標準機能の流れについていけないのでしょうか。

個別カスタマイズに対応したSalesforce

打ち合わせ

米国のセールスフォース・ドットコム社はSaaSサービスの個別対応というかゆいとことに手が届くサービスを提供しています。

画面のカスタマイズや他のサービスとのAPI連携など、これまでSaaSのサービスでかかっていたカスタマイズに対する課題をクリアしています。

大量のパーツをSaaSとして提供することによって、多くのバリエーションのシステムを作ることを可能としています。

営業支援から事務処理までなんでもSaaSのサービスとして組み上げることが出来るので、個別対応による標準機能のアップデートについていけないという問題も発生しません。


自由度が高すぎるので、機能を作り上げるのに技術を要しますが、自由にカスタマイズ出来るので機能の改善も出来ます。自社専用の使い勝手の良いシステムを作ることが出来るので変にSaaSをカスタマイズするようりも圧倒的にこちらのほうが便利ですね。

エンタープライズ系のシステム意外なら全部セールスフォースでいいのではないでしょうか。

結局SaaSはカスタマイズしていいのか

僕なりの結論として、「SaaSはカスタマイズするな。ただしセールスフォースのようなCRMは除く。」ということです。

基本的にSaaSはサービスとしてあるがままを使うのがベストですね。カスタマイズは無駄に費用がかかるのと、標準機能のアップデートについていけなくなるので買い切りのソフトウェアと変わらなくなります。

ただし、セールスフォースのようなCRMのSaaSサービスはカスタマイズを前提にしたSaaSサービスです。

このようなパーツを提供してくれるSaaSは存分にカスタマイズして、使い勝手のいいものにしたらいいと思います。



世の中いろんなサービスがありますが、それぞれ特徴を活かして使いたいですね。

タイトルとURLをコピーしました