オートメーション道場

RPAツール「Automation 360」(旧Automation Anywhere A2019) の使い方についてまとめていきます。

RPAといままでの自動化の違いは?

RPAといままでの自動化の違いは?

RPA (アール・ピー・エーと読む)、ロボティック・プロセス・オートメーションを導入検討する際に必ず疑問としてあがってくるのが「いままでの自動化と何が違うのか?無料の自動化ツールはたくさんあるんだからそれをつかえばいいじゃん」という話です。これは自動化について経験があるエンジニアが検討メンバーにいる場合に、特に話題になってきやすいです。結論から言うとRPAと今までの自動化は別の位置づけなのですが、エンジニアの言い分と見落とされがちな盲点についてこの記事では見てみたいと思います。

 

目次

 

RPAじゃなくても自動化はできる

パソコンでの自動化についてちょっと知っているエンジニアであれば、「自動化ってExcelのマクロでもできるし、他のアプリも動かせるよね」「スクリプト言語でコードを組んだ方が素早く自動化できるよ」「PythonからSeleniumを呼べば無料でUIの自動化もできるよね」「SikuliXを使えば無料で自動化できるよね」などの意見が出てくるかもしれません。

たしかに、どの意見もあっています。自動化はRPAだけの特許ではなく、そもそもパソコンを使った業務そのものが昔から自動化や業務効率化を目的として導入されてきたものです。ですので、その歴史を知っている人からすると、「何をいまさらパソコン上でRPAで自動化?」という気持ちになるかもしれません。

また、「RPAはパソコンのユーザーインターフェイス (UI) を操作できるのが特徴」とよく言われるのですが、これもRPAだけの特許ではありません。RPAでは通常、パソコンの中に表示されるウィンドウの中のUI要素を分解して返してくれるAPI (アプリケーション・プログラミング・インターフェイス)というWindowsのしくみを使っているのですが、これはPythonなどのプログラミング言語Excelマクロなどの他のツールやアプリケーションからも呼ぶことができます。つまり、他の手法でもUIの中のボタンやテキスト入力をクリックしたり文字列を入力したりといった操作はできてしまうのです。

RPAと他の自動化ツールとの違い

 

ではRPAは何が違うのか?

ここまで来て読者は「えっ、そうなの~!?」と思うかもしれません。メジャーなRPAツールは導入に年間最低100~200万円程度かかります。一方、エンジニアが挙げたようなツールは、すでにパソコンにインストールしたり、インターネットからダウンロードしてきたりして、事実上無料で使えてしまうツールが多いのです。では、なぜわざわざRPAを使うのか?それにはいくつか理由があります。

 

RPAを使う理由1 - コーディングができなくても使え、スピーディに構築できる

「RPAじゃなくても無料のツールで自動化できちゃうよ」というRPA不要論を訴える人は、たいていエンジニアです。エンジニアであれば、自分で無料のツールをダウンロードしてきて組み合わせて、同等の事ができてしまうかもしれません。ただし、その人が異動や退職などでいなくなったらどうなるでしょう?自動化コードはたちまち利用方法がわからないプログラム群となってしまい、変更などに対応できず、自動化が頓挫してしまうでしょう。

この状況に似たことは実は昔にもあったかもしれません。そうです、Excelマクロ/VBAが流行った1990年代終わり頃です。Excelマクロ/VBAは、プログラミングができなくても使えるツールともてはやされた頃がありました。そして、経理や顧客管理などがマクロ/VBAをガッツリ使って高度に自動化されたりもしました。しかし、マクロ/VBA作成者が異動・退職してしまうと、途端にしくみがブラックボックスとなりメンテナンス不能に陥りました。エンジニアによるコーディングの自動化も、まったく同じことが起こってしまいます。エンジニア本人は気づいていないかもしれませんが...

RPAはローコード/ノーコードと呼ばれる手法を取り入れ、コーディングを行わなくても、アクションやコマンドをドラッグ&ドロップでフローチャート形式にくみ上げていったり、画面のレコーディング機能で人間が操作したままを記録してくれるので、プログラミングができなくても自動化を行うことができます。(ただし、WinActorやUiPathなど、いま最も広がっているRPAは少し高度なことをやろうとするとコーディングが要求されるので、それが混乱の元かもしれませんが...)

また、RPAで1つのロボットを作るのにかける時間は数日であり、コーディングによる構築と比べると圧倒的に少ない時間でロジックの構築とテストを完了することができます。

 

RPAを使う理由2 - 総コストは下がる

無料ツールやプログラミング言語を使って自動化を行う場合は、無料で自動化プロジェクトができてしまうのではないかと思う人がいるかもしれませんが、そこには落とし穴があります。つまりそのプロジェクトで中心になっている詳しいエンジニアの費用は無料ではないのです。エンジニアは通常、SI会社に外注すると1人あたり1カ月に100万円以上の費用を要求されます。たまたま社内で他のことをやっているエンジニアが兼務でやってくれる場合もあるかもしれませんが、それでも社内ではそれくらいの見えないコストを意識しないで消費してしまっていることになります。コストを市場価格で見積もっておかないと後々痛い目に合う場合があります。つまり、その人が忙しくなってしまったり、異動・退職をしてしまう場合です。すると先ほどの外注コストがかかってくることになります。

RPAを使う場合、最初の3カ月程度は社内人材にスキルを付けるフェーズとして、外注のエンジニアやコンサルタントに頼んでスタートします。しかし、その後はコーディングができない社内人材だけで回せるようにプロジェクトを組みます。特に、社内でRPAにかかわる人が多くなってきたときに、誰もが今度なスキルのある人材ではないため、コーディングスキルがなくてもロボットが作れるようなツールであることが重要です。また、主要なRPAツールを使うことで、スキルを磨くためのトレーニング、ドキュメント、書籍、資格などが日本語で充実して受けられます。無料のものが多くあります。そのため、人件費や教育費まで含めた総コストはRPAを使うことで下がる傾向にあります。

加えて、後述する管理ツールの有無による組織の広範囲への展開、管理作業に必要な工数も総コストに大きく影響します。

 

RPAを使う理由3 - 自動化プロジェクト全体を管理するツールがついている

無料の自動化ツールやプログラミング言語を使うことで実現できるのは、パソコン内のデスクトップの自動化、つまりRPA用語で言うとRobotic Desktop Automation (RDA)という、一番基本的な部分しかできません。自動化は、作った複数のロボットをスケジュールに沿って自動実行させる、複数のパソコンで同じ作業を分散実行させる、パスワードを安全に管理する、実行結果をログに記載して管理・監督する、など、組織で使うには数々の管理業務をこなす必要があります

笑い話として、ロボットに自動的に作業を実行してもらったものの、その実行結果をまとめるのは人間で、最終的にExcelに手作業でまとめて報告を行っていた、ということもこの管理工数を入れないでプロジェクトを立ち上げてしまうとよく起こるようです。これでは、人間がロボットを使っているのか、人間がロボットに使われているのか、わからなくなってしまいます。

これらのような管理・監督作業は、サーバ型RPAを採用しておけば標準機能としてついてきますので、特別な追加実装を行う必要はありません。

 

まとめ: RPAが行うのは単なる自動化だけではないことを理解しよう

以上、見てきました通り、RPAが解決するのは自動化だけではなく、現場にコーディングスキルがなくてもローコード/ノーコードツールとして使えるということ、ロボットの管理・監督も自動でやってくれること、スキルアップのための教材が安価に日本語でそろっていること、など、他の自動化ツールにはない価値を提供してくれます。RPAの活用により「自動化の民主化が行われるといわれており、いままで自動化に手が届かなかった人々にも手軽に自動化の活用ができるようになること、が大きな違いといえるでしょう。

 

オートメーション道場