RPAについて、解説します。以下について、知ることができます。
・RPAとは何か
・プログラムとの差は?
・RPA vs プログラム
・RPAによってコモディティ化するIT化
■RPAとは何か
端的に言うと、Windowsパソコンの操作を自動化したものです。
Excelなどアプリケーションをマウスとキーボードで操作するとき、
繰り返して操作しないといけない作業があると思います。
たとえば、
あるExcelシートのセルのデータを別のExcelシートにコピーする作業であったり、エクスプローラーで、あるフォルダから複数のファイルをコピーして個々に名前をつけていく作業などです。
このようなとき、マウスとキーボードの操作、使用するアプリケーションを記憶し、自動で動作させるツールがあればいいと思いませんか?
それを実現するツールがRPAです。
RPAに、シーケンスと呼ばれる操作シナリオをフローチャートで記載し、
それを実行することができます。
フローチャートの各ステップでは、短いプログラムを実行することもできます。
OSは、Windowsを使うことを前提としているので、
プログラミング言語はスクリプト言語であるVB(VisualBasic)による言語が
採用されています。
最もメジャーな「UiPath」では、原則、VB.NETでプログラムを記載します。
また、国内で普及しているNTT-AT製の「WinActor」ではVBScriptでプログラムを記載します。
プログラミングが必要なのはごく一部で、
ほとんどは、アプリケーション操作を組み合わせて一連の作業を自動で完結させることができます。
主に子供向けのプログラミング教材としてScratch(スクラッチ)がありますがそれの大人版と言っていいもしょう。
■プログラムとの差は?
アプリケーションは、プログラミング言語で書かれたある特定の機能を実現するプログラムです。
アプリケーションも、一連の動作を自動で完結することができます。
たとえば、Excelを使えば、自動で計算したり、グラフ化したりすることができます。
ただし、これらを実現するには、プログラミング言語によって、
関数やAPI(アプリケーションプログラムインタフェース)を繋ぎわせてプログラムを開発する必要があります。
RPAも、アプリケーションが持つマウスやキーボードによる「操作」というインタフェースを使って、それらを繋ぎ合わせたプログラムと言えます。
また、RESTful APIでのアクセス、FTPでのアクセス、RDBMSへのアクセスなど、プログラミングで必要となるサーバとのインタフェースも使うことができます。
そう考えると、RPAの操作を覚えることは、プログラミング言語を習得することと同等と言っていいでしょう。

■RPA vs プログラム
RPAとプログラムを分けるものは、導入時のスキルの高低です。
アプリケーションを使うことは、マウスとキーボードさえあれば誰でもできます。一方、プログラムを書くには、プログラミングスキルが必要となります。
よって、RPAであれば、誰でも手をつけることができます。
ただし、RPAには、プログラミングスキルが不要かというと違います。
フローチャートを書くということは、
プログラミングスキルのコアである「ロジックを組む」という技術が必要になります。
単純なExcelへのコピペだけの作業だけならいいでしょうが、
ホワイトカラーがやっている事務作業はそれだけで済むものはごくわずかです。
アプリケーションという塊をコントロールし、一連の処理をつなげ、
想定通りの結果を出すことは、思うほど簡単ではありません。
そうなると、逆に、プログラムを作ったほうが効率的であったりします。
RPAによって作業を完璧に自動化しようとすればするほど、
組み上げるまで膨大な時間がかかってしますこともあるはずです。
それも、数日だけの作業で、あと同じ作業がないとしたら、人手でやったほうがよかったと後悔するかも知れません。
手を出しやすい反面、終わりが見えない、何をしたかったのかわからなくなったといった状況に陥りやすいのです。
作業の効率化だけではなく、RPAのフローチャートを組み上げ、
間違いなく動作させるまでの期間を加味する必要があります。
たとえ、作業時間が1時間が1分になったとしても、RPA化する時間が1週間かかっていたら、1日かけて人手でやってほうが効率的です。
反復性のない、その場限りの作業であれば、特にそうです。
以下の関係となる作業なのかを見極めて、RPA化をすすめる必要があります。
効率化される時間×反復性 >> RPA化に必要な時間
■RPAによってコモディティ化するIT化
RPAを触ることが日常化すると、
ホワイトカラーのITスキルがプログラマーやITエンジニアと同じように実務ができるレベルまで上がってくることになります。
そうなると、ITベンダーが行っていた仕事が浸食され、先細ることになります。
プログラムを開発することを主眼とするITビジネスの領域が、
RPA化によって、大きく浸食されてくることは間違いないでしょう。
さらに、いずれRPAが仕様定義や設計のツールとして台頭し、
プログラムをかかずともコードが自動生成される長年の夢がかなうことになるかもしれません。