カスタマイズをしない

ミドルウェアに対するカスタマイズについて

自分の会社ではパッケージ製品、つまりお客様の環境で動かして頂く製品を販売している。

そのため、カスタマイズを希望される事もある。今の機能では簡単に実現するのが難しいというのがほとんどの希望理由だ。

カスタマイズの定義は製品に対して+アルファの何らかの特別な対応を機能を追加することという事にしておく。

結論から言うと自分の会社では一切のカスタマイズを受けないというスタンスだ。カスタマイズはメリットよりデメリットの方が多いという考え方からだ。

カスタマイズのメリット

まちがいなく売り上げを上げやすい事だろう。カスタマイズが必須な場合の顧客はカスタマイズを受け付けない製品を購入しない。

さらにカスタマイズ対応ということで、追加の開発費やサポート費を手にすることができる。これは前職で十分実感できた。

ただメリットはこれしか無い。

カスタマイズのデメリット

一番大きいのはコードのフォークが発生してしまうことだと考えている。実際、カスタマイズは既存製品をフォークすることを求められる事が多い、運良くプラグイン化したとしても、そのプラグインのメンテナンスがついて回る。フォークは地獄だ、特に小さい会社では。

さらにカスタマイズ部分の仕様を顧客毎に管理して行く必要がある。もちろんドキュメントやテストなども。

これらはお金を貰えば解決する話では無いと考えている。カスタマイズを行うとその製品の寿命を縮めてしまうとまで感じているからだ。

カスタマイズが売れれば売れるほど製品や会社の最大 HP を削っていくように感じられる。

長くその製品を開発し、発展させ、売っていきたいならカスタマイズをしないべきだ。

カスタマイズは簡単ではない

カスタマイズはベースの製品があるのだからちょっとした追加開発というイメージを持たれる事もあるが、そんなことはない。

カスタマイズのデメリットに書いたとおりの負担が存在する。理解して貰えない場合もある。他の会社はやってるよ?と言われることもある。

だからなんでしょうか、うちはうちです。というスタンスは崩さないことにしてる。一度でもカスタマイズに手を出したらカスタマイズの甘い世界にやられてしまうからだ。

プラグイン方式

カスタマイズではなく、プラグイン方式という案もある。実はこれも経験済みだ。回答としてはプラグインが少ないうちは快適だが、カスタマイズしたオリジナルのプラグインが増えてくると、プラグインによる依存関係での問題などが出てき始める。

さらにそのプラグインを維持するためだけに特定の箇所が変えられないといった問題もでてくる。

プラグインはお客さん側に書いてもらうべきものであり、自社側で実現する機能では無いと思う。

個人的にはプラグインはとても好きだ、ただし OSS の世界だけで。

フィードバックは大歓迎

カスタマイズは一切受け付けないが、お客さんからのフィードバックは大歓迎だ。フィードバックから追加した機能は色々ある。

カスタマイズはしないがフィードバックによる追加機能は行うというスタンスが一番良いと感じている。

うちだけでなく他のお客さんでも使うと思いますよ

ほとんどのパターンでそれを言ってきたお客さんだけしか使わないのでかなり疑ってかかるべき数社から要望が出てきてから検討するべき。