RPA

RPAエンジニアが教える自動化すべき対象業務の事例

rpa-operation-case

今回はRPAに関する入門記事を書きました。企業でRPAの導入を検討されている担当者や、個人でRPAを勉強してみたいと考えている方に読んでいただければと思います。

1. RPAとは

RPAは「Robotic Process Automation」の略で、簡単に言うと、パソコンを使った定型業務(データ登録、集計作業など)の一部または大部分を、ソフトウェア上の仮想ロボットが人間の代わりに処理してくれる技術やツールのことです。

特に、財務・会計システムや販売管理システムといった既存の基幹システムや、Excelやメールなどのオフィスソフトを相互に連携させ、複雑な業務フローを一気通貫で実行することを最も得意としています。

RPAは人工知能(AI)の一種と考えることもできますが、人間の頭脳のように高度な認知や判断ができる訳ではなく、人が教えた一定のルールに則り、物事を忠実に処理してくれるツールとして使われています。

基本的に業務を自動化するシステムを構築しようとすると、プログラミングの知識やスキルが必要になります。当然、今までは、エンジニアの方しかシステムを開発することができませんでした。

しかし、RPAの登場により、ビジュアルプログラミングといって、最小単位のアクションのブロックを繋ぎ合わせることで、処理を自動化させるワークフローを組んでいくことができるようになりました。RPAソフトは、非エンジニアの方でも比較的扱いやすいと言われており、業務を自動化させるハードルが一段と下がりました。

2. RPAの効果

RPAが注目されている主な理由は、日本企業の生産性を飛躍的に高めてくれるのではないかと期待されているからです。と言うのも、日本企業の日常業務の大部分は、パソコンを使用した定型業務(単純作業)であり、未だに人手に頼った人海戦術的な働き方をしている企業が少なくないからです。

2.1. コストダウン

RPAなどの仮想労働者(デジタルレイバー)を活用することで、企業の経費で最も多くを占める人件費を圧縮しようと考える始める経営者や起業家が増えてくることが予想されます。

つまり、人間の代わりに、相対的に安価なデジタルレイバーを雇用することで、コストダウンを実現しようということになります。本気でやれば、人件費をおよそ30~60%削減することも可能です。また、RPAは教えたことであれば、ほぼミスなく忠実に実行してくれます。さらに、文句も言わずに夜中も働き続けてくれます。

現在人間が行っている作業をRPAで代替できるのであれば、将来的にどちらが選ばれるのか真剣に考えてみる必要があるかもしれません。

2.2. 正確さや速度の向上

RPAの効果はコストダウンだけに留まりません。作業の正確さを向上させる効果も期待できます。RPAはプログラムに基づいて処理を行うため、データの計算や集計などは、入力した式や命令が合っていれば正確な値が得られるはずです。

特に金融機関の決算などのミスが許されない業務は、人間よりもRPAが実行する方が正確だと思われます。また、人間もそのようなストレスフルな作業から解放されます。人間はデジタルレイバーが処理した結果を、最終的にチェックすることにだけ集中すればよいことになります。

また、業務の種類によっては、RPAが実行した方が速く処理できることが多いです。特に複雑な計算や集計の作業はRPAが得意とする所です。速度は数百倍から数千倍も違ってきます。

2.3. RPAの注意点

一方で、RPAを使用する上で注意しなければいけない点が幾つかあります。例えば、Webブラウザを使った処理は、画面遷移の待ち時間などがボトルネックとなるため、人間とRPAの処理速度は大して変わりません。

また、通信エラーなどの不具合が発生した場合は、業務が止まってしまうことも想定しておかなければいけません。つまり、「例外処理」の対策が必要になるということです。この対策のコストが意外とかかります。RPAは決して万能ではないということも知っておかなければいけません。その上で、RPAを如何に上手く味方にしていくかが問われるのです。

3. RPAソフトの種類

現在、大きく2タイプのRPAソフトが存在します。一つはデスクトップ型RPAで、もう一つはクラウド型RPAです。

3.1. デスクトップ型RPA

初期に登場したのが「デスクトップ型」のRPAです。パソコンにRPAソフトを直接インストールするタイプになります。メリットは、パソコンに入っている各種アプリケーション(Excelやメールソフトなど)を操作できたり、社内のローカルネットワークに接続している基幹システムなどにアクセスすることができます。

デメリットとしては、RPAを実行している時は、パソコンが占有されてしまうため、他の作業をすることが制限されてしまうことです。また、パソコンのOSや性能、アプリケーションのバージョンが変化することで、RPAの挙動が不安定になってしまう可能性があります。

※デスクトップ型のRPAソフト:
UiPath、WinActor、BizRobo!など

3.2. クラウド型RPA

一方、サービス提供者のクラウド環境にあるRPAを使用させてもらうのが「クラウド型」のRPAです。パソコンにインストールする必要はありません。アカウントを開設すれば、すぐに使えるタイプです。

メリットとしては、パソコンにインストールしないので、どの端末からでもアクセスでき、RPAを実行することができます。また、クラウド上での実行環境が常に同じなので、RPAの処理の挙動も安定していると思われます。さらに、サーバー上で動くため、自分のパソコンが占有されないので、他の作業を並行して行うことができます。

デメリットとしては、パソコンにインストールしている各種アプリケーションをRPAで操作することができません。基本的にはWebブラウザを使用しておこなう業務や、クラウドで提供されているシステムやアプリケーションを使用した業務に制限されます。

また、インターネットから隔離された社内のローカルネットワークにアクセスできないため、社内の基幹システムのデータを扱うことは難しいです。

※クラウド型のRPAソフト:
BizteX cobit、Robotic Crowdなど

4. 対象業務の選定

RPAで自動化するのに向いている対象業務が何か見ていきます。自社の業務一覧リストを作成した後に、どの業務からRPAで自動化していくべきか考える際に参考にしてください。

4.1. 業務の特徴

処理時間×処理回数

RPAで自動化する対象業務を選定する上で、一番はじめに押さえておきたいことは、業務の「処理時間」と「処理回数」の関係です。結論を述べると、できるだけ処理時間が短く、かつ、できるだけ処理回数が多い業務を選定すべきです。理由としては、RPAを活用する上で費用対効果が最も高まるからです。

処理時間が短いことの利点としては、RPAの自動化で作成するワークフローがすぐに完成するからです。目安としては、一回の処理が5分以内で完了する業務が理想的です。

一回の処理が15分以上かかる業務は切り捨てましょう。なぜなら、ワークフローを作成するコストが意外と馬鹿になりません。テストの時間も考慮すると、かなりコストが高くついてしまいます。

現在、RPAのワークフローを作成できる人材(主にエンジニア)が圧倒的に不足しております。また、人月単価も40~80万円ほどと高く、ワークフローの作成を依頼すると費用がそれなりにかかります。

なお、基本的にRPAで業務を自動化する際には、例外処理の対策を盛り込むことが必須となります。例外処理のパターンが多いと、その分追加でワークフローを作成していく必要があり、どんどんコストが膨れていきます。対象業務の処理時間が短ければ短いほど、例外処理の対策やテストが少なくて済みます。この考え方は非常に重要なので、よく覚えておいてください。

次は、処理回数が多い利点ですが、これは単純に業務ボリュームが出やすいからです。日中だけでなく、夜中もRPAを働かせ続けることができるため、簡単な例外処理を仕込んでおけば、一日中繰り返して稼働させ続けることも可能です。

月に数千回以上繰り返すような処理であれば、RPA導入の費用対効果は絶大となるでしょう。比較的すぐに投資コストを回収することが期待できると思います。

人間による認知や判断がないこと

次に考えるべき点は、RPAで自動化する対象業務の中に、人間が認知したり判断したりする行為はないかどうかです。認知の例で言えば、手書き文字のPDFファイルを読み取ったり、画像データに書かれている数字を読み取ったりすることです。

このような認知の行為は、人間が行う分には、特に何も考えることなく簡単にできるのですが、RPAに同じことをさせるには、信じられないくらい難しいということです。

基本的に、RPAは決まったルールに基づいて動作することしかできません。手書き文字や画像データの特徴を自ら認知してくれるような、気の利いたことなどは一切してくれません。もし仮に、認知の処理をRPAにやらせたいのであれば、認知のノウハウを一から手取り足取り教えてあげることが必要になります。しかし、すべてのパターンに対処するルールをRPAに教え込むのは不可能に近いです。

次は判断の例ですが、例えば文章の分類などが該当します。メールの文章を読んだとき、このメールが迷惑メールなのかどうかを判断することです。人間が見れば明らかに迷惑メールだと判断できるケースでも、RPAにそれをさせるのはハードルが異常に高いです。RPAは迷惑メールのサンプルを見せても自ら学習はしてくれません。

残念ですが、RPAに学習能力を期待するのはやめましょう。それは「機械学習」という人工知能(AI)の守備範囲です。従って、RPAで自動化する業務を選定する際には、人間が簡単に行っている認知や判断の行為が含まれていないか絶対に確認しましょう。

もし、認知や判断の行為が含まれている場合は、その部分は人間が対応するように業務フローを分割するか、または「機械学習」の機能を組み込むなどで乗り切りましょう。

4.2. 業務の具体例

ブラウザ操作(webスクレイピング)

RPAが最も得意とするのは、Webブラウザを使った処理です。Google Chromeなどを使って、Webサイトやシステムにアクセスし、そこに表示される情報を収集するといったことです。

また、Web上のシステムにデータを登録する処理なども得意です。人間がWebブラウザを使って行う定型業務であれば、6~9割ほどRPAによって自動化することができます。

ただし、完全にルール化できる処理だけしか自動化することができないので注意が必要です。毎回決まったURLの決まった位置に表示される情報しか取ってこれません。ある条件では右側に表示されるが、違う条件では左側に表示されてしまうなど、処理する度に動的に変化してしまう環境ではRPAは全く使い物になりません。

RPAは一切融通が利かないということを肝に銘じておきましょう。これを忘れて、何でも自動化できると考えてプロジェクトを進めていくと、後半でほとんど自動化できなかったという結果に陥ることになります。RPAの限界を知っておくことが、RPAを活用する上で最も重要なことです。決して、RPAに踊らされないように気をつけてください。

CSVファイルやExcelシートの操作

Webサイトから取得してきたデータをExcelなどのスプレッドシートに保存することは、比較的よく行われる処理です。Web上のシステムからCSVファイルをダウンロードしてきて、中身のデータを取り出し、加工してから保存したり、他のシステムに登録するデータとして使いまわすことも日常的に行われています。

また、予めExcelシートに保存しておいたリストを用いて、Web上のシステムにデータを登録させていくといった処理もあるでしょう。さらに、RPAの処理結果やエラー内容を管理シートに記録しておきたいという要望もあると思います。これらの処理は、RPAを使えば簡単に実現することができます。

ただし、Excelシートのあるセルのデータを読み取り、加工して他のセルに貼り付けるなどの、Excel内部でのみ完結する処理をRPAにやらせるのは絶対にNGです。

なぜなら、RPAに複雑で細かい処理を実装させるには、かなりの作成コストと管理コストがかかるからです。Excelなどのスプレッドシートは、あくまでデータの保管場所としてのみ使用すべきです。スプレッドシート内で完結する複雑で細かい処理は、最初からマクロなどの機能で実装すべきです。

この辺りを勘違いしてしまうと、後々、取り返しがつかないほどのダメージを受けることになります。必ずと言っていいほど、後悔することになります。誰もワークフローの中身を把握できず、改修することが不可能になるのは目に見えています。絶対にこれだけはやめておきましょう。

メール送受信とテキスト処理

ビジネスにおいて、情報の伝達手段としてメールを使う頻度は多いでしょう。受信したメールの内容をもとに、業務の処理を開始することはよくあります。また、業務の完了報告をメールで送信する機会も多いと思います。何かしらのトラブルが発生した場合に、担当者にメールで通知することも欠かせません。

RPAにおいて、メールの取扱いは比較的容易です。メールの送信処理については、宛先、タイトル、本文のインプットが決まっていればすぐに実行可能です。メールの受信処理については、該当するメールを探す検索条件(差出人、日時、タイトルなど)さえ正しく指定することができれば特に問題はないでしょう。

それよりも重要な事は、メールの本文を読み取った際に、その文章の中から特定の情報を引っ張り出してくることが一番やりたいことだと思います。これは「テキスト処理」といって、少し難易度が高くなる処理です。なぜなら、テキスト処理のほとんどが、プログラムを書く必要があるからです。

また、「正規表現」と呼ばれるパターンマッチングの知識も必要不可欠になります。おそらく、非エンジニアの方は、この部分で確実に挫折することになるでしょう。解決策としては、覚悟を決めてテキスト処理を一から勉強するか、最初から諦めてエンジニアの方に依頼するしかありません。

プログラミングができなくてもRPAは使えると言った意見がありますが、これはほぼ100%噓です。それなりに複雑な業務を自動化する上では、絶対にテキスト処理を避けることはできないからです。一つ助言をしておきます。ここをクリアーできる、テキスト処理に強い人材を早く味方につけておきましょう。

まとめ

今回はRPAを導入する上で、または勉強する上で重要になる内容を書きました。実際にRPAを使って試行錯誤し続けているからこそ書けるリアルな内容になっていると思います。

個人的にはRPAはそこそこ使えるツールだと感じています。ただ、意外と弱点も多いため、上手く使いこなすには相当のスキルが必要になります。残念ですが、誰でも簡単に使えるものではありません。

個人差はあると思いますが、基本的な使い方であれば3ヶ月も実践で使えば、Webブラウザを使った簡単な業務であれば自動化できるようになると思います。

しかし、Excelなどのスプレッドシートを使った業務や、テキスト処理を伴う業務になると、どうしてもプログラムを書く必要があるため、非エンジニアの方にはかなり厳しい内容になると思います。

プログラミングのスキルを習得すべきか、または割り切るべきかは個人の判断にお任せします。

最後に、RPAの参考図書を紹介しておきます。RPA業界の知識がさくっと得られると思います。

RPAの威力 ~ロボットと共に生きる働き方改革~