2022.01.01
オンダ国際特許事務所におけるRPA活用の取り組み
(パテントメディア2022年1月発行第123号掲載)
企画推進部の伊藤と申します。今日、世間で関心の高いRPA(Robotic Process Automation)についてオンダがどのように導入し、活用してきたかについて紹介します。何かしらみなさまのヒントになれば幸いです。
(各社が提供する製品の情報など、最新のものと相違する場合があります。より正確な情報については、それぞれが提供する最新のものをご参照ください)
◆RPA導入のきっかけ
小職は、オンダのシステム開発部という部門に、2019年8月まで所属しておりました。RPA導入のきっかけは、その折の2017年3月に遡ります。
当時のシステム開発部は小職を含めてシステムエンジニア(SE)11名で、所内の(1)システム開発 (2)システム保守 (3)インフラ整備 (4)ユーザサポート を部門の役割として、所内のさまざまな業務の効率化や自動化に取り組んでいました。基本的にプログラム開発や処理のバッチ化、マクロ整備などによって実現していくわけですが、中にはパソコン画面の操作を自動化すると具合のいいことがありました。そのような経緯で、小職としては画面操作を自動化する意義を十分に認識していました。
2017年3月のある日、DMかWEBの記事でRPAのことを知りました。「Robotic Process Automation」などと言われてもピンときませんでしたが、小職としては「これは使える!」と直感した瞬間でした。
そこでRPAについて調査を始めたところ、「BizRobo!」というソフトがものすごい勢いで伸びているらしいことを知って、さっそくWEB会議にて同ソフトを説明していただける機会を設定しました。
そのWEB会議でのベンダの説明では、「BizRobo!をサーバにインストールして各端末でRPAのシナリオ開発ができる。RPAはサーバ側で動作する」とのことです。ただ、その費用感が問題で、確かひと声1000万円~ とのことで、中小企業の当所としては「ムム・・・」という感じでした。これが2017年4月のことです。ちなみに、RPAでは業務を自動化する手続きを記録保存したものを「シナリオ」と呼んでいます。
BizRobo!は外国生まれのRPAツールをもとに日本企業向けに改良されたソフトです。当時、マニュアルは英語しかない、とのことでした。
それから少し経って「WinActor」の存在を知り、代理店に来所してもらって説明を受けました。その結果、「これならイケる!」と確信しました。
WinActorは、Windowsデスクトップ上で動作し、ソフトのライセンス費用がフル機能版で年間908,000円、実行版で同248,000円、いずれも毎年かかるとのことです(メーカー希望小売価格)。これでも十分に高額ですが小職としてはペイできると思っていました。フル機能版とはシナリオ開発を含むすべての機能が含まれているライセンスで、実行版とは開発ができずシナリオを実行するのみのライセンスです。
実はこの価格設定、人件費を多分に意識したものだと思われます。もし、このWinActorで開発したシナリオ=ロボットが年収200万円のパートさんの代わりをしてくれれば毎年110万円ほどの経費を削減できます。ましてや、年収が300万円、400万円の人の代わりをしてくれれば経費の削減効果はさらに大きくなります。代理店から受けた説明は、WinActorにその可能性があることを感じさせるのに十分なものでした。
それからあとは、以下に示すとおり、WinActor導入に向けてまっしぐらです。当時、ほかにもRPAソフトはありましたが、純国産でスモールスタートができるWinActorの導入に迷いはありませんでした。
2017年7月 RPA(WinActor)セミナ参加
2017年9月上旬 2か月評価版(有償)申込み
2017年9月下旬 操作説明研修会実施(SE対象)、評価版使用開始
2017年11月 製品版購入(フル機能版1L、実行版1L)
2017年12月 第1号シナリオ完成、運用開始
2019年4月 20シナリオを運用
2019年11月 実行版1Lを買い増し
2020年11月 27シナリオを運用
2021年4月 フル機能版1Lを買い増し
2021年10月 40シナリオを運用
これらのシナリオはプログラミングスキルのあるSEがほぼ1名で開発したものです。
参考までに、以下に、現状、当所で稼働しているシナリオの事例をいくつか紹介します。
・異なるシステム間でのスケジュールデータの同期
・受信メールの担当者割り振り支援
・当所管理の審査請求データを商用DBのデータと突き合わせてチェック
・システムへの書類の自動登録とその事後処理(メール送信)
:
このように、RPAシナリオは既存の複数のシステム間を橋渡しする処理が得意だといえます。
なお、WinActorの値決めは人件費を想定していますので、複数のライセンスを購入すると毎年毎年多額のライセンス費用がかさんでしまいます。便利だからとやみくもにライセンスを増やすことは何体ものロボットを雇っていることと同じで、のちのち費用負担がたいへんなことになります。しかも、いったん雇い始めて運用にのったロボットはその便利さゆえに解雇することは非常に難しくなります。オンダでは経費を極力少なくするためにライセンス数を最小限にとどめて運用する工夫をしています。
◆RPAソフトの選定
前述のような経緯で、オンダではWinActorを導入しました。本記事ではRPAソフトとしてBizRobo!とWinActorの2つのみを紹介していますが、この2つを比較するだけでもいくつものポイントが浮かびあがってきます。
BizRobo! (Basic) | WinActor | |
初期費用 | 高額 | スモールスタート可 |
動作環境 | サーバ側で動作 | パソコン側で動作 シナリオ実行中はパソコン操作 不可 |
画面要素の認識 |
十分? ブラウザ系が得意 |
多彩 Windowsアプリ系が得意 |
シナリオ統制 | 容易 | 困難(導入当時) |
シナリオ開発者 | 一般ユーザには少々キツい? | 一般ユーザにも可能? |
※このほか、コードベース/フローベース、部品化可否、サポート、拡張性などもポイント。
予算や企業規模、開発者の属性や人数、利用端末、など、さまざまな要因が絡んでソフトの選定は必ずしも容易ではないと思います。この2つ以外にもRPAソフトはありますし、フリーソフトもあります。近々ではMicrosoft社が「Power Automate Desktop(PAD)」というRPAソフトをリリースしています。詳細は調査中ですが、有望なツールであることは間違いないでしょう。
こうした多様なソフトのおかげもあって、当所に導入したWinActorにも値引き圧力がかかっているものと思われます。
◆誰がシナリオ開発をするか?
開発者をプログラミングスキルのあるSEとするか、SE以外の一般ユーザとするか、は大きな分水嶺となります。ただし、いずれか一方のみに決めないといけないというわけでもありませんので各社各様で方針を決めればいいと思います。BizRobo!のようにサーバ側で動作するツールでは複数人が使用できる環境になっていて、初期導入費用は大きいですがさまざまな人が活用できるようになります。比較的大きな企業ではこのケースが多いように思います。その一方で、前述のようにオンダでは1名のSEが少しずつシナリオ開発をしてきました。
もちろん、一般ユーザの中にはExcelマクロの達人のような方もいらっしゃいますし、そのような方がシナリオ開発に取り組めば個人レベルでの効率化は大いに図れると思われます。ただ、個人レベルの業務を、少し俯瞰して業務プロセス、業務フローの一部分としてみると、その効果は限定的にとどまるといわざるをえません。また、同じようなシナリオを別の部門でもつくっていた人がいた、などということもありがちな話です。
ちなみに、よくRPAソフトのうたい文句で「プログラミングスキル不要」的な表記を見かけますが、それは個人レベルのシナリオを対象とした話であって、SEが開発する業務レベルのシナリオとは別物だと小職は考えています。
なにしろ、RPAのシナリオは思いのほかよく止まります。なるべく止まらないような構成のしかた、止まったときに対処しやすい構成のしかた、を実装するのはやはりプログラミングスキルを持ったSEの独壇場です。
小職は、個人レベルで作成したものを「現場シナリオ」、SEが業務プロセス、業務フローを意識して開発したものを「システムシナリオ」、と勝手に呼んでいます。どちらがいいというわけではありません。企業ごとに、職場ごとに、また目的ごとに、マッチするシナリオ開発のかたちがあっていいと思います。
オンダではすべてのシナリオがシステムシナリオです。シナリオ数の増え方が緩やかなのは1つ1つのシナリオの作り込みに工数をかけたシステムシナリオだからです。
RPAの導入がなかなか思うようにすすまない、という声を聞くことがありますが、こうしたケースでは現場シナリオとシステムシナリオとを区別しないで同等のものとして議論していることが少なくないのではないかと小職は推察しています。
◆シナリオ開発と統制
先に、BizRobo!とWinActorの2つのRPAソフトを比較しました。
両者ともそれぞれウィークポイントがありますが、各々がそれを徐々に改善してきています。
前者は「BizRobo! mini」という製品を出してスモールスタートができるようにしています。これはWinActorと同じようにパソコン側で動作するようにしたものです。
一方、後者はそれぞれのパソコンで動作するシナリオを管理するために「WinDirector」をリリースしています。これは、WinActorで開発されたシナリオを統括して管理するソフトです。
シナリオ開発を始めると気づくのですが、数が増えてくるとシナリオを適正に管理=統制する必要に迫られます。この傾向は現場シナリオを指向している場合に顕著です。作成者が複数いる場合にはなおさらで、同じようなシナリオを作成していないかとか、それらを見つけて統合した場合に使われなくなったシナリオが放置されていないかとか、管理のネタには事欠きません。こうした統制から外れたシナリオは、「野良ロボット」などと呼ばれたりします。野良ロボットは動作不良や処理ミス、あるいはリソース冗長の温床になります。したがって、野良ロボットが数多く存在するような環境では業務を適正に効率化できない場合も出てきて、決して好ましい状況とはいえません。
やはり、作成者やシナリオ数がある程度増えてくると適正な統制は必須となります。WinDirectorがリリースされたのは、そのような事情の現れなのです。
◆RPAと業務アプリケーション
ここからはRPAソフトとしてWinActorにしぼって話をすすめることにします。
WinActorは画面操作をシナリオに沿って自動化するツールです。ところが、この「画面操作を」の部分は今、やろうとしている目的を達成するために必須なのでしょうか?答えは「否」です。
つまり、なんでもかんでもWinActorで自動化するのは最適の策とはいえません。
何かをコンピュータ処理させるには業務アプリケーションを開発するという選択肢があります。業務アプリケーションではユーザインタフェースとして最低限の画面があればあとはサーバなりパソコンなりが自動で処理をしてくれます。処理結果についても、必ずしも画面出力する必要はなく、データを収めるところに収めればおしまいとしてかまわないことが多々あります。
もうお気づきのことと思いますが、効率化のためにRPA一辺倒では結果として非効率になりがちです。RPAの得意なこと、業務アプリケーションの得意なこと、をそれぞれ理解したうえで、対象としている業務プロセスに必要な処理ツールを用意した方が効率化には圧倒的に有利です。
オンダでは、SEが各部門の業務プロセスと業務フローを十分把握したうえで必要なRPAシナリオや業務アプリケーションを設計します。時には、既存の業務アプリケーションを修正してRPAシナリオが動作しやすいように調整することもあります。
このように効率化をすすめることができるのは、所内に専属のSEをかかえているからこそであり、現場とSEの距離が近いからこそ実現できているといえましょう。
また、RPAシナリオはよく止まりますので、まめなメンテナンスが必須です。この点においても、外注にシナリオ開発を依頼する場合に比べてオンダでは恵まれた環境にあるといえます。
◆RPA(WinActor)のメリット、デメリット
ではRPAソフトとしてのWinActorを使うのは何がメリットで何がデメリットなのでしょうか?
繰り返しますが、WinActorは画面操作をシナリオに沿って自動化するツールです。すなわち、人間が行っているパソコン操作をシナリオとして定義して自動でやってもらう仕組みです。
サーバ側ではなくパソコン側で動作するという意味でWinActorはRPAと区別してRobotic Desktop Automaition(RDA)ツールであると分類される場合もあります。これまで述べてきたように、これはとても重要なポイントでWinActorを特徴づけています。
メリットとデメリットを一覧表にしてみましょう。
メリット | デメリット | |
端末操作 | ゆっくり動作させれば操作をトレースできる。 | 動作中は画面(パソコン)を占有してしまう。 |
経費 | 人件費を削減できる。 |
毎年、維持費がかかる。 ライセンス数を増やすと費用がかさむ。また、いったん運用が定着すると止めることは非常に難しい。 |
OS | - | Windows以外では動作しない。 |
画面要素 認識 |
Windowsアプリの画面要素認識が多彩。 | 画像マッチングでは、画面解像度などの影響を受けて認識が怪しくなる。 |
処理 | 繰り返し処理が得意。 |
思いのほか、よく止まる。 画面操作を自動化しているため処理をあまり高速にできない。 夜間のバッチ処理の場合、途中で止まっていると翌日の業務に影響を及ぼす。 |
シナリオ開発 | コードレスで開発できる。 WinDirectorを導入すればシナリオの統制(管理)ができる。 |
デバッグが難しい。 エラー処理が難しい。 処理の部品化ができない。(導入当時) 処理の正確性、確実性を追求すると開発の難易度が上がる。 シナリオ統制をする場合には余分な費用が掛かる。 |
シナリオ保存 | 基本的にローカルに保存する。 クラウド保存ではないので、クラウドを信用していない場合には安心感がある。 |
クラウドやサーバへの保存ではないため、意識してバックアップする必要がある。 |
パスワード入力 |
シナリオ内に実装して自動化できる。 |
漏えいリスクが増える。 |
◆オンダにおけるシナリオ開発の実際
前述のとおり、オンダではSEがシナリオ開発をしています。
WinActorを導入した当初は、手かずのかかっている業務はたくさんあるし、効率化、自動化のネタはざくざくあるだろうと思っていました。ところが、各部門に呼びかけをしてもなかなかシナリオ開発の要望があがってきません。所内では「RPAって何?」という時期でしたのでやむをえない面もありますが、それにしても出てきません。そもそも現場は日々の業務を回すことに精いっぱいで、RPAどころではないのです。
そこでまず、自分たちの業務、つまりシステム開発部の業務で自動化できそうなものはないか探してみました。検討した結果、工数的にはそれほどかかっていないものの毎日必ず実行しているルーチン業務をWinActorのシナリオにやらせてみることにしました。
さしあたり、人のやっている作業を書き出してみます。メールサーバからアカウント情報をダウンロードして所定のフォルダに保存する作業です。
ブラウザでログイン画面を開く
↓
開いた画面にユーザ名とパスワードを入力して
ログインボタンをクリックする
↓
開いた画面で、アカウントの差分情報を
CSVファイルとしてダウンロードするボタンをクリックする
↓
開いてきたダイアログでファイル名を指定して
保存ボタンをクリックする
↓
ダウンロードが完了したら、
ブラウザで開いている画面をログアウトしてブラウザを閉じる
ごく簡単な処理だったつもりが書き出してみると思いのほかたくさんの操作が必要になることがわかります。人はベースとなるさまざまな情報を前提にしてテキパキと操作していることがわかります。
さらに、
・インターネットに接続できていなかったら、あるいは接続が安定していなかったらどうなるのか?
・パスワードはシナリオに覚えさせてしまってよいものか?
・昨日のデータが残ったままでもきちんと動作するか?
・指定のフォルダが存在していなかったらどうなるのか?
・処理の途中でOSやほかのアプリから予期しないポップアップ画面が表示されたらどうなるのか?
・操作元の画面構成が変わってしまったら動作するか?
など、懸念される事象があとからあとから出てきます。
また、WinActorは画面操作を自動的に行ってくれるものなので、所望の操作を対象の画面上で安定して行うためにはその画面が「フォーカス」、つまり一番上に表示されていないと不都合なことがあります。これはRDAたるWinActorのとてもやっかいな点で、シナリオが思いのほかよく止まる原因の1つになっています。
このように、WinActorでは本質的に処理の不安定性をはらんでいますので、その処理をシナリオで実行すべきなのか、それともほかの方法で処理すべきなのかはとても重要な判断になります。
こうした知見が得られたこの1つめのシナリオ開発は、工数削減効果以上にそのあとのシナリオ開発にあたっての大きな経験になりました。
また、たとえば夜間のバッチ処理などを想定すると、シナリオが止まった場合にそれをメールで通知してくれるような仕組みがほしくなります。このように対応しようとするとメールの仕組みやメールソフトについての知識が必要です。
これらの理由で、オンダではやはりSEがシナリオ開発をするべきであると考え、以下のようなフローにしたがって開発をすすめています。
ポイントは条件分岐の部分で、RPAで対応するのか、それ以外の手段で対応するのか、をSEが柔軟に判断できるところにあります。また、RPAはシステム開発部が作成した業務アプリケーションを操作する場面も多々ありますから、場合によってはRPAを動かしやすいように業務アプリケーションを改良することもできます。さらに、業務プロセスや業務フローをもっと俯瞰して見ることによって、それらの見直しによる運用改善がみえてくることもあります。この場合、業務アプリケーション改良と併せて、その運用における最適化したRPAシナリオの開発をすることで劇的な業務効率化を実現できることもあります。
これも、オンダにおける各部門(現場)とSEとの距離が近いからこそなせるコラボレーションといえます。近年ではこうしたコラボレーションを、所内で活発に取り組んでいるQC活動としてすすめているケースも多くなっています。
さらに、1つめのシナリオ開発を通じて、日毎のルーチンワークをRPAで自動化することは工数低減以上の効果があることもわかりました。「やらなきゃいけない」「忘れちゃいけない」という状態は想像以上に心理的なストレスになっていて、これから解放されるメリットは小さくありません。こうした自動化を積み重ねてストレスから解放され、落ち着いた状態でより創造的な業務に取り組める環境を整えることは、生産性アップのためにもとても重要です。
◆AI、そしてDXへ
夢は拡がります。
RPAのみならず、AI(人工知能)、DX(デジタルトランスフォーメーション)といった英字略語が世にあふれるようになって久しいですが、読者のみなさんの周辺はどのような状況でしょうか?
特にDXについては、その意味するところがあやふやなまま使用されていないか? もしかして100人100様の認識ではないのか? と小職としてはいささかいぶかしく感じています。「デジタル技術による変革」などと説明されますが、これとてみながみな同じ認識とは思えません。
小職としては先に紹介した、業務アプリケーション改良とRPAシナリオ開発の合わせ技を伴った業務プロセス、業務フローの見直しはオンダ流ミニDXだと認識しています。
そしてさらに、処理を自動化するということはデータの蓄積が容易になるということです。
日々、蓄積される業務情報のビッグデータにAIを活用することによって、業務調整や優先順位をサジェストさせたり、ミスの発生を警告させたり、営業の指針や日々の指示書などに何かを反映させたり、といったことができたらおもしろいと思いませんか? もちろん、簡単にできることではありません。ただ、小さい進歩を1つ1つ積み重ねていった先に、振り返るとDXが実現されていたと思えるときがくるのではないか、などと小職は考えています。
そのとき、より多くの人が、より快適な環境で、より創造的な仕事に取り組めるようになっていることを妄想しながら、日々の業務にいそしんでいます。
また、オンダにおけるこうした取り組みが、企業のみなさまの何かしらのお役に立てるのであれば、知的財産分野ではもちろんのこと、その枠を超えてお手伝いする可能性も探っていきたいと考えています。
※登録商標
・WinActorはエヌ・ティ・ティ・アドバンステクノロジ株式会社の登録商標です。
・WinDirectorは株式会社NTTデータの登録商標です。
・BizRobo! は、RPAテクノロジーズ株式会社の登録商標です。
・Microsoft、Windows、Excel、およびPower Automate Desktopは、Microsoft社の登録商標です。