「ロボットって、何時間くらいで作れるのですか?」

そう聞かれたことがあります。

いや、私自身もRPAエンジニアとして働く前には、そんな質問をしていたと思います。

誰もが思う、素朴な疑問ですよね。

 

ロボット作成にかかる時間

上記質問の答えから言えば、「モノによります」です。

まあ、当たり前といえば当たり前なのですが、込み入ったロボットを作れば、それ相応の時間が掛かりますし、工数の少ないロボットであれば、短時間で作成可能です。

プレハブ住宅を建てるのと、タワーマンションを建てるのでは、何もかもが違うというのと同じです。

ただ、この答えだとイメージが湧かないと思うので、私が働いていた会社でのことを参考としてお話してみたいと思います。

そこは大企業だったこともあり、作成するロボットも工数が多いものばかりでした。

 

工数が多いとは?

まず、「工数」という単語は、製品を造り上げるなど、ひとまとりの仕事を仕上げるまでに要する作業手順の段階数と定義されています。

システム開発会社などに見積もり依頼をすると、この工数がどのくらいあり、それに割り当てる人が何人くらいなので、いくらになります!という計算をされます。

ちなみにプログラミングの知識が必要ない!と宣伝されることが多いRPAですが、実際にはコーディングという部分が無いだけで、プログラミングと同じことを行っていますので、RPAでもこの工数計算というのは行います。

 

もっと分かりやすくするために、可視化してみます。

プログラミングで必ず出てくるものとして、「フローチャート」というものがあります。

RPAのロボット作成においても、このフローチャートを作成するスキルが必要となってきます。

フローチャート

何となく見たことがある!という方も多いと思います。(引用元URL:https://it-koala.com/flowchart-2241)

 

ここでは、話を簡略化するために、この積み木1つを「1パーツ」と呼ぶことにします。

厳密には異なりますが、イメージとしては、「1工数 ≒ 1パーツ」と考えて頂いて良いかと思います。

ですので、工数が多いロボットほど、作成に手間と時間が掛かるということになります。

 

実際に掛かる時間はどのくらい?

一般の方のイメージと異なる点として、「ロボット作成よりも、テストの方が時間が掛かる」というものがあります。

もちろん、一気に作って、一気にテストするという訳ではなく、ある程度ひとまとまりの動きを作成したら、そこで小テストを行い進めていきます。

そして、通常の動きを最初から最後まで通してちゃんと再現しているのか?といったことが確認できたら、ここから更に「意地悪テスト(※1)」と呼ばれるようなテストを考え、行っていきます。

(※1)通常、「数字」を入力させるところに「文字」を入力してみたり、エクセルファイルを読み込ませるところにPDFファイルを選択してみるなど、普通に使っていれば起こりえないことを試すもの。

それなりの規模のロボットは、1回最初から最後まで走らせるだけでも、数十分掛かるというのもザラなので、ボリュームテスト(※2)などをやっていると、数日ロボットを走らせてばかりいたということもあります。

(※2)想定されるピーク時にも十分耐えられるかどうかを試すテスト。

 

ちなみに、通常時の一連の動きが再現されるようになった段階が仮に「20時間」だったとすると、そこから上記のような「例外処理」対応をし、ユーザーの確認テスト&フィードバックを反映させて、結果、納品までに掛かった総時間を計算すると倍くらいの時間になっていた!というのは、珍しくないのです。

あと、ロボット作成の前の打ち合わせがちゃんと出来ていないと、途中で「仕様変更」を希望されることがあります。

本当に一部を変えれば良いだけのものもあれば、1つの変更が至るところに影響を与える為に作り直しに近い修正を余儀なくされる場合もあります。

とまあ、これは半分愚痴にもなってしまうので、今回は割愛致します(苦笑)

 

具体的な目安時間として

大企業で働いていた時には、WinActorを用いて、総じて「500」パーツを超えるロボットを作成していましたが、トータルの日数的には、1ロボット完成させ納品するのに3~4週間といったところだったでしょうか。

実際には、打ち合わせから、納品時にはロボットについて詳細にまとめた書類も作成していましたので、毎日ロボット作成だけに時間を費やしていた訳ではありません。

また、ロボットを作成する環境では毎回正常に動くのに、ユーザー環境ではロボットが頻繁に止まるということもよくある話で、その原因究明と修正に時間が掛かり、当初の予定より時間が掛かったり、納品後にも安定せずに何度も修正したという案件もあります。

特に困った経験で言えば、ユーザーが利用している「台帳」と呼ばれるエクセルシートが、老舗うなぎ屋の秘伝のたれのように!?長い間使いまわしてきたせいか、RPAツールが他と同じように動かないといった原因不明の症状に出くわしたこともあります。

こういった想定外のことがちょくちょく起こる仕事なので、取り掛かる前に、正確な作成時間を計算するのが難しかったりするのです。

そういえば、フリーランスで年収1000万円以上稼ぐような一流のプログラマーとかでも、「納期がタイトな案件は、基本受けない」という人が少なくないのは、そういった不確定要素があるからでしょう。

特にRPAの場合、RPAツールだけで話が完結せず、自動化に関わるすべてのアプリケーションや利用環境からの影響を強く受けるので、比較的トラブルが起こりやすいと言えます。

 

簡単なロボットは、どのくらいで出来る?

話が少々それましたが、「では、簡単なロボットはすぐ作成できますか?」と言われれば、基本「できます」とお答えします。

どの程度を「簡単」と定義するのかによりますが、1つの基準として「50パーツ程度」で完成できそうな案件であれば、1日程度で納品まで行けると思います。(但し、上記のような想定外のことが無い限り)

なので、「40時間でいくつのロボットが作れるのか?」と言われれば、簡単なものであれば、4~5つ程度ということになりますね。

 

ちなみに、このホームページにおいて動画をアップしている「請求書の自動作成」ロボット。

「元帳」のエクセルシートがあり、そこから必要情報をコピーして、「請求書ひな形」にペーストをしていき、最後にPDFに変換して、相手先の会社名御中と名前を付けて保存といったものです。

これなどは「30パーツ」ほどで出来上がっており、この程度であれば、1日でロボット作成&テスト&簡易ドキュメント作成できます。

 

但し、このロボットに「元帳」データのチェックも任せたい!といった例外処理対応も盛り込むケース。

具体的には、会社名や金額が入っているところが空白だった場合には、ロボットを止めてエラー報告のメールが欲しい!といった機能を盛り込みたいと言われれば、そういったパーツを追加する必要があり、テストの時間も増えます。

もちろん、ロボットで処理できるに越したことは無いのですが、そうやって例外処理をどんどん入れて作りこんでいくとキリがないというのも事実です。

そのため、実際の現場では、上記の例でいえばロボットに読み込ませる前に、人が目視でチェックするスキームにするといった具合に「業務側で対応する」ということを選ぶ場合も多いのです。

ロボット作成において気を付けている点

個人的には、「自動化≒善」という考え方ではあるのですが、仮想環境などの特殊な環境では、コンピュータも設定と違う動きをする可能性もゼロではなかったり、そもそも設計は人間がするものなので、すでにそこで間違っているということも普通にあり得ます。

そうすると、万が一、本番環境でロボットが想定外の動きをした場合、その責任の所在が問われることになります。

 

ユーザーが悪いのか? ロボットが悪いのか? はたまた設計した人が悪いのか?

責任の所在もそうですが、何より厄介なのは、ロボットに全て任せきりでいると、ミスが継続的に起こっていても気づかないということもあり得ます。

なので、

①ミスが起こると業務に致命的なダメージを与える業務には、ロボットを用いない。

②ロボット稼働前、もしくは後に目視によるチェックを入れる。(稼働前は読み込むデータ、稼働後は成果物をチェック)

といった対策を施し、全て「ロボット」で完結させるのではなく、「業務」の方で対応するorカバーするという選択肢を持つことも重要なのです。