こんにちは。
少し前ですが、マクロドロイドというAndroid版自動化ツールを紹介しました。
その後、仕事でも自動化が必要になり、マクロドロイドに似たRPAを使うように。その中でRPAにできること/できないことを自分なりに考えました。
この手の記事はゴリゴリのITエンジニアが書くことが多いですが、1開発者/ユーザの目線も何か役立つはずと思い、記録に残すことにしました。RPAを初めてみたいユーザ(特に非ITエンジニア)の参考になれば幸いです。
RPAとは?
RPAとはRobotic Process Automationの略で、以下の3つ特徴があります。
- PC上のあらゆる作業を自動化
- コーディング作業が不要
- 追加ライブラリなし
1つ1つ詳しく解説しますね。
PC上のあらゆる作業を自動化
例えばVBAマクロで自動化できるのは、基本的にMicrosoft Officeだけです。*1
RPAなら、UI要素さえ指定できればPC上のほとんどの作業をRPAだけで自動化できます。
コーディング作業が不要
特定のプログラミング言語の知識がなくとも、ブロックを組み合わせるような感覚で作成できます。
基本情報技術者試験の擬似言語がわかるレベルなら十分だと思います。
理系だけど学生時代のプログラミング経験に差があるから、CやPythonを全員が理解する時間はない…!というような企業にはピッタリ。
職場内の別のメンバーに説明する際にも、プログラミング言語よりは理解しやすいです。
プログラミングの考え方が不要だとは言っていません。むしろ必須です。詳しくは後述します。
追加ライブラリなし
Pythonであれば、使い倒すためにはライブラリ(便利な処理をひとまとめにしたファイル群)の追加インストールが必要です。
有名なライブラリで言えば
- NumPy
- Scikit-Learn
- Selenium
あたりでしょうか。インストールも面倒ですが、それ以上に会社で使う場合には問題があります。
それは、プロキシが通らないからインストールできないことです。私自身も経験しました…
もちろんプロキシは会社のセキュリティ上効果がありますし、各ライブラリの必要性を情シスに説明できればいいというのはわかります。が、実用性を検証するタイミングで必要性の説明はムリです…
一方でRPAには追加ライブラリという考えがなく、プロキシ問題もありません。有名なRPAであるPower Automate*2やUiPathでは、新規機能はアップデートにより追加されます。
注意点-プログラミングの考え方は必須
RPAでも何らかの処理を自動化するための思考力は必須。無料でユーザも多いPower Automate For Desktop(以下PAD)であれば、
- 変数
- 分岐(if)
- 繰り返し(For)
あたりの知識は必須です。SIerのサイトにある、プログラミング知識不要、誰でも簡単に自動化!という広告は嘘です。
現実的な使い方について
RPAはバズワードの側面があり、極端な信者とアンチがいるように思います。個人利用・職場利用いずれにしても期待値を揃えることが必須です。
職場のITリテラシーを確認
ここまで書いたように、特定のプログラミング言語の知識は不要ですが、プログラミングの考え方は必須です。
RPAを提供する企業の研修やハンズオン講習はありますが、これらは操作方法を教えるに留まります。プログラミング経験0のメンバーが多い、タイピングすら怪しい…という状況からの導入は無理です。
言語はバラバラで構いませんが、大学でプログラミングの授業を半期程度受けたレベル*3は必要です。
全てRPA×自動化で解決しようとしない
RPAは会社の基幹システムにアドオン的に使うものです。当然ですが基幹システムでできないことはできません。無理やり解決しようとするとシャドーIT問題*4が起こります。
社員1人・係レベルで会社のシステムは変えられないので、既存の基幹システムと仕事の進め方を前提に自動化するしかありません。場合によっては引き続き手動で進めることも必要です。
必要に応じてプログラミングを使う
RPAはRPAの開発企業によって制約がありますし、実行速度も遅いです。その為、私見では、RPAは各種システムのハブとしての役割(下図)に特化させるべきだと思います。
例えばRPAでExcelの処理を自動化するとできない処理が多い上に実行速度もExcel VBAマクロの1/10。Excelの中はVBAによるコーディングで済ませるべきだと思いました。
まとめ-RPAの強み・弱みを正しく理解しよう
RPAはプログラミングスキルに差がある企業において、ミクロな効率化を図る意味では有用です。
ただし全ての問題を一瞬で解決してくれる魔法の杖では決してないのでそこを弁えることが大事。1ユーザとして強く思います…
最後に、個人的に有用だと思ったリンクを貼っておきます。