- 井上 みやび子
- すぐ使える株式会社 代表取締役
- 東京都
- Webエンジニア
対象:システム開発・導入
- 清水 圭一
- (IT経営コンサルタント)
- 清水 圭一
- (IT経営コンサルタント)
何が目的か
システム導入の目的は、何らかを「効率よく」とか「便利に」するためである事が多く、コンピュータシステムも「大量の情報」を「高速」で「繰り返し」処理する事を得意としています。
コンピュータがあって初めて可能になる事をやる時---たとえば大量の情報を集めて統計処理をするとか、検索システムなど---は、コンピュータの都合に合わせてシステムを作ります。
「都合に合わせて」というと変ですが、コンピュータは決められた事しかできないので、決められた事をやるだけで終わるような仕事しか任せられないのです。このため、大量の情報を一定の基準で処理すればコトが済むようなシステムを組みます。
「一定の基準」は「A を a にする」というような単純なものもありますし、検索システムのように文章を単語に分割してその出現数を数えて上位のものを並べて...など複雑な処理をするものもあります。
この時、以下のような相関の傾向があります。
-----------------------------------------------------
処理が 単純←───────→複雑
-----------------------------------------------------
プログラムを 簡単←───────→難しい
作る時に ミスが出にくい ミスが出やすい
-----------------------------------------------------
実行した時に 期待どおりに処理←─→問題が出やすい
-----------------------------------------------------
仕組みを あまり楽しくない←─→やりがいがある
考えるのが
-----------------------------------------------------
最後の行に注目していただけましたでしょうか。
運用上は単純でミスが出にくいものが望ましいので、システム屋というのは、複雑な処理をいかに単純な方法に落とし込んでミスなく効率的に運用できるようにするかを考え実現する所に仕事の楽しみを見出す人種なのです。
一方、今まで人手でやっていた実務をコンピュータシステムで置き換える場合、処理の内容自体が複雑---つまり、「今までできなかったことをコンピュータで実現してやろう」という野心を燃やせる---ことはあまりなく、熟練のスタッフの方が頭の中で行っている判断の基準をその通りにシステム上に組み込むことになります。
実は、これは、技術的にはあまり面白くないんです。
「商品A と 商品B を同時に買ったら両商品の価格を 80%におまけする」「商品A を持っている人が 商品B を買ったら、B を 75% におまけする」などの基準を地道にシステムに組み込んでいくだけですから。
私が6月-7月で開発していたのもそんな地味なシステムで、忍耐強くお客様担当者にヒアリングを行い、想定していた流れと異なる判断分岐点があればそれをまた仕様に取り込みます。これは想像以上に忍耐力と時間を要する作業で(熟練の判断ってすごい、と思う機会でもあります)、「判断の方をもう少し単純にしてくれないかなー」などとつい思ってしまいます。
とかく日本のシステム開発は個別のユーザの要望を取り入れ過ぎて(転用しにくく)世界で競争力がないと言われていますが、やはり個別の要望を取り入れてこそシステム導入の意味があるのではないかと思うのです。
(例えば効率を重視して開発された汎用パッケージなどの)システム導入によってもたらされた新しい方法が業務改革上よい作用をする場合もありますが、所詮システム屋は社外の人間であり、経営者ではありません。その企業の企業文化を体現している訳でもありません。中途半端に効率を考慮したシステムを導入する事でその会社の業務ノウハウが失われてしまってはどうしようもありません。
世の中に無いシステムを作り出したり、今まで無かった方法で開発をしたりする分野は華やかでエンジニアの憧れ、どうしてもそちらに目が行ってしまいがちですが、一方で地道に人手をシステムで置き換える開発も情報技術の重要な役割だと思います。
小規模 Web システム開発 ウェブウェア・オルグ