事業仕分を横目にシステムにかかるコストについて考えてみた

システムに対する評価についてゆうすけさんが書いてました。
本当にそのシステムは止まってはいけないのか (arclamp.jp アークランプ)

止まらないことが目的になってしまうことで,システムに対する適切な評価ができていないと感じることがある。


確かに。多大なコスト、時間をかけて
「システムを稼動させ続ける」必要があるのか十分な論議をされることなく
システム構築がされていることが多いと思われます。
(そもそも世の中ではアプリケーションの費用対効果の評価ってされているものなのでしょうか)


「(システムが停止することで)システムの利用者が被害を受けないように」
という大義名分の下、その実は
「システムの利用者からクレームが来ない様に」
という風に、サービス提供者側の過剰な自己防衛になっていることも多い気がします。
(1日辺りの利用者やトランザクション数を想定してもHAクラスタ構成の必要あるか?というケースもしばしばです)
対外的には「俺らこれだけ準備してたけど、それでも止まっちゃったんだから許してくれるよね」
がまかり通るようにする為としか思えません。


また、システム停止からはズレますが、
入力された値のチェックも、チェック処理自体やエラーメッセージとして出力する内容等にこだわると
実装が面倒になり、工数がかかってしまうことがあります。
エラーメッセージに情報を付加して分かりやすくすることも大事ですが、
そもそも利用者が入力チェックでエラーとなるケースが多いのは
UI的に何か問題があるのではないか、と考えないといけないと思うのです。
そのシステムに慣れてしまえば入力チェックでエラーになることは皆無になるはずですから。
せっかく作りこんでも「呼び出されないロジック」は限りなく「無駄」です。


実際に使用するユーザが欲しいのはアプリケーションではなく、
そのアプリケーションを使用してサービスを受けることですから。
「なぜその機能が必要なのか」も把握しておかないとシステムが間違った方向に行ってしまう気がします。
かけたコスト、時間に見合う結果が得られることを常に考えておく必要があると思います。
開発者とは言え、受け取った要件をそのまま実装することだけに情熱を注いではいけない時期なのかもしれません。