この記事は以下の方を対象としています。
・PythonによるRPA(Pythonによる業務の自動化)を始めたいと考えている方。
・PythonによるRPAを運用するときの注意事項を知りたい方。
※RPAとは、Robotic Process Automationの略です。
プログラムによるロボット処理による自動化、および、そのツールを表します。
本コラムのゴール
今回は、商用ライセンスのRPAとPythonによるRPAを比較し、Pythonのメリット、および、商用ライセンスのRPAを企業に導入するときの方法を参考にしつつ、PythonによるRPAの始め方のポイントを理解できるようにします。
(1)商用ライセンスのRPAとPythonによるRPAの比較
商用ライセンスのRPAとPythonによるRPAについて比較します。
業務の自動化の目的は、作業を効率的に進め、コストを低減することが大きな目的ですので、ツールが無償であるPythonは、自動化の手段として非常に有効だと考えます。
図1 効率化によるコスト低減効果のイメージ
①ツールのコスト
<商用ライセンスのRPA>
年間に数10万~100万円程度のライセンス料がかかります。
<Python>
Pythonは、オープンソースソフトウェアであり、無償で使用することができます。
②習得工数面
②-1 習得のしやすさ
<商用ライセンスのRPA>
ノーコードツールであり、プログラムのパーツを組み合わせて自動化の処理をします。このプログラムに相当するものをシナリオ等と呼びます。ノーコードツールですので、初心者でもシナリオを作ることが可能です。
<Python>
書籍や、インターネット上での情報も豊富にあります。Pythonの場合、プログラミングは必要ですが、初心者でもプログラムを作りやすい言語であると言われています。
②-2 分からないときの対応
<商用ライセンスのRPA>
商用ライセンスのRPAはベンダーが導入教育してくれます。また、多くの場合、ベンダーによるサポートデスク、ヘルプデスクがあります。
<Python>
教育機関としては、Pythonエンジニア育成推進協会の認定スクールがお勧めです。
エラー等、困った場合、インターネット上に多くの情報があります。
続いて、商用ライセンスのRPAを企業で導入するときの方法を参考にしつつ、PythonによるRPAの進め方のポイントを説明します。企業の中での運用という観点で参考になる面があると思います。
(2)導入方法① 商用ライセンスのRPAの場合
商用ライセンスのRPAのベンダーは各社ありますが、ツールは異なっても、導入方法はどこもほぼ同じです。これはツールのライセンス料が、年間、数10万円~100万円程度するため慎重に導入を検討するからです。
商用ライセンスのRPAの導入の流れは、以下の3段階となります。
①PoC:概念検証(Proof of Concept)
②試行
③本格運用
図2 商用ライセンスのRPAの導入の流れ
①PoC:概念検証(Proof of Concept)
RPAの導入により効果があるか検討します。
(A)費用対効果
対象業務を洗い出し、自動化により短縮できる時間分のコストがツールのコストより大きいか、費用対効果を算出します。単一の業務で費用対効果の出せない場合は、他にも自動化できる業務がないか確認します。
主な調査内容
対象業務
対象システム
費用対効果
(短縮効果分の労働時間×単位時間コストとツールのライセンス料、習得工数を比較)
対象システムをRPAツールで操作できそうか
担当者がRPAツールを使いこなせそうか
※初回、お試しで費用対効果を考慮せずにRPAを導入するケースもあります。
(B)運用面
(ルール面)
会社方針によりトップダウンで導入するケースも多くあり、社内にRPAの運用ルールが整備されていることもあります。先行事例があれば、情報を収集します。
(関係部署との調整)
業務用システムを自動操作するにあたり、関連部署を確認します。実際に業務用システムを操作する段階までには、調整が必要となります。
主な関係部署
業務用システム担当部署
セキュリティ部門
登録されているデータの管理部署
業務用システムのID発行部署(※)
(※)同時並行して複数のパソコンで業務の自動化を遂行するため、担当者本人の業務用システムへのログインIDに追加して、RPAによる自動処理用のログインIDが必要となる場合があります。そのとき、単に業務用システムのログインIDの発行ができず、仮の社員IDの発行の手続きをしてから、この仮の社員IDに対し、業務用システムへのアクセス権限の設定という、2段階の手続きが必要な企業があります。実際のところ、このようなケースは多く見られ、これを「ロボットの人格問題」といいます。
②試行
テストライセンスを用い、操作方法の習得とシステムの動作確認を行います。
(A)操作方法の習得
実際に簡単な操作ができるところまで習得します。プログラム(シナリオ)作成を習得できそうか確認します。
(B)システムの動作確認
対象となる業務用システムをRPAツールで操作できるか確認します。RPAツールを導入しても、対象となる業務用システムを動作させることができないと、ライセンスコストが無駄になってしまいます。
※業務用システムによっては、RPAツールのコマンドによる操作が一切できないものもあります。その場合も、画像認識等によって操作は可能ですが、難易度の高い操作となります。
③本格運用
試行の結果、OKとなると、本格運用を開始します。
商用ライセンスのため、毎年、ツールのライセンス料がかかります。
(A)業務の運用
RPAに関する用語に、「野良ロボット」という言葉があります。狭義には、RPAプログラムが意図せず動作してしまうことを言います。広義には、RPAに関して管理のできていない状態のことを言い、以下の例のような状態のことを言います。
(例1)RPAによって自動化することが当たり前の状態となり、何らかの理由でRPAプログラムが正常に動作しないときに、手作業によるバックアップ操作が出来なくなってしまう状態。
(例2)RPAによる自動化に頼り、業務の内容が分かる人がいなくなり、ブラックボックス化してしまう状態。
業務の手順変更等にも対応できるように、管理者を置いて、自動化対象業務の手順書、RPAプログラムの仕様書等を整え、確実に対応ができるようにします。また、担当者変更時、業務の引継ぎだけでなく、RPAに関しても引継ぎができるようにします。
(B)RPAプログラムの管理
RPAによる自動化処理の運用を長く続けていると、業務用システムが改修される場合があります。改修内容がシステムの画面変更を伴うと、RPAが正常に動作しなくなってしまいます。そのようなことにならないように、業務用システムの管理部門から、システム改修に関する事前アナウンスを入手できるようにします。
(3)導入方法② PythonによるRPAの場合
続いてPythonによるRPAの導入方法を解説します。
商用ライセンスのRPAは、企業としてトップダウンで導入するケースが多く見られます。一方、Pythonによる自動化は、同様に企業としてのトップダウンによる場合もあれば、担当者が独学により習得することによりスタートするケースも多く見られます。
前者の場合、先ほどの商用ライセンスのRPAと同様に、企業としての運用面にも確実に対応ができていると思います。
一方、担当者の独学から始まる場合、プログラムの習得に重点が置かれ、企業としての運用面への配慮が漏れてしまう場合がありますので、注意しましょう。
担当者の独学から始まる場合の流れは、以下の3段階となります。
①担当者が独学で勉強
②部署での提案
③本格運用
図3 PythonによるRPAの導入の流れ
①担当者が独学で勉強
(A)習得
Pythonの本は多く、また、無償で始められるので、勉強される方は多くいらっしゃいます。
(B)困ったとき
担当者が独学で勉強してスタートする場合、商用ライセンスのRPAのようなベンダーがいないので、分からない場合(エラー等)について、自分で解決していきます。
インターネット上に多くの情報がありますが、Pythonに関しての情報には、Windowsだけでなく、Macintosh、Linuxの情報も多くあります。業務用にWindowsパソコンを使用し、PythonをWindows上で動かす場合は、その中から、Windows用の情報を見つけ出す必要があります。
②部署での提案
(A)自動化の事例の説明
個人的な勉強から、ある程度、自動化の手ごたえをつかみ、部署での提案をします。Excelやインターネット上のサイトの操作等の実例を紹介し、自動処理を説明します。
(B)運用面
会社視点では、先ほどの商用ライセンスのRPAによる自動化のように関係部署との事前調整等が必要となります。運用面も考慮し、部署で提案されると良いと思います。
企業にRPAの運用ルールの無い場合、自分で運用方法を決めていく必要があります。このように、プログラミング視点だけでなく、運用面の整備も必要です。
独学で勉強してはじめた場合、社内調整の面について甘くなり、部署間でのトラブルとなるケースがあります。せっかく勉強したことを生かすためにも、関係部署との調整を確実に進めるようにしましょう。
③本格運用
(A)運用面
自動処理について、職場でルールを作ります。商用ライセンスのRPAの運用時は、会社としてのガバナンスが行き渡り、仕様書等を確実に残していることが多いですが、Pythonによる自動化の場合も、しっかり管理するようにしましょう。
特に、アジャイル開発のスタイルで改造が繰り返される状況であっても、作業仕様書、プログラム仕様書はきっちり残すようにしましょう。
(B)メンテナンス
先ほどの商用ライセンスのRPAによる自動化のように関係部署との連携をして、システム改修などの情報を入手できるようにしましょう。
また、自動処理用のログインIDの必要な場合は、関係部署に申請します。
業務手順書、プログラム仕様書を作っておくと、引継ぎや、システム改修に伴い、プログラムを修正するときに速やかに対応することができます。
担当者が変わったとき、プログラム引継ぎができるようにしましょう。
まとめ
Pythonは、オープンソースソフトウェアなので、無償で使えることもあり、勉強する方、活用される方が増えています。乗り遅れることなく、この流れの中に入りましょう。
現在、Pythonを使っている方のお話を聞くと、Pythonの将来性を感じて勉強を始めたとのお話を聞きます。現在、人気の高いプログラミング言語であり、将来、活躍の幅が広がることと思います。
今回は、PythonによるRPAの始め方を解説しました。
また、Pythonを活用した自動化ソリューションに興味がある方は以下のページをご覧ください。
https://gw-Python.com/Python-auto
======================
著者:江坂 和明(えざか かずあき)
自動化コンサルタント。
名古屋大学大学院 農学研究科修了。大手メーカに勤務。
製品の研究開発において、統計手法を活用。社内の管理業務に用いる業務用システムの企画、開発、運用を担当。また、業務用システムの運用効率化のため、RPA、Pythonを活用した業務効率化に取り組む。
著書:Python業務自動化マスタリングハンドブック(秀和システム)。