【仕事】企業向けシステムの機能追加スパイラル
僕はERPを導入する会社のSEですが、これなんとも言えないな・・・という思いがあったので、書いておこうと思います。
会社の主力製品はERPで、競合他社も多いので、機能改善を頻繁に検討しています。
多くの会社で有効な機能かつ開発コストが少ない場合には、その機能を追加することになります。
また、お客さんからの要望で、必須では無いが無いよりはあった方がいい、開発をすぐにできる簡単な機能なので会社として実装すべき。と強く言われることもあります。
おそらく、お客さん側からすると、なんでこんな簡単な機能を実装して無いんだ!?使え無いなぁ。と不思議に思うことも多いと思います。
この時の対応が非常に難しいなと感じた事例でして
直接的な開発はコスト少なくできるのですがどこまで裏に要望が潜んでいるか吟味が必要で、中々実装し辛いと思ってます。特に企業向けにおいては。
一つの機能を開発する際に、初期値としてその機能と使うかどうか、ユーザーやグループ毎に制御できるかどうか、管理者で一括で制御できるかどうかという仕組まで考えないといけないのです。
また、上記を全て満たす仕組みを作ったら作ったで、それを制御する仕組みをSEが理解する学習コストが増えてしまうという問題も出てきます。
具体例が無いとわかりづらいので、会話形式でデフォルメした例を挙げます。
例として、納品書発行時の「印刷済み」にするかどうかのフラグ付けを機能追加する例とします。
---------------------------------------------------------------------
僕 「印刷済みにするかどうかのチェックボックスを作りました!活用してください。これを使うと、同じもの2回印刷することを防ぐことができます。」
Aさん 「一回印刷して、内容確認後に正式に印刷したいので、僕はこの機能を使わないように制御して欲しい。」
僕 「ユーザー毎に使うかどうか初期値制御可能にしました。活用してください!」
サポート担当者 「 ユーザーから問い合わせが来た場合に初期値がバラバラのため、困るよ。なんとかして。」
僕 「管理者がユーザー毎に設定可能にしました。一括で設定してください。」
管理者 「一人ずつ設定できるか!面倒だ。設定することは非常に手間なので、ユーザーをグルーピングし、一括で設定したい。」
僕 「グルーピングして設定可能にしました。これで完璧ですよね?」
他のSE 「システムの設定が多すぎて理解不能です。全部作り直しましょう!」
--------------------------------------------------------------------
極端な例ですが、こんな感じになります。
本当、年がら年中この手の会話している気がします。
この問題、どの答えが最適解か結論はおそらく無いと思っています。
どれをやっても、メリットデメリット出てきます。
なので、社内やお客さんからこの手の機能追加を要望された時に、そんな簡単じゃないよと SEが堂々と伝えられることが重要なんだと思っています。