2005年5月31日火曜日

システム哲学

哲学なんて書くとちょっとおおげさですが、これまでの実務経験で培った自分のシステムに関する考えをメモしてみます。自分に対する戒めでもあります。

1.目的を明確にし、見失わない
システムの構築や導入は本来ビジネスや業務を加速させるものですが、時間が経つにつれていつのまにか「システムを構築・導入すること」が目的になってしまうことが非常に多い。コンピューターシステムはあくまでも"手段"なので、本来の目的を見失わないよう常に心がける。
ちなみに、システムインテグレーターなど、システムを作ることが目的の場合はこれはあてはまらないと思います。

2.なるべく既製品(パッケージ)や枯れた技術を使う
安定稼動が保証されている既製品を、フルに活用するのがベスト。
既製品をそのまま使う > 既製品をカスタマイズ > スクラッチで作る
の順番で、どんどん構築、導入、運用におけるコストがかさんでしまうから(金銭コストだけでなく人的コスト、時間的コストも含む)。スクラッチで作るのは楽しいが、ただの自慰行為になるケースが非常に多いので、誘惑に負けないよう頑張る。
また本質に影響を及ぼさないのであれば、システムにあわせてビジネスや業務を多少変えてもいいと思う。(判断が難しいが)
そして、行き詰ったらとにかく知恵を絞る。必死で考えればたいていの場合活路は開ける。
それから「枯れた」=「広く普及している&ドキュメントが多い」を意味します。例えばApacheとかPerlとかPHPとか。最新技術はよほどシステムに自信がある人、会社以外は使わないほうが良い。下手に手を出すと火傷してしまうので。

3.シンプルにする
理想に燃えてすんごいシステムを作ってはみたが、結局仕様変更やら業務内容変更、担当者の退職などにより、どうにもコントロールできない、フランケンシュタインのようなシステムを作ってしまうことがよくあります。
なので、最初のうちは汎用性や利便性はあまり考えず、目的を達成することのみに的を絞ってシンプルなシステムを作るのがベスト。「リレーションは一個まで」とか「半年間は小手先の対応でうまくやりくりする」など、ある程度決め事を作っておくといいと思う。

0 件のコメント:

コメントを投稿