ここでいう「ロボット」とは、RPAツールで作成された「自動化のプログラム」のことです。
NTT提供のRPAツールである「WinActor」ではシナリオと呼んだりしますが、ここでは一般的な呼び名である「ロボット」に統一します。
ロボットは、「1度ちゃんと動けばOK!」ではない?
さて、RPAの謳い文句として、
「ロボットは1度決められた動きを正確に何度でも繰り返すことができる」
とよく書かれています。
これは本当でしょうか?
答えから言えば、これは半分本当で、半分間違いです。
何故このような言い方になるのかと言うと、RPAを考える際には、2つの主体があるからなのです。
1つ目は、RPAツール。
2つ目は、パソコン(Windowsや個別アプリを含む)。
我々がスタートボタンを押して動かすのは、「RPAツール」なのですが、その「RPAツール」はパソコンを動かします。
RPAエンジニアとして、ロボット作成における永遠のテーマは、この1つ目(RPAツール)と2つ目(パソコン)のタイミング合わせなのです。
具体的な例を挙げると、ロボットの設計上では「Enterキー」を押して次に進める場面なのに、そこで止まってしまうことがあります。
その原因の大半は、RPAツールは確かに「Enterキー」を押したという信号をパソコン側に送っているのですが、パソコン側でEnterボタンの表示処理が遅れ、ボタンを押すという信号は先に実行されてしまい、結果として「Enterキー」を押さずに止まるということになっています。
何故、ロボットの指示にパソコンは従わないの?
この根本的な原因は、色々なケースがあります。
①パソコンのスペックが低くて、処理がもたついている
②そのパソコンの癖なのか、特定の処理が遅い
③ネットワークやアプリの状況が影響して、処理にムラがある。(共有フォルダに入っているファイルを扱う場合に多い)
他にもあると思いますが、よくあるのが上記のような要因です。
厄介なのは、利用環境の変化により生じることが多いということです。
我々がこういったことを一番苦々しく思うのは、お客様から依頼されたロボットを作成し、こちらの環境で何度もテストを繰り返し、エラーゼロの状態になったものを納品する場面です。
お客様からパソコンごと預かっている場合には問題は少ないですが、ロボットだけ納品する場合、Excelファイルのように、エクスポート⇒インポートという形をとります。
そして、お客様側の環境で同じロボットを走らせると、いきなり止まる。(苦笑)
「画像認識機能」を使った部分に関しては、基本、設定し直しになるのは分かるのですが、何でもないところで止まることもあり、その際には大概「待機」パーツを用いて、RPAツールの処理を部分的に遅らせる調整を行います。
これもロボットを走らせると毎回そこで止まるという訳ではなく、時折止まるというようなことになるので、対応が厄介なのです。
今迄何百回も繰り返して止まらなかったのに、ある日突然、止まる。
お客様の目の前で正常終了して納品となった後に、後日突然止まり、連絡が来る。
原因はハッキリしないが、前日のWindowsのアップデートかな!?といった感じで、微調整が必要になることは珍しくないのが、RPAの宿命なのです。
RPAとは、どういうものなのか?という正しい認識
と、上記のように書くとRPAツールが無能のように感じた方もいらっしゃるかもしれませんが、RPAツールを弁護させて頂ければ、そういう訳ではなく、RPAを取り巻く利用環境が複雑なので、RPA自身に問題があるという意味ではないのです。
話が変わるようですが、一般のプログラミングにおいて、そのプログラミングを利用できる環境を設定(構築)するというのが、最初のハードルとなります。。
本やインターネット上の情報を見ながらも環境構築ができずに、そこでプログラミング勉強を諦めた!という人は沢山いますね。
つまり、1つのプログラムが問題なく動作する環境というのは、とてもシビアなものなのです。
RPAも同じ!というか、RPAの場合の方が不確定要素が多いので、仕方がないとも言えます。
という訳で、ロボットの「作成」と「運用(メンテナンス)」は、基本セットであると覚えて頂ければと思います。