こんにちは、わたあめです。近年注目されているRPA(Robotic Process Automation)というツール。
- 定型業務を自動化
- 人的ミスの現象
- 人件費コストの削減
良い事がいっぱいですよね!もちろん、RPAの導入効果は高いと思います。メリットも多いのは承知の上で、今回は敢えてデメリットを挙げていきます。
今回は、RPAツールを利用したことのあるシステムエンジニア夫のもちおの感想をまとめてみました。それでは、いってみましょう。
デメリット3選
1.イレギュラーに弱い
GUIの処理は、意外とイレギュラーが発生します。
例えば、シナリオ実行中に出てくるポップアップ。Windows Updateやウイルスバスターなどの更新のお知らせ通知などのポップアップが出てきた場合など、止まってしまいます。
WEBブラウザでの操作でも、マウスオーバーでメニューが表示されたりする画面で思った通りに判定できないということもありました。また、画面の構成やボタン名が変わったりしても、止まってしまいます。変更が発生した場合に都度対応する必要があり、イレギュラーに手がかかる印象は強いです。
2.原因調査に時間がかかる
シナリオ実行中に"なぜ途中で止まったのか"が原因究明に時間がかかりました。(プログラムのデバッグと比較しての話ですが。)
RPAのシナリオでは、ロード時間等の停止時間を考慮して作成します。例えばWEBブラウザの画面でロード時間を考慮する場合、表示時間が早いときもあれば遅いときもありますよね。通常シナリオを作成するときには、遅い方+バッファを考慮して待機時間を設定していました。この待機時間が一回一回の実行に時間がかかり、積み重なって地味に時間がかかるなと感じました。
また、先に述べたイレギュラーが発生して止まることもあり、シナリオが悪いのか、たまたまイレギュラーで停止したのかの判断もなかなか切り分けが難しかったりしました。ズバリの原因にたどり着くに意外と時間がかかりました。
3.結局、システムエンジニアが必要になる可能性がある
RPAではプログラミングの知識は不要!ということも謳われていますよね。もちろん間違いではないと思います。プログラミング言語でいちからプルグラム作成するより、感覚的・視覚的に分かりやすいと思います。
ただ、複雑な処理を行う場合は、条件分岐や繰り返し処理などのロジックを組む知識・経験が必要だなと感じました。
もし、シナリオが複雑で組むのが難しいできない場合、思った通りに動作しない場合は、結局外注することも多いみたいです。もちろんプログラムをスクラッチ開発するよりも費用は抑えられます。ですが、自分たちで完結できると思って導入すると余計に費用がかかる可能性があるという事を念頭に置いておいた方が良いです。
RPA大きなメリットだと思うこと
おまけで、メリットについても少し話したいです。SE視点では、プログラム言語で表現するのが難しい処理の実現には大きなメリットだと思っています。
具体的に思いつくのは、アプリケーションを縦断するような処理はプログラミング言語で表現するのが難しい処理です。それを無理やりGUI側から実行できるのが素晴らしい。
例えば、メールの内容をシステムに入力するような処理。メーラーと独自システム、違うアプリケーションの連携を行うプログラムを作成するのは結構ハードルが高いんです。それをGUIの操作から、プログラムを作成するより簡単に処理を組むことができるのは非常に助かりました。
さいごに
誰でも簡単に処理を自動実行できるのがRPAという印象でしたが、意外と壁があるなという印象もあります。導入時は自動化したい処理がRPAツールによる自動化に向いているかどうかを十分に検討した方が良さそうです。
わたあめは、RPAという言葉を最近知りました(遅)ちょっと導入本など読んで知識を取り入れようと思いました。まずはじっくりRPAを理解するところから始めようと思います。それでは、また!