Python、機械学習

RPAって使えるの?プログラミングを活用した業務自動化

RPA(ロボティック・プロセス・オートメーション)による業務自動化が話題になっています。ニュースを見ていると、既に多くの企業で見積書や売上集計に関する定型文書の作成にRPAを導入し、労働時間を削減したとの実績が出ているようです。

こういうニュースを聞くにつれ、「RPAでほとんどの事務作業が自動化できるんじゃないか?」という期待をもつようになり、私もRPAについて色々調べました。

その結果、RPAが適用できる範囲って実はかなり限定されるなあということが分かりました。当たり前ですが、何でもかんでもRPAで自動化できる訳じゃないんですね。

RPAに事務作業を覚えさせるのは結構大変

RPAの使い方は色々あると思いますが、オーソドックスなのが、「記録ボタン」をクリックして一連の事務作業を行い、最後に記録完了を押す方法でRPAに作業手順を教え込ませる方法です。

RPAは記録した動作を忠実に再現しようとします。したがって、作業手順がシンプルで、かつ使用するファイルのフォーマットがきれいに定型化されていないと、うまく動作しないと思います。

エクセルの「マクロの記録」を使ったことがある人なら分かると思いますが、「マクロの記録」だけですんなり動くことはまずなく、自分でコードを加筆修正すること必至です。VBAの知識がある程度ないと、コードを書き換えることができません。

RPAの場合、RPAメーカの技術者が適宜コードを修正する工程が必ず必要になってくるはずです。したがって、限られた定型業務を人海戦術でこなす「大量生産型」の職場であればRPAを導入する価値がありますが、業務の種類が多岐にわたり、かつ1業務あたりのこなす量がさほど多くない「少量多品種」型の職場にはRPAは向かないと思います。

いちいちコードの修正が必要になり、RPAメーカの技術者に介入してもらう必要があるからです。

それなら、汎用性の高いエクセルのVBAのコードを書ける技術者を”内製”する方が現実的だと思います。私の職場も後者の「少量多品種」型ですので、RPAによる生産性向上は見込めないだろうと考えています。

「少量多品種」型の職場では自分でプログラムを書くべし

一番いいのは、職場の全員がVBAを学習し、エクセルでマクロを自由に設計できるようになることです。

しかしながら、VBAを使いこなすには学習と経験が必要です。全員が全員、簡単に使いこなせる代物ではないです。

したがって、VBAのコードを書ける技術者が、社内の事務作業を自動化できるマクロを作り、関係者に配布する流れになります。この場合、他の人でも使いやすいように実行ボタンを設置したり、入力可能なセルを制限したりと、クオリティの高いUIに仕上げる必要があります。それから、各人のPCにてマクロを有効にする設定をしてあげたり、マクロの使い方を説明してあげる必要があります。

マクロを作る側にはまあまあの負担がかかりますが、RPAに比べると、コスト面も含め負担が少なくて済みます。

やっかいなこと

やっかいなのは、各人が自分の使いやすいようにマクロをアレンジしたいときです。他人の作ったエクセルの計算表が使いにくいのと同じで、他人の作ったマクロも使いにくい、そう感じる人が出てくるはずです。

マクロをアレンジするにはVBAの知識が必須です。”VBAのコードを書ける技術者”が各人の要望にいちいち応えるのは無理があります。これが、マクロが言うほど普及していない理由なんでしょう。

やはり、「少量多品種」型の職場が業務自動化による生産性向上の恩恵を受けるには、各人がITリテラシーを高めるほかないのかなと思います。

それでもプログラミングはやっておくことに超したことはない

今の若い世代はITリテラシーが高く、プログラミングの知識も持っているといいます。5年後、10年後には、VBAやPythonを使いこなして、自分で自分の定型作業を自動化するのが当たり前になる日がくるのかもしれません。

https://punhundon-lifeshift.com/post-190

ゆえに、職種によらず、今のうちにプログラミングを学んで習得することは賢い選択だと思います。プログラミングは汎用性の高いスキルなので、他のスキルと組み合わせて色々と応用範囲を広げられそうです。

プログラミングを専門として食っていくのではなく、今の自分の専門技術があって、副次的にプログラミングスキルも兼ね備えている、そんな人材は今後ニーズが高まりそうですし、そもそもそういう人材は稀少性が高いので重宝されるのではないでしょうか。