• HOME
  • RPA
  • RPAにプログラミングの知識や能力は必要?理由と判断基準も紹介!

RPAとプログラミング

この記事では、「RPAの導入にプログラミングについての知識や能力は必要か?」という質問に回答します。

RPAにプログラミングが必要なのかを簡単に解説すると

最初に、「RPAの導入にプログラミングの知識や能力は必要か?」という質問に端的に答えると、

・単純な画面操作や入力作業を自動化する程度のRPA導入ならば、不要。

・RPAの導入によって業務の自動化を高度に実現させたいのであれば、必要。

という事になります。

具体的に、「どのような場合に、どのようなプログラミングに関する知識や能力が必要になるのか」をお知りになりたい方は、この記事を最後までお読み下さい。

RPAとプログラミングの関係・違い

RPAによる自動化を実現させる為に導入される「RPA用ソフトウェア」はプログラムです。そして、そのRPA用ソフトウェアに「どのような処理を行わせるか」という事を教える仕組みもプログラムです。

ですから、RPAを導入する以上、「プログラム」という概念と無縁ではいられません。そして、そのプログラムをつくる行為である「プログラミング」を意識せずに導入を進める事も出来ません。

ただし、プログラミングに関する知識がないと、RPAによる自動化が全く出来ない訳ではありません。その理由は、この後、説明します。

※RPA用ソフトウェアに「どのような処理を行わせるか」という事を教える為の仕組みは「プログラムに近いもの」という表現の方が適切なケースもあります。しかし、この記事では読みやすさの観点から「プログラム」という表現で統一しています。

プログラミングなしでもRPAが動作させられる理由

本来、プログラミングなしでRPAを使う事は出来ません。

しかし、RPA用ソフトウェアの多くは、ユーザーが画面上で操作した内容を分析して、「利用者は、このような動作を自動化したいのだな」という事を理解するような機能を持っています(そのような機能は「レコーディング」と呼ばれます)。

また、RPAに行わせたい作業をマウスなどで指定する事が出来る機能が備わっている製品も多くあります。

この為、プログラミングの知識がなくても、ある程度の所までは自動化を実現させる事が可能なのです。

「プログラミング」と「プログラミング言語」の違い

ここで、一点、注意して頂きたい事があります。

それは、「プログラミングに関する知識」と「プログラミング言語に関する知識」の違いです。

「プログラミングに関する知識」とは、コンピューターで動くプログラムについての基本的な知識であり、例えば、「変数」「繰り返し処理」「分岐処理」などの知識を指します。

これに対して、プログラミング言語はプログラムを作る為に用いられる言語であり、多くの種類が存在します。

一般的なプログラミング言語のうち、一つでも十分にマスターしていれば、「プログラミングに関する知識はある」と言えるでしょう。しかし、あるプログラミング言語を習得しているからといって、他のプログラミング言語も自由に使える訳ではありません。

そして、RPAの導入においては、「プログラミングについての知識」だけで十分な場合と、「ある特定のプログラミング言語について習得している」という事が必要な場合があります。

この後の説明をお読みになる上で、この2つを同一視して混乱しないようにして下さい。

※プログラミング言語は、プログラム言語と表現される事もあります。

RPAの導入にプログラミングが必要になる理由

もし、全くプログラミングの知識がなかった場合には、「自分が行ったパソコンの画面上での作業を、そのままRPAに繰り返し実行させる」といった内容の自動化しか出来ません。

パソコンでの作業を思い出してみて頂きたいのですが、一見、単純な作業に見えても、私達はパソコン作業において様々な判断を行っています。

例えば、データの入力業務であれば、「入力しようとしているデータの内容が異常な場合には、入力しない」などの判断をしているはずです。また、「画面に何かのエラーメッセージが表示された場合には、そのメッセージの内容に応じた対応をする」などの処理も行っています。

このような業務をRPAで自動化しようとした場合には、「どのような条件を満たした場合に、どのような動作をすれば良いのか」という事を事前にRPAに指示してやる(細かく設定してやる)必要があります。

人間にとっては簡単な判断であっても、RPAにとっては決して簡単ではない事は多いのです。そして、その為の処理を組み込む為には、プログラミングの知識が必要になります。

特に、RPAに行わせる処理の中に、「データの加工」や「複雑な分岐」などを組み込もうとすると、プログラミング言語についての知識までが必要となるケースが多くなります。

その他、動作の細かい指定をしようとすると、プログラミングの知識がないとRPA用ソフトウェアに指示が出せないケースも多くあります。

プログラミングなしで自動化できる処理とできない処理

正確に定義する事は難しいのですが、大まかに「プログラミングなしで自動化できる処理」と「プログラミングなしでは自動化できない処理」をまとめると、以下のようになります。

まず、プログラミングの知識なしで自動化できる処理は、以下の条件を全て満たしているものです。

・キーボードやマウスで行う単純作業であること。

・判断や条件による複雑な分岐がないこと。

・扱う情報について、加工(編集)が必要ないこと。

プログラミングなしでは自動化できないのは、これらの条件を満たしていない処理という事になります。特に、以下のような処理を自動化する際にはプログラミングが必要となります。

・条件によって「実行する回数」や「実行する内容」を変える処理。

・エラーメッセージへの対応のような例外対応が必要となる処理。

・扱う情報についてのチェックや加工(編集)が必要な処理。

・何かの条件を満たした場合に実行される処理。

なお、プログラミングの知識がなくても実現できる内容であっても、より効率的に動作させる為などの理由で、実際の導入現場ではプログラミングが行われる事もあります。

RPA用ソフトウェアによって差のあるプログラミングの扱い

RPA用ソフトウェアの種類によって、「プログラミングできる幅」や「プログラミングの方法」などが異なる事も知っておいて下さい。

RPA用ソフトウェアによっては、単純な自動化に特化しており、「利用者がプログラミング出来る幅が狭い」というソフトウェアも存在します。その一方、利用者が開発した本格的なプログラムを内部に組み込む事が出来るようなソフトウェアも存在します。

また、RPA用ソフトウェア内でプログラミングを行う場合の「プログラミング言語」についても、ソフトウェアの種類によって差があります。導入の効率を上げる為には、導入を担当するメンバーが得意とするプログラミング言語と親和性の高いソフトウェアを選定する事も大切です。

RPA導入にあたってプログラミングをどう考えるべきか

RPAを導入するのであれば、「すぐにプログラミングが必要かどうかは解らなくても、将来はプログラミングが必要になる」という前提で検討を進めて頂く事を強くお勧めします。

当面はプログラミングが必要ないように思われても、その後、改良に取り組むケースは多く、結局、プログラミングが必要になる事は多いのです。

例えば、導入が終わった後も、「機械だけで処理を続ける事ができる水準を高める」や「他のシステムと連携する幅を広げる」といった事に取り組む事になるケースは多く、そのような事を実現させる為には、プログラミングの知識が必要となります。

そして、もし、プログラミングの必要性について考えずに導入を行っていた場合、その時になってから、RPA用ソフトウェアを切り替える必要に迫られる事があります。また、大幅な作り直しをする事になる場合もあります。

そのような無駄を避ける為にも、RPAを導入するのであれば、プログラミングが必要となる段階の事を最初から考慮に入れた上で、RPA用ソフトウェアの選定を行い、また、プログラミングについての知識があるメンバーを加えてRPAの検討・導入を行っておく事をお勧めします。

関連記事一覧