RPAにやってもらうべきこと
RPA「WinAutomation」を利用して、簡単な作業をできるようにロボットを作っていますが、いかんせんそのために割ける時間が月に2日もないぐらいで、1週間ぐらいの工数で作れそうなのですがなかなか前に進みません。
しかも、PCやネットワークの処理速度によってRPAの処理速度が速すぎるとエラーになって止まってしまったりするので、それを見越してロボットに数秒待機してもらわないといけないなどなかなか職人技が必要になってきます。
こうして、人がやっていた一連の単純作業をロボットで再現するというのもRPAの一つの利用方法ではあるのですが、作っていて感じたのはこのツールの理想的な使い方はこういう使い方ではないのではないかという事です。
人の一連の単純作業を再現しようとすると、汎用性がありません。つまり、何日か工数をかけて上手く作れたとします。しかしそうやって作ったロボットはそのためだけにしか使えず、やり方が少しでも変わればそれに合わせて微調整をしなければいけません。そして、そうやって手をかけていてもできる作業はその一つの単純作業だけです。
これを複数作っていくとなるとかなりの時間が必要な割に各ロボットは一つのことしかできないため、ロボットを作るという時間を生産性の向上により回収するのにかなり時間がかかってしまいます。
作業を分解し様々な箇所で実は繰り返している作業を見つける
プログラミングでも、効率の良いプログラミングをするためには同じコードを様々な箇所で使えるようにブロック化して様々な箇所で呼び出すという事をします。RPAでも同じことをする必要があるのではないかと思います。
例えば、監査調書を作成する場合に、よくあるケースとして試算表のExcelファイルから個別の調書のファイルにデータを転記するというものがありますが、この作業をそのまま人がやっているようにトレースするロボットをつくることもできますが、それだとそのためにしか作れません。
コピーアンドペーストするという作業は様々なところで現れますが、共通するのはコピー元のExcelファイルとコピー先のExcelファイルがあるということ、セルをコピーしセルをペーストするという事です。
ロボットに指示を出すためのダイアログを設置し、コピー元とコピー先のExcelファイルを自由に選べるようにすることや、コピーやペーストの仕方を例えばセルをいくつか飛ばしながら選択したり、行列入替を行いつつ指定の間隔でペーストする等のロボットを作った方が汎用性があります。
このように様々な作業で現れる単純作業でかつある程度のステップが必要な作業を切り出してロボット化し、その部分だけを各場面でロボットにやってもらうという方が一つ作るだけでいろいろな場面で利用することができ、効果的なのではないでしょうか。
そのためには、作業を分解し共通作業を見つけ出す必要があり、ロボットを使うために手順を変えたり、バラバラだったものを統一したりする必要が出てきます。こういう話も、RPAに何ができるのかというのをちゃんと理解しないと難しい話で、今後RPAを理解している人が増えるにつれて進化していくことになると思います。