RPAエンジニアというものを1年やってみて

年も明け、仕事始めにここ最近取り組んでいるRPAの所感を文にまとめようと思う。

 

 以下RPAに取り組むようになった前説

 -------------------------------------------------------------------------------

数年前に小売業である今の会社に転職して、CRMやHPリニューアルやイベント責任者やらをやっていた時、突然当時の専務からの指名で新設されるRPA部門への転属打診があった。

RPAの知識などは全くなく、事務部門なため花のある仕事ではないが、担当者が部長一人と自分一人。完全新設のお試しチームで裁量があり、プログラミングに対する知識も井の中の蛙ほどにはあったためそのまま転属を承諾した。

 

もともとREGOのマインドストーム(※)というロボット制作・プログラミングの簡易版のようなもの(自分が触っていたころとだいぶ変わってしまっているが)で中学時代に大会に出たりもしていたため、ブロックを並べてプログラムを作成するという処理には何の抵抗もなかったことも決め手の大きな要因になっている。

※ レゴ® マインドストーム EV3 31313 | マインドストーム | LEGO.com JP

プログラミング教育やロジックトレーニングに非常にいいので皆さんおススメ

----------------------------------------------------------------------------------

 

以下本題

 

使用しているツールはBizRobo!(※)で、自分の所感ではあるが、他製品に比べて柔軟だがその分カスタマイズが効くため難易度が高い。

rpa-technologies.com

 

基本的にノンプログラミングでJavaが書け、PCを並列で複数台プログラムに沿って動かすことが可能という説明で足りてはいるが、大まかにどのような処理をするかというと

  • Desktop automation
     PCを直接操作するプログラム
  • Design Studio
     ブラウザ操作やエクセル操作などを仮想実行するプログラム

の2種類を使い分け様々な事務処理などをロボット化させていくというものである。

 

利点としては

  • 言語を覚えてプログラムを書くよりも圧倒的に勉強時間が短くて済む
  • プログラム自体の可読性が非常に高い
  • 構築やテストにかかる時間が短い

などが挙げられる。

 

しかしながら、特定のコードをブロック状にビジュアル化し、それを結合することでコードとして成立させているため、細かく見直してレスポンスタイムなどを求めたりすると言語を書くことが一番よいという結論になる。

 

例えばWebブラウザで乗り換え案内を作る場合、レスポンスの速度は例え0.01秒でも重要になってくる。しかし、社内の事務処理において0.01秒よりも制作までの速度、処理の安定性の方が重要になる。

この場合、専門性が高く高価な外部ベンダーなどに依頼するよりも社内で簡易的に作成できた方が圧倒的にコスパがよい。(多くの非IT企業は社内に言語処理ができるエンジニアを持たない)

 

こういう側面から大企業の50%超が導入しているほどのマーケットを持つが、そこまで単純にうまく行かないこともある。

RPAを導入したはいいものの製作者(エンジニア)が育たないのだ。

特に大企業でよくあるのが、導入し担当者を付けたもののなにもわからず、結局担当者を窓口として外部に制作を依頼もしくは常駐させているのである。

 

ノンプログラミングをうたっているとはいえ、やっていることはプログラムの作成であることから、特定箇所の指定にはHTMLのタグを指定するし、抽出処理には正規表現を用いるし、処理の中にSQLやコマンドを挟む場合はそれらを書く必要がある。

また、エクセルの操作は可能だが、大量処理には時間がかかり、できない処理も存在するためVBAを作成し、RPAでマクロをキックすることが結局一番安定したりする。

 

自分自身もRPAの習熟とともに、必要に駆られてSQLPowerShell、マクロを書くこともあったり、社内サーバーについて社内で3番目ぐらい詳しくなったりもした。

 

業務を進めているうちにチーム増強があり、半年前まで接客をしていた人に1からRPAを覚えてもらうように指導することになったが、幸いとてもまじめで素直に覚えていってもらえたため、今では一人でロボットを作成してもらっている。

自分が1から勉強し、また1から指導した立場として言えるのが、RPAツールを扱えるようになるというのは人によっては非常に難しいものであろうということだ。

 

 

RPAは結局のところプログラミングを簡単にしてはいるが、根幹や応用部分においてはプログラミングであることに変わりがなく速度を必要としないコードを書く上で効率的なツールとして優れており教育コストは低いがある程度の適正や知識は必要なものだったと所感をまとめようと思う。

 

 

RPA業務について以前インタビューされた記事があるので追記

RPA推進チーム2名体制で月間3,650時間を創出。情報システム部との連携で体制を整え「全員がRPAを使える未来」を目指す | RPA テクノロジーズ株式会社「BizRobo!(ビズロボ)」