こんにちは、今回は近年注目されているRPA(Robotic Process Automation)というツールについて、あえて感じるデメリットを書いてみたという記事です。
RPAは、
- 定型業務を自動化
- 人的ミスの現象
- 人件費コストの削減
と、良い事がいっぱいです!もちろん、RPAの導入効果は高いと感じています。メリットも多いのは承知の上で、今回は敢えてデメリットを挙げていきます。
今回は、RPAツールを利用したことのあるシステムエンジニア夫のもちおの感想をまとめてみました。そして2023年より本格的にRPAに取り組むことになりましたわたあめの実感も追記していきます。それでは、いってみましょう。
(敢えて挙げる)RPAのデメリット3選
1.イレギュラー処理に弱く、処理が止まりがち
画面上のマウス操作の処理、意外とイレギュラーな画面遷移が発生します。
- Windows Updateやウイルスバスターなどの更新のお知らせ通知のポップアップ
- WEBサイトの更新でボタンの位置などのレイアウトが変わってしまう
こういった場合、RPAのシナリオ処理に組み込まれてないため止まってしまいます。変更が発生した場合は処理が停止してしまいます。実行ログを確認しその都度対応する必要があり、イレギュラー事態にに手がかかる印象は強いです。
特に画像認識で処理を組んでいる場合は、イレギュラーな更新通知などのポップアップに弱かったりします。ショートカットキー等で操作を組んでおくと処理が止まりにくいという実感があります。
2.処理に時間がかかる
RPAで処理する内容によっては、時間がかかるところもあるんだなと感じています。例えば、以下のような処理。
- Excelのコピーや行削除などの処理がマウス操作と同様な動きなので遅い
(VBAマクロの方が圧倒的に早く処理できる) - メニューの移動にを「Tab」や「→」を使っている場合もメニュー遷移に時間がかかる
- 操作によっては待機時間を考慮する必要もある(バッファを取って設定するので待ち時間もあり)
- シナリオの組み方が悪いのか、イレギュラーで処理が停止したのかの切り分けに時間がかかる
こういった理由で、人間の操作を模して処理するので、VBAやVBScriptに比べると処理時間が結構かかる印象です。そして、待機時間も前の処理が終わる確実な時間を設定するので、余計な待ち時間も発生しています。
で、シナリオを作る際のテスト(動きの確認)の時にも画面をじーーーっと見つめて動作を確認するので、結構時間がかかりました。そして、午後いちだと眠気を誘ってきます。
また、先に述べたイレギュラーが発生して止まることもあり、シナリオが悪いのか、たまたまイレギュラーで停止したのかの判断もなかなか切り分けが難しかったりしました。ズバリの原因にたどり着くに意外と時間がかかりました。
3.結局、システムエンジニアが必要になる可能性がある
RPAではプログラミングの知識は不要!ということも謳われていますよね。もちろん間違いではないと思います。プログラミング言語でいちからプルグラム作成するより、感覚的・視覚的に分かりやすいと思います。(ノーコード・ローコード)
ただ、複雑な処理を行う場合は、条件分岐や繰り返し処理などのロジックを組む知識・経験が必要だなと感じました。シナリオ作りは以下のどれかに落ち着くのかなと思っています。
- システムエンジニアがシナリオ作りを担当する
- 社員を教育してシナリオ作れるようにする(時間はかかる)
- コストをかけて外注する
社員を教育してシナリオ作れるようになったとしても、オブジェクト化指向足りてなくてメンテナンスしずらい(結局時間かかる=コスト)みたいな状況もあったりします。
RPAデメリットの解決案(個人的な考え)
デメリットを3つ挙げましたがそれぞれのデメリットに対して、こういう心構えが良いのでは?という思いを述べます。以下番号は上記デメリットそれぞれに対応しています。
1.イレギュラーでシナリオ停止は「あり得る」と思う
心持ちの話になってしまって恐縮ですが、プログラムは完璧にこなさないと「チッ」という思いが出てきてしまいますよね。
でも、RPAは状況が変わると(ポップアップが出てきたり、画面構成が変わったり)戸惑ってしまうと理解・周りに説明しています。人と同じでいつもと違う処理には時間がかかってしまうということを念頭においておくと良いかなと。
運用中もメンテナンスはそれなりに発生するという心構えですし、周りにもそういうものだと理解してもらえるように努めました。
2.適材適所する、原因調査は慣れる
Excelの操作やファイル内操作については、処理速度が圧倒的に早いVBAマクロやVBScriptを作成して、それをRPAで呼び出しています。アプリケーション内で自動化できるすべがあるならそれを活用しています。(時間かかるんで、結局プログラミング必要じゃん、というツッコミは置いておいて。)
エラー時、原因の切り分け調査に時間がかかると書きましたが、RPAを使い始めて結構経ってくると、何でシナリオが停止してしまったのか、パターンができて原因究明の時間も短くなりました。
3.根気強く教育、今後はシナリオ自動作成技術に期待
シナリオ作りに関しては、属人化しないほうがRPAが浸透していくと思うので、やはりシナリオ作りの技術ある人は、シナリオの作り方のノウハウを根気強く伝えていくのが良いのかなと思います。
また、最近は操作録画機能(動作を記録してシナリオを自動作成するといった)も出てきていますので、そういった技術の発展にも期待するのも良いなと思っています。
あと、地味に私自身がやっていることとして、シナリオのテンプレを作成することです。モジュール的な扱いで、「メールを送信する」「共通システムにログインする」など、使い回しがしやすい業務についてはテンプレ化しています。そうすることで、各人のシナリオ作成時間を少しでも短くでき、普及率を高まればと思っています。(少しずつですが)
RPA大きなメリットだと思うこと
おまけで、やっぱりメリットについても少し話したいです。
複数のアプリケーションをひとつのシナリオで操作できるの便利
SE視点では、プログラム言語で表現するのが難しい処理の実現には大きなメリットだと思っています。
具体的に思いつくのは、アプリケーションを縦断するような処理はプログラミング言語で表現するのが難しい処理です。それを無理やりGUI側から実行できるのが素晴らしい。
例えば、メールの内容をシステムに入力するような処理。メーラーと独自システム、違うアプリケーションの連携を行うプログラムを作成するのは結構ハードルが高いんです。それをGUIの操作から、プログラムを作成するより簡単に処理を組むことができるのは非常に助かりました。
面倒なことからの解放
日々のルーティン作業で、システム化するほどではないけど小さな面倒な作業ってありますよね。
例えば、週に1度特定フォルダ内のファイルを別フォルダに退避するなど。時間も5分くらいですが、「やらなきゃ!」と意識するところから始めると、意外と負担だったりします。
ファイルのコピーなので、簡単にシナリオ作成できます。かつ、RPAは忘れずにスケジュール通りに実行してくれるので、タスクの意識からも解放され便利だなとおもいました。
小さなミスなく確実に処理
単純作業や誰にでも簡単に出来る作業は、パートさんなどに依頼していましたが、人間なので転記ミスなど小さなミスが発生していました。それがのちのち問題になったりすることもあり。
その点、RPAで作業を「きちんと」組んでしまえばそれ通りに間違いなく実行してくれるので、ミスなしで素晴らしい。
さいごに
誰でも簡単に処理を自動実行できるのがRPAという印象でしたが、意外と壁があるなという印象もあります。導入時は自動化したい処理がRPAツールによる自動化に向いているかどうかを十分に検討した方が良さそうです。
中小企業経営者のためのRPA入門 RPA導入を成功させる方法
田牧 大祐 著
それでは、また次の記事で。