RPAってｘｘｘ？

#はじめに・・・
RPA業界？に移籍してきて約一年。
私自身RPAを日々活用しており、また、様々な提案先のお客さんとも会話してきました。
その中で気づいたことを、他の方々の参考になるかどうかは分かりませんが纏めてみます。

#RPAって何が出来る？
そもそもRPA=Robotic Process Automationですので、「ロボットを利用したプロセスの自動化」ということになります。
そういう観点で言えば、一般的に「RPA製品」と呼ばれている物だけではなく、様々なITソリューションはこのカテゴリに入りますかね。。。。各種SaaSしかり、IPaasしかり。

まぁ、話を戻しますが、一般的に「RPA製品」と呼ばれている製品で何が出来るのか。
良く聞くのは、

1. Webから情報取得しシステムへ入力や情報共有
2. エクセルのデータ集計
3. 注文や請求伝票データの登録
4. システム間のデータ連携
5. メールなどを利用した情報配信

といったような事柄に用いられていると思いますが、様々な導入事例等を見ていると、

6. コンタクトセンターのオペレータ用インターフェース
7. ERPマスターデータのメンテナンス
8. 製品テスト
9. サービス稼働状況確認
10. システムログの解析
11. セキュリティ監査チェック

といった、多岐に渡る自動化にも用いられています。

会社の中で活用が広がらないといったとき、
会社の理解が得られなくて広がらないという不幸なケースも多々耳にしますが、
スモールスタートが良いとして、デスクトップベースのRPAを入れたところから始まった為に、
他のRPA製品ならばできる事を出来ないと思い込んでしまっていたというケースも見受けられます。

RPA製品は日進月歩で機能追加され、自動化できる事が広がり続けています。
是非、最新の情報を取り入れながら自動化を広げてください。

##PRAってオールマイティ？
何でもかんでもRPAで自動化が可能か？と言われれば、私の答えはNOです。

まず技術的な観点。
良く聞かれれるのですが、自動化対象のWebサイトが更新されたり、アプリケーションのバージョンアップが行われた場合です。
RPA製品によっては、対象のオブジェクトIDを掴んでの処理になりますので、
多少のレイアウト変更等があったとしても影響ない場合もありますが、RPAが自分自身で変更に追随することはありません。
なので、あまりに頻繁に変更が入るようなケースの自動化は要検討かと思います。

そして、既にシステム間連携やアダプター等がソリューションとして提供されているケースも、
確実に動作するソリューションがあるのであれば、そちらを採用するということも検討すべきかと思います。

道は一つではないことが多いので、それぞれの道を調べたうえで、通るべき道を選択すべきです。
手作業のまま残すというのも、一つの道ですね。

次に、費用対効果の観点。
全社のプロジェクトチームで検討して導入するケースであれば、当然、自動化効果の高さと自動化難易度の兼ね合いから決めていくことになりますので、そこから外れるようなケースも難しいかと思います。

ただし、外注で開発するのでコストが高くつき、結果として対象範囲が狭まってしまうというのであれば、
もったいないので、社内の人で開発できる容易性を持ったRPA製品も検討してみてもらいたい所です。

#RPAって簡単？

開発のしやすさについてはかなり改善してきていますし、
製品によっては「RPA開発って簡単？」に対してはYesと言えるようになってきているのではないでしょうか。

しかし、製品の対象ユーザーをエンジニアに置いているような製品であれば、かなりプログラミング的な知識も必要となりますし、
そうでなくても、より高度なことが出来る製品になればなるほど、機能やコマンドが多くなりますので、
その知識は必要となります。
そして、当然、プログラミング・システム開発的な側面もありますので、そういった考慮もする必要があります。
ですので、「簡単」を謳い文句にしている製品であっても、
プロジェクトチームを作ったり、チャンピオンと呼ばれる詳しい人を育てるのは重要ですね。


#RPAって、どんなスキルが必要？

どんなRPA製品でも共通して必要となるスキルがあります。

###ロジックで考える力
殆どのRPA製品では、コマンドを選択してつなぎ合わせていく形の開発になります。
プログラマーであれば最初からそういうものと捉えられるかと思いますが、
これからRPAを始めてみようと考えている業務ユーザーにとっては、何から始めたらよいのか戸惑われるかと思います。

まず、業務で行っている作業を、一つ一つのステップに落とし込んで考えていく事が必要となります。
例えば、「最新の株価を取得して配信する。」といったプロセスであれば、
１．ブラウザを開く
２．Webサイトの該当ページへ移動
３．場合によってはそのWebサイトで検索
４．Web上で欲しい情報（テキスト、表などなど）を探して、結果を取得
５．取得した情報を加工
６．ファイルに保存
７．配信先一覧を取得
８．メールの件名、本文を設定し、ファイルを添付して順次配信
といった形で、RPAが提供しているコマンドレベルまで分解していきます。

以前、自分の子供向けに購入した絵本で「ルビィのぼうけん」というものが有ります。
https://www.shoeisha.co.jp/book/rubynobouken/
こういったところから入っても良いですね。

また、こちらも子供向けとして作られたものですが、「Scratch」というGUIプログラミング言語があります。
https://scratch.mit.edu/
予め準備されたコマンドをつなぎ合わせて、絵を動かしたりできます。
いきなりRPAから始めるのではなく、こういったところから入るのも良いかもしれません。
Automation Anywhere A2019の開発画面は、コマンドが違うだけでScratchそっくりだったりします。

###利用しているRPA製品で提供されている機能と、コマンドの把握

RPAの開発はコマンドを組み合わせて作る ＝　ちょっと高度なブロック（玩具）といっても良いかもしれません。
そうした時に重要なのは、
何を作るのかという全体像の認識と、それを作る為のパーツが揃っているかです。
パーツが足りなければ組み上げられません。

利用しているRPA製品で提供されている機能の把握と、
どの様なコマンドが標準で提供されており、どの様なコマンドがマーケットにあり、どの様な開発、外部連携が可能なのか。
実際に触って動作確認するところまでは必要ないかもしれませんが、
RPAを活用する上では必要な知識になるかと考えています。

#RPAって楽しい？

最後になりますが、結局のところどうなのかと聞かれれば、「RPAって楽しい！」です。
自分自身で作業していてめんどくさいなぁと思っていることが、ある時突然やらなくて済むんです。
作業をロジック化して組み上げていくのは、めんどくさい側面もありますが、出来上がって思った通りに動いたときは嬉しいですよ。
「色々教え込んだ新入社員が独り立ちしてくれた」って感じでしょうか（笑）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/615564/10d8e666-a448-07a1-b15c-a1adfe7b4517.png)