そもそもの話になりますが、開発の目的が本来、業務を円滑にする為の手段として行われるのならば、以下の機能が実装できれば使う側は、満足していただけると思います。
①簡単操作で早く答えを出してくれる。
②臨機応変に対応ができ望むものを出してくれる。
③信頼(安心)できるシステムである。
業務ノウハウを持つ方が、システムを熟知した上でシステム設計をしていく事ができれば、期待するシステムができると思います。設計書をベースにハードを選定して言語は何にするかを決定して、開発言語はそのノウハウのある方が、設計書を正しく理解した上で製造すればすべてに答えたシステムが作れるかもしれません。
しかし、これは理想論であって、現実は業務ノウハウを持つ方が、システム設計まではできなかったりします。費用を抑えるため、現システムをベースにバージョンアップする方向で検討する事もあります。
また、規模が大きくなれば、一人ではまとめる事が難しくなります。全ての希望を叶える為には、どこかで妥協していただく必要もありその折衝も簡単ではありません。システムや業務の事を理解できるかできないかは人次第ですが、
設計も製造も人を増やす事で、これまで以上のコストが増えてしまいます。
そのため、最終的に予算と納期を超えないようにする妥協案が出てくるのではと思います。
今後、システム開発の会社でなくても、会社として、業務知識とシステムの知識を共に教育して人材を育てる事を考えていかなければ、社内システムのリプレースが発生した時、希望通りのシステムは作れないと思います。