製品の特殊機能追加への考え方
今日はProDHCPの特殊機能追加案件の対応をしつつ、せっかくなので性能測定もあらためてやってみたりしていました。
ProDHCPは回線事業者や大手企業・官公庁・大学など、「大規模」「高信頼性」「高性能」「確実なサポート」を要求される案件で採用されてきました。特に「公衆無線LAN」では、超大規模・高性能を要求され、揉まれてきました。
完全自社開発をしているので、サポートが迅速・確実というのも好評をいただいているのですが、実は自社開発ならではのポイントが「カスタマイズ対応」なのです。
ProDHCPは基本的にはRFCに準拠し、Linuxなどで標準付属しているISC-DHCPサーバと同等の機能を実現してきましたが、回線事業者などでは一般的な用途以外に、認証を中心とした機能拡張の要望も多くあります。DHCPサーバで認証自体を行うというよりは、他の認証の仕組み(802.1Xなど)と連携させるような感じです。
製品のカスタマイズで注意しなければならないのが、「本流に組み込むか、ブランチ分けするか」です。他ではまず使わない機能であればブランチ分けするのが一般的ですが、そうしてしまうと、将来製品自体がバージョンアップする際に追従しにくくなってしまいます。そこで、私は基本的に本流に組み込む方向で提案してきました。本流に組み込むということは、その機能を必要としないお客さんにも実は使える状態で製品を提供しています。特殊機能はデフォルトではOFFであり、一般機能には一切影響を与えないように組み込んであります。
機能追加は汎用的なものであれば開発費を別途いただかずに行い、全てのサポート対象ユーザさんに希望があれば提供する感じで行いますが、他ではまず使わないような機能追加の場合は、開発費を別途いただくこともあります。この場合は、他のユーザさんに無償で提供すると、開発費を出したお客さんに失礼なことになりますので、他のユーザさんも必要であれば追加の費用をいただくようにしています。これは開発費を出したお客さんからの要望でそのようにするようになりました。要するに、他社が追加費用を出さずに追加機能を使えてしまうのは、追加機能を考え、開発費を負担した会社にとって不利益となる、という感じです。これはその通りだと私も考えて対応しています。
いずれにしても、せっかくの自社開発製品ですから、当たり前の機能が実現できているだけで終わりではなく、案件ごとに臨機応変に機能拡張できることも重要なポイントであり、お客さんが期待してくれていることだと考えています。
どんどん機能盛りだくさんになっていきますが、性能が悪化していくことがないように、定期的に負荷試験や性能測定を行い、むしろバージョンが上がるごとに性能も上げてきました。製品開発販売のやり甲斐の一つが「愛着を持って製品を育てていくこと」だと私は考えています。