Google APIとPythonで低コストRPA -はじめに-

以下の投稿は、自社でOSSとPythonを組み合わせてRPAを実施したシステムエンジニアが感じた、RPAの現状の問題とその解決策の概要です。また、あくまで個人的な意見です。

低コストRPAを試みた背景

エンジニアの現場に止まらず、近年ではRPAを駆使した業務改善が試みられています。職場にもよりますが、RPAの一般的なプロセスとしては以下のようになると思います。

(RPAのプロセス)

  1. 現在の業務内の課題の洗い出し
  2. 業務内容の改善とRPAツール適用の要件定義/設計
  3. RPAツール内の開発/セットアップ
  4. RPAツールの運用/保守

プロセスの2段目から出てくるRPAツールのPackageとして、有名なものは様々なものがあり、書籍も多く発行されています。
私の現場でもこれらを導入することを検討しましたが、以下の理由からこれらのRPAツールを導入することが一旦見送られました。

(RPAツールの問題)

  • 問題1: 初期導入/運用のコストが高い
  • 問題2: 初見のRPAツールを使いこなすのに時間がかかる
  • 問題3: そもそも課題の洗い出しと業務改善が大事

この問題に対して、私の出した結論は「OSS(オープンソース)とGoogle APIを駆使してRPA」を実行することでした。なぜこの結論が先述の問題への解決策になるかは以下の通りです。

(OSS×Google APIの選択理由)

  • 理由1: OSSはもちろん、Google APIも特定の機能は無料である
  • 理由2: 多くの作業はGoogle Apps(もしくはMS Office)で実施されておりユーザーの親和性が高い
  • 理由3: 要件が変わった際にOSS言語であれば対応が柔軟に可能である

こういった理由が現状のRPAツールの欠点をカバーすると考え、私の現場ではOSSとGoogle APIを利用して業務改善をすでに複数実行し運用しています。

一方で、私は現状の数あるRPAツールを否定するつもりはありません。
RPAツールは優れたGUIや管理ツールやセキュリティ、要件定義/設計/運用保守を実施するコンサルタント/SEが付加価値として存在します。

私の意図としては、作業効率の改善にあまりお金がかけられない中小企業や学生が手軽にRPAする手助けになればと考えています。

問題と解決策の詳細が気になる方は後半に掲載します。
また、今後OSS(Python/Selenium)とGoogle API(Spread Sheets/Slides)を連携させた例をScriptを交えて投稿する予定です。

一般的なRPAの問題

問題1: 初期導入/運用のコストが高い

RPAツールは複数存在しますが、大体のPackageは年間で数百万円のライセンス料がかかります。
また、「業務内容の改善とRPAツール適用の要件定義/設計」のような業務をコンサル/SIerに頼むと初期費用は数百~数千万円かかる可能性があります。
これは、年間数百億円利益を出している大企業なら可能かもしれませんが、多くの企業は導入を躊躇ってしまうと思います。

問題2: 初見のRPAツールを使いこなすのに時間がかかる

RPAツールは、導入コンサル/エンジニアでもない限り普段接することはありません。
しかし、RPAツールを運用するとなればはじめからトレーニングをし、使いこなせる必要があります。
ツールによっては公式で研修が実施されているようですが、ユーザーにとっては時間/費用がコストとしてのしかかる可能性があります。

問題3: そもそも課題の洗い出しと業務改善が大事

前述の「RPAのプロセス」にも書きましたが、RPAに大事なのは「1.現在の業務内の課題の洗い出し」と「2.業務内容の改善」であり、RPAツールはあくまで手段です。
ですが、RPAを導入検討する企業には、ツールを選定してから適用可能な業務領域を探す企業も見られます。
まずは、「従業員が業務の中で何に困っているのか」に焦点を当てるのが大事ですが、RPAツールの魅力や風潮から目的と手段を間違える可能性があります。

OSS×Google APIの選択理由

理由1: OSSはもちろん、Google APIも特定の機能は無料である

私が主に自社のRPAに使用したOSSはPythonとSeleniumです。これらはオープンソースなのでもちろん無料ですが、Web Browserの操作からAPIとのデータIFとなんでもできます。
また、Google APIに関しては、主にSpread Sheets/Slidesを利用しています。これらのAPIは無料でCallすることができます。(2019/10/22時点)

理由2: ユーザーの親和性が高い

私は以前、ITコンサルタントを経験し複数のお客さん企業の現場を覗いていました。
そこでわかったこととしては、多くの企業は集計作業の際にExcel、報告の際にはPowerPointを使用しています。
近年ではGoogle Appsが台頭しており、私の会社でもGoogle AppsとMS Officeが併用されて多くのユーザーが実務で使用しています。
ここから言えることとしては、RPAで使用するツールをGoogle Apps(もしくはMS Office)にしてあげれば、多少の運用は変わりますが多くのユーザーが慣れ親しんだGUIで作業を続行することができます。

理由3:要件が変わった際にOSS言語であれば対応が柔軟に可能である

どの業界/業種でも日々の運用というのは徐々に変化していきます。そして、ある日新しい業務が発生することも稀ではありません。
もし、その業務が以前の業務と似ているものの細かな点が異なる場合には、OSS言語で汎用的なClassを作っておけば流用/カスタマイズが可能です。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away