見出し画像

ITスキルとしてのRPA

会社員時代に、RPAサービスの提供をしている中で問題になったのが人材不足。RPAツールにもよりますが、作ること自体はそんなに難しくはないですが、人が足りない。付き合いのある協力会社に打診してみても、まだ準備中というところが多く、なかなか人が集まりません。
そんなわけで、ITスキルとして、RPAツールの勉強をした方が良いのか、というあたりで書いてみます。

派遣会社が力を入れている、らしい

聞いた範囲でしかわかりませんが、派遣会社が当たらなツールとしてのRPAを注目している様です。もっとも、彼らの場合は、例えば経理業務を丸っと引き取って人を派遣した上で、その中でRPA化するというのが多いらしいです。立場的に派遣の業界とは付き合いがあまりなかったので詳しくは知りませんけど。

想像になりますが、丸っと受注するとしても、どんどん業務を自動化できる人もいれば、手助けがあればできる人、作るのは無理だけど使うだけならOKの人、とレベルはあると思います。最初の内は上級者を送り込んでバンバン自動化して、中級者や初級者にそのうち入れ替え、上級者はまた次の所でまたガンガン自動化していく、というモデルかと思います。そうすれば、だんだんレベルアップするにしても、とりあえずは裾野が広がって、初級者の食い扶持ができますから。

想像だけの話ではなんですので実例を挙げると、某国産ツールの教育プログラムはベンダとともに派遣会社(の関連企業)が協業していますし、派遣会社が人を派遣するのでツールのライセンスを安く提供します、と言う売り方をしているケースも知っています。代理店としてツールの販売をするのですが、実際には派遣がメインというケースは少なくはない様です。

どのくらいのスキルが必要か

ツールによりますが、RPAツール組み込みのプログラミング言語はExcelのVBAとかPerl、Ruby、Pythonといったスクリプト言語と同程度と言うか、それらよりも低レベルと思ってください。変数、条件分岐、ループの概念が理解できればとりあえずRPAのシナリオ(ツールによってボットだとか呼び方は異なりますが、ここではシナリオとしておきます)を作ることはできます。可能であれば、変数の型やモジュール化、例外処理といったものも理解できれば良いでしょう。

ただ、これはあくまで作るだけというレベルの話です。上級者の作った既存のシナリオの保守(例えば、対象システムの仕様変更で動かなくなった、等)程度であればこれで十分です。でも、使えるシナリオを作るためには、RPAそのものの癖、ツール固有の癖といった所も抑える必要が出てきます。

また、RPAツールにやらせるよりも、餅は餅屋に任せた方がよいケースは山ほどあります。例えば、Excelの内部で閉じる処理はRPAツールでやらせることもできますが、マクロを使った方がよほど安定しますし、高速です。RPAはそういうマクロ処理のようなものがない所(例えば、なんたらシステムからデータを取ってくる、等)とか、システムとExcelのつなぎ、ExcelとExcelのつなぎ、システムとシステムのつなぎ、といった部分で使います。

なので、RPAの技術者といった場合に、RPAツールのことだけ知っていれば良いかというとそう言うわけではなく、日本企業でよく使われているであろうExcelのVBAマクロや、式とかピボット等の機能についての知識と経験も必要です。寧ろ、Javaとかバリバリですという人よりも、Excelマクロ得意です、という人の方が向いている気はします(そもそもJavaバリバリの人の単価では高すぎる)。なので、派遣会社も次の一手として注目しているのかと思います。

RPAを学ぶべきか

余裕があれば学んでおいて損はないでしょうが、そんなことを言っても優先順位というものはあります。

結局は自分がどういうキャリアを目指すのか、というところが重要になります。そういう点では、Excel等での作業主体の派遣業務をやっている方が、次の自分の売りを作るためにRPAツールの勉強をするというのはアリかと思います。

逆に、自分はバリバリシステム開発をしたいです、とか、Webシステムをやりたいです、という人のキャリアパスにはならないかと思います。とは言え、知識としてRPAはどういうもので、何が向いていて、何が向かない、ということを知っていて損することはないです。流行りに流されてRPAをやりたいというクライアントに対して、メリットとデメリットをきちんと説明し、今のWindowsベースのRPAツールは不安定だから、ちゃんと作り込んだ方が結局は安いですよ、なんて話ができるに越したことはありません。ツールのランニングコストもかかりますしね。

どのツールを選ぶべきか

いくつかツールがありますし、その全てをやるというのも非効率なのでここでも優先順位が出てきます。それぞれ、向き不向きがありますし、結局は、自分、もしくは派遣企業に属している方ならその派遣企業がどのあたりに食い込みたいと思っているかにも依存します。

単純に国内でのシェアで言えば、現状は1位はWinActor、2位はUiPathでしょう。ここではニッチな業務向けの特化ツールは考えていません。私もそちらの方の話はよく知りませんし。あくまで汎用RPAツールの話です。3位は難しいところでしょうが、Automation Anywhere(Automation360)でしょうか。ちょっと離れてBlue Prismあたりというのが順当なところでしょうか。

私見ですが、大規模、大企業を狙うならUiPathかAutomation Anywhere(Automation360)、中小を狙うならWinActorかUiPath。とりあえず、どういうものか掴みたいならUiPathをお勧めします。Blue Prismは開発環境、テスト環境が課金されないというとても懐にやさしいメリットがあるので、もっと流行っても良さそうなのですが、日本市場での最初の売り込みで失敗したのが未だに尾を引いている感があります。

さて、おすすめの理由です。

まず前提知識。RPAツールには大きく分けて、サーバ型とデスクトップ型があります。まあ、今時どのツールもどちらの要素も兼ね備えていますが、サーバ型出身のAutomation Anywhere、Blue Prismと、デスクトップ型出身のWinActorでは、やはり、違いがあります。

結局は、システム部門や業務改革を所管する部門等の中央で音頭をとって進める形か、それともツールとしては会社で統一するけどあくまで現場手動で進める形か、といったRPA推進体制とも関連してきますが、大企業、特に前者の形態で進めることを想定しているならば、サーバ型発祥のツールを使うべきです。

一方、中小企業や大企業でも後者の形態で進めようとしている組織は、現場で導入しやすい=コストが安い、WinActorが関心を惹くかと思います。WinActorもオプションでサーバ型のような中央管理機能を後から追加できます。ただ、正直、WinActorは個人的にはあまりお勧めしません。その理由は後述します。

まとめ

ここで各ツールのメリット、デメリットを書こうかと思っていましたが、長くなってきたので、一旦切ります。続きは、明日以降で。

・システム開発を目指す人にはお勧めしない
・Excelマクロの次のステップとしてなら考慮しても良い
・いずれにしろ、一般教養として特徴と動向は押さえておくに越したことはない


拙い記事でございますが、サポートしてもよいよという方はよろしくお願いします。著者のやる気アップにつながります。