システムは魔法のようにタネも仕掛けもなく思いもかけない動作をしたりすることはありません。システムはいつもプログラムされたとおりに動作します。
もし予測しない動きをしたり何かエラーが出る場合は、人間が作ったプログラムが問題でコンピュータ自体の問題ではありません。すなわち、プログラミングした人間が間違っているということです。
私が社会人なりたてでプログラムコーディングをし始めた頃は、自分が間違いを犯すはずはないと不遜にも思い込んでいたので、何かエラーが出るとソフトウェアのエラーだと思ったものですが、エラー調査をするとそれはいつも自分が書いたプログラムの問題でした。
昔アポロ計画に携わっていたプログラマが、自分たちプログラマも間違いを犯しうると考えて、万が一バグがあっても人命にかかわるようなトラブルを回避できるようにソフトウェアを作って、それが実際のアポロ宇宙船の飛行時に役に立ったようですが、これもプログラミングの本質を表しているように思います。
コンピュータが得意なのは決められた処理を繰り返し行うことで、その能力については人間の能力をはるかに超えています。このような特徴を生かすためには誰がしても同じように処理すべきことをシステム化するべきです。一方、人によって処理方法や結果が異なる仕事はコンピュータではなく人間が引き続きするべきです。
つまり、システムはプログラムされたとおりに動作するだけで、システム自体がその処理の意味について考えたりすることはないので、物事の意味を考えて判断を伴うような仕事をシステム化することは困難です。コンピュータに判断をさせるためには、起こりうる事象についてすべて客観的な場合分けを設定できるかどうかにかかっています。
システム化を検討する場合は今まで人で行っていた業務を効率化することはもちろん、これからは今までやっていなかったがだれでも時間をかければ同じ結果が出るような業務をシステム化していくことが肝心だと思います。つまり、最近よくいわれるビッグデータの活用も特に難しい処理を必要としているわけではなく、人がするには時間がかかりすぎる単純な処理をシステムでさせることが基本かと思います。