以前、WinActorの講習会に参加した時のこと。
「完璧なロボットを作ろうとしないこと!」
そんな記述がテキストにあったのです。
思わず、「えっ!?」と目を疑ってしまいました。
何故、そんなことが書いてあるのでしょうか?
それは、ロボット作成の手順を見ていくと分かってきます。
■ロボット作成の手順
簡単に言えば、
①現在行っている手作業を書き起こす
②フローチャートに落とし込む
③実際にロボット作成(シナリオ作成)
となります。
問題はこのあとなのですが、通常の流れに合わせてロボットを作成し、「はい、出来た!おしまい!」とならないのがプログラミングの厄介なところなのです。
それは、
④通常以外の操作に対応させる
ということです。
■エラー対応
「通常以外の操作」を具体的に挙げてみます。
たとえば、
・「処理するファイルを選んで、OKを押してください」と表示しているにも関わらず、キャンセルボタンを押した場合の対応
・特定のホームページを開いて、そこからデータ抽出するのだが、上手くページが開かなかった場合の対応
・エクセルファイルを選ぶように指示しているのに、テキストファイルを選んでしまった場合の対応
・乗車駅に存在しない駅名を打ち込んでしまった場合の対応(参照元のエクセルファイルに記述間違い)
等など。
上記の操作を考慮せず、素直にロボットを作成すると、RPA側で対応できずにエラー表示を吐き出すことになります。
パッと思いついたことを書いてみましたが、これら以外にもエラー表示となるケースはあり得るでしょう。
それを全てを盛り込んだロボットを最初から作ろうとすると、とても困難であることは想像に難くないと思います。
よくあるミスを盛り込むことは必要ですが、あれもこれもと初期段階でロボットに入れていくと、効率の悪いロボット開発になってしまうのですね。
そういったこともあり、講習会のテキストには、
『ロボット開発は、80%の完成度を目指す』
と書かれていたのでしょう。
あとは、実際の運用の中で、思った以上に多いミスについては、その都度対応していくといった運用方法がベターと判断していると思われます。
よく「RPAのロボットが暴走したら、大変なことになるのでは?」という心配をされる方がいらっしゃいますが、現時点のRPAソフトにおいては、自己判断できるほど賢くありません。
なので、上記のような事象が発生した場合、エラー表示でロボットが止まりますのでご安心を。
ちなみに、特定のエラー事象が起きた場合、違う操作を実行する、もしくはスルーするといった対応も可能です。
多くのRPAソフトには、「例外対応」と呼ばれるフローが用意されており、事前に条件を指定することで、強制的に別のフローに進めることができます。
時折起こる、でもあまり気にしなくても良い事象に関しても、RPAでは対応可能なのです。