ツールから考えるのはやめなさい

自動化するときRPAとVBAのどちらを使うべきか。どちらが優れているか?という話題がネット上で出るときがある。

確かにどちらも同じことができる部分があり、どちらも自動化ができる。じゃ、ここから考えをスタートさせてみよう。どちらが優れているのか見えてくるかもしれない。

なんのために自動化するのか

なんのために自動化するのか?「効率化」のため、だろう。

では、なんのために効率化するのか?それは「工数削減」のため、だろう。

本当に工数削減できるのか?

それは「難しい」。単純に「自動化した作業」についてだけ言うと工数削減はできている。しかし、浮いた時間で別の仕事をやっているだけなので、その人の人件費が減ったわけでもないし、人の数が減るわけでもない。

会社の経費は削減されず、自動化することにかかった人件費がムダになっただけだ。RPAツールを入れた場合、RPAツールの費用だけ損したことになる。そういう意味では、Office製品を最初から持っている企業にとってはVBAはタダだったわけなので、RPA vs VBAはVBAのわずかな勝利かな。

どちらにしろ、この議論はむなしいだけだ。一度、視点を変えて考え直してみる必要がある。

会社の視点でみてみる

自分を社長として考えてみよう。会社を運営する上で、必要かつ繰り返し実行される作業、そして人の判断を必要としない作業があるならば、当然自動化した方が経費は少なくて済む。人がやらないとできないことは人を雇って働いてもらう必要がある。

ただそれだけだ。組織もITツールも会社を運営するための手段であり目的ではない

どのITツールを使うかは会社運営のために適切であればどれでもいいわけだが、もう一段ITツールについて深く考えてみよう。

会社にとってITの要は「データベース」だ。データベースは会社のデータを一元的に管理し、素早くデータの抽出・更新等が行える。そのために正規化され、リレーションが適切に張られたRDBが基幹側にあり、情報分析用にデータウェアハウスがあればいい。

しかし、現実はそうなっていない。最初はしっかり設計していたつもりでも、長年会社を続けていくうちに業態も変わっていき、最初のデータベース設計では通じなくなって、結果的にぐちゃぐちゃになってしまっていることは多い。複数の会社を買収してきて、複数のデータベースが存在することもある。データウェアハウスやBIがない会社も多い。

データベースというものがない会社もたくさんある。その役割をはたしているのがExcelのドキュメントだったり、よくてもAccessだったり。当然一元化されていないし、正規化されているわけでもない。ただ非エンジニアの現場の人にも使いやすい状態ではある。

従業員とはデータベースの保守要員

ここで、少し視点は変わるが、従業員というのはITエンジニアの目から見ると、ほとんど「データベースの保守要員」である。

  • 店舗が増えると「店舗マスタ」に新規店舗の情報を入力する
  • 発注書を作って基幹システムのアップロードする
  • お客様に商品を売って、レジに売上を入力する

こういった作業は、現場の従業員からすると「日常業務」であり、会社を運営する上で重要な仕事だ。しかし、ITエンジニアの冷たい目から見ると、データベースを「おもり」してる、と捉えられる。データベースが主人と捉えているわけだ。

つまり、視点を変えると会社のITというのは、「データベースの運用」という1点に帰結するわけだ。

このデータベースが正規化されず、点在し、ぐちゃぐちゃである。力のある大企業は違うと思うが、一般的な会社ではぐちゃぐちゃだ。力のあるエンジニアを雇うお金もないし、その重要性も理解していない。

それにエンジニアとは言っても、データベースに詳しいエンジニアはそう多くはない。開発が得意な人は言語には興味があるがデータベースには興味がない。ネットワークが得意な人、ハードウェアが得意な人、Excelが得意な人、別に何も得意じゃない人、、、つまり普通のエンジニアは「会社にとって適切なデータベース」に興味がない。

加えて言えば「会社のデータベースをやり替える」なんてことは、相当力があっても難しい。技術力だけの問題じゃない。何億もかかる可能性もあるし、業務をひっくり返さなくてはならないかもしれない。現実的にできる人はいない。

そんなこんなでデータベースは重要だが、ぐちゃぐちゃ。これは大前提。

RPAが必要なのはデータベースのせい

だから、RPAとかVBAが必要となってくるわけだ(やっとつながった)。

つまりは、ぐちゃぐちゃデータベースを少しマシにするための「つなぎ要員」が自動化だと思ってくれていい。つなぎ要員の役目としては2つある。文字通り「つなぐ」役割とデータベース外のロジックを担当すること、だ。

そして、どの程度の費用でどの程度の結果を得たいか、によって「つなぎ要員の質」は変わるよね、という話。

[1] リアルタイム性を高くするため、高頻度で高速かつ正確に、というならシステム開発した方がいい。費用は高くなるし、メンテナンスするときも外部業者に別途委託することになるだろう。

[2] そこまで高頻度じゃないし、接合部分(つなぎなので必ず接合部分がある。インターフェースということ)がよく変わるなら、RPAがいい。RPAのいい所は「インターフェースがアプリケーション画面やWeb画面でも接合できる」という点。費用はかかるので、人が作業するよりマシ、というくらいか。

[3] データベースといってもExcelだし、、というなら、VBAで十分だ。自動化したいなら、VBScriptのバッチを作ってタスクスケジューラから自動実行すればいい。VBAで済むのにRPAをわざわざ使う必要はゼロだ。

まとめ

整理すると

  1. 会社運営する手段として自動化できるところは自動化するべき
  2. 自動化の要はデータベースである
  3. でも色々な要因でデータベースがぐちゃぐちゃだから、つなぎ要員が必要
  4. つなぎ要員を人じゃなくツールにやらせるのが自動化

こういう視点で整理すると、最初の「効率化」はどこにも出てこない。あえて言えば、最後の「人じゃなくてツールにやらせる」部分が効率化ということになるか。でも、これは1番目の「自動化できるところは自動化するべき」という定義により、当たり前にやることなので「効率化」とは違うかもしれない。

データベースがしっかりするように頑張れば、自動化する必要は格段に減るので、自動化は「必要悪」であり、無くなればいいことである。「あるべき論」を中心に改善するなら力と費用がかかるが、それが難しいから妥協案として行っているのが「自動化」であるわけだ。

その手段は会社運営を考えたうえで適切であればよい、、とそれだけの話ではなかろうか。

手段であるツールに対して「どれがいいか?」を単体で論じたところで何の意味もない

コメント ログインすると書き込めます