読者です 読者をやめる 読者になる 読者になる

道具は選ばないといけない

ruby

システム開発は数学ににていて、問題に対する解答は一つでない場合が多々あります。たとえば、何かのシステムを作る場合、最初に考えるべきことは作るべきか作らぬべきかです。

なぜならば、システムはビジネスを進める上での道具だからです。道具は適材適所必要なときに必要なだけ使うものです。ところが、ことシステムとなると、万能な道具と勘違いされがちです。

システムを構成するコンピューター(主にパーソナルコンピューター:パソコン)には得意不得意があります。得意なことは、繰り返すこと、記憶することです。これらを非常に早く行うことができます。

一方、事前に決まっていない物事の判断やケースバイケースな処理は苦手です。

たとえば、ある商品の在庫数が1,000個以下となったときに商品を自動発注する仕組みがあったとします。(話を単純かするため商品の自動発注を行うためだけのシステムとします。) この場合、システムは常に1,000個以下となったら商品を自動発注します。たとえ、返品が翌日に1,000個あったとしてもです。

人間であれば、翌日に1,000個もの返品がくることがわかれば発注数を返品を考慮した数量に変更するでしょう。ところが、システムではそうはなりません。

では、どうするかというと、そのような仕組みをシステムに追加することになります。つまり、

  1. 在庫数が1,000個以下となった場合、商品を自動発注する。
  2. 返品が発生した場合、返品分を引いた数量を商品の発注から減らすよう訂正する。

というように処理を追加することになります。ところが、今度は返品分すべてが在庫として利用できるかはわかりません。商品が食品の場合、消費期限も考慮しなければなりません。また、商品が書籍の場合、表紙の汚れなどがあり商品として利用できるか検討する必要があります。

すると、2は「返品が発生した場合、返品分から在庫となる数量を引いた数量を商品の発注から減らすよう訂正する。」と修正する必要があります。

では、返品分から商品として利用できる数量はどうやって判断する?ということになります。

ここまでとても単純な例を検討してみましたが、これだけの例でもまだまだ決定しなければならないルールがたくさんあります。

つまり、コンピューターとはこれらの判断を定型的に定めておかなければ処理を行うことができないのです。

そうすると、やはり人間が行うことのすべてをコンピューターに行わせることは無理があります。もちろん、Amazon.com楽天のような大規模システムではかなりのことをシステム化しています。ただ、そのためにかけているコストも莫大なものです。

本来ビジネスにおいて設備投資を行う場合、投資に対する収益性を考慮して設備投資を行います。システムを導入する場合も同様です。そのシステムを導入するかどうかを含めて検討する必要があります。そのシステムは人が行うことのすべてに取って代わることはできないからです。

また、導入するかどうかを検討した後には、どこまでシステム化するかを明確にする必要があります。犬小屋を造るために必要な道具と住宅を建てるために必要な道具は異なるのです。システムも同じで、少し視点を変えるだけで驚くほど簡単に導入できることもあります。

システムを導入することのメリットがわかりにくい場合は、果たしてそのシステムが効果をもたらすのか十分疑う余地があるように思います。あくまで道具は、選んで使うものなのです。