横浜市 RPAの有効性検証に関する共同実験報告書の1つを見る

RPA の有効性検証に関する共同実験 報告書 - 横浜市 ブログ

自分の中で話題になった、横浜市RPAの有効性検証の記事(PDFはこちら)から1つやってみようと思います。
導入した業務で平均84.9%削減(IT Leaders記事)とか、「RPA凄い!」「プログラムしなくてもいい!」といった話題作りかと思いますが、複数企業が半年コミットして、RPAソフト代もプラスされての84.9%、資料を見ると600時間強->平均84.9%削減らしいです。

ざっくり600時間の85%減だと90時間に短縮されました、といったところでしょうか。人が8時間/日働くとすると75日->11日に短縮ですね。

スポンサーリンク

1. RPAソフト使えるようになるには、別世界のソフトを使いこなすのと一緒という事実を知ったほうがいい

知り合いも「UIPathを会社で使うことになったけど、普段の業務にプラスしてUIPathの使い方も学ぶ時間あまりない。とりあえず言われた通りやったら、なんか動いてるけどエラーとか起きたらどうするの?サンプルは出来たけど業務に合わせるにはどうするの?」という状況。

1.1 デザインやったことない人がAdobeのソフト使ってセンスの良いパンフレット作れるか?普段の業務は別にあるとして

「デザインやったことない人にAdobe PhotoshopとIllustratorでセンスの良いパンフレット作って」と言ってるようなものです。
印刷物作るには版の知識や文字間の定石、そもそものソフトの使い方など知る必要があります。それをメイン業務の片手間でやれるのか、というのを考えればRPA導入が片手間で出来るようなものではないのは明らかですね。それなりに時間が必要です。

1.2 RPAソフト、プログラミングはなくてもプログラミング知識は必要

ちょっとした条件分岐、ループ、変数、関数を理解しないと業務自動化なんてのはほぼ不可能かなと。ITリテラシーとかいくつかの記事では言っているけど、ITリテラシーというよりもうプログラミングの知識と言うべきかと。

なのでRPAソフトの使い方を学ぶのであれば、VBAやPowerShell、その他スクリプト覚えたほうがいいかと思います。0から作るのではなく、関数を作っておけばそれ呼ぶだけでOKになりますからね。(資産となり使いまわしが出来る)

例えばメール送信なんかは、SMTPサーバの設定は一度設定する必要があるけど、そのほかはOutlookなどでメール送る時にやっていることをメール送信関数にセットするだけ。
メール送信 CDO.Message 記事

エクセル読み込みも、Excel_sheet_read($filepath,$sheetname)みたいな関数を作っておいて、使う側はそれに必要なエクセルファイルと読み込みたいシート名を渡せばデータが返ってくる。あとは各行ループで回して処理する、というテンプレートを使えばRPAソフトで「エクセル読み込んで処理」機能を使うのとそれほど変わりないかなと。

2. 労務管理に係る月次資料の庁内通知手続き業務を見てみる

さて、前置きはこのくらいにして業務を見てみます。
担当者がシステムから50か所分のエクセルダウンロードして、パスワードかけて、関係課にメールを送る業務らしいです。労務課の担当者が可哀そうになるくらい無駄な作業ですね。マウスでポチポチ作業しているのが見えてきます。左手でALt+Tab,ALt+矢印,とかショートカット使っているならまだマシですが。

横浜市 RPA 労務管理に係る月次資料の庁内通知手続き業務

・・・。エクセルにパスワードかけるのに1分、メール作成にも1分かかる人ってよっぽどパソコン使えない人なんじゃないかと。3.1 定義エクセルのようなエクセルから順番にコピペしていくだけですよね。

定義エクセルをカーソル移動しパスワードコピー、Alt+Tab、エクスプローラになり対象エクセル開く、Alt+fa1で現在のフォルダ、読み取りパスワードに先ほどコピーしたパスワードをペーストし保存。

Alt+Tabで定義エクセルで隣のセルに移動、宛先メールアドレスコピー、Alt+TabでOutlook。「フォームの選択」をクイックツールバーに割り当てておいてAlt+その番号でメールテンプレートを選択、宛先にペースト、添付ファイルドラッグ。

慣れていれば2つで1分以内で出来そうな。

2.1 改善案1 作業の分け方を変えてみる

自分なら以下のようにします。
最初のExcelファイルダウンロードに何分かかっているのか出ていませんね。この業務時間も削減できますよね普通。

横浜市 rpa 労務管理に係る月次資料の庁内通知手続業務

2.2 改善案2 直接担当者がエクセル取得すれば真ん中の労務課の人いらないし無駄がなくなる

そもそもですが、関係課の各担当者にアクセス権限与えて直接エクセルダウンロードしてもらえばいいんじゃないかとも思います。

横浜市 rpa 労務管理に係る月次資料の庁内通知手続業務

システムが他管理課からのアクセス制限されているなら無理ですが。
可能ならアカウント追加してもらい、「システムにログインしてエクセルダウンロードするロボットアプリ」を作り、iniファイルかなんかで各担当課用のログイン情報、検索クエリ情報をセットすればいいかと。ロボットがエクセルファイル開くまでやれば、メール添付からエクセル開くのにパスワード用いて、というのもいらないので楽ですね。

2.3 実際のRPA自動化 一部RPA自動化、あれ?人の作業が発生・・・

で、実際のを見てみると。2か所だけ自動化ですか。そして謎の「RPA読み込み用のExcel一覧を更新」という作業が発生・・・え?これいいんですかね?なんか無理やりRPAソフト導入しましたーにしか見えないのは自分だけでしょうか。最初の庶務事務システムに入ってエクセルファイル出力も出来ないのはいかがなものかと・・・
UIPathならログインしてってのも出来ますよね、ちょっと触っただけの感じですが。(まぁあっちは学習コストが大きいけど)
最後の「メール内容を確認し、送信」に12秒かかるわけですが、12秒で何を確認してるのか?宛先と添付ファイルが合っているかでしょうか?それはロボットが規則通りにやっているのであえて人間が確認する必要あるんでしょうか?ここを1つずつ確認は無駄な気がします。違う方法を見出すべき。

横浜市 rpa 労務管理に係る月次資料の庁内通知手続業務

3. 改善案1でやるには

改善案1は以下でした。全部ロボットでやるには、定義するエクセルが必要です。1度作成したらずっと使えます。

横浜市 rpa 労務管理に係る月次資料の庁内通知手続業務

3.1 定義エクセル

シート1番目は庶務事務システムに入る為のアカウント情報

横浜市 rpa 労務管理に係る月次資料の庁内通知手続業務

シート2番目は50か所分のデータ。
関係課のデータです。

横浜市 rpa 労務管理に係る月次資料の庁内通知手続業務

3.2 ロボットの流れ

流れは以下のようになるかと。

  1. 3.1のエクセルを読み込む
    Excelを読み込む記事
  2. 庶務事務システムにログイン
    UIAutomationの記事AutoItウィンドウの情報取得,OpenCVを使って画像認識,WebならWebDriver
  3. ===エクセル行分ループ(4~6)===
  4. – 庶務事務システムからエクセルダウンロード
    ダウンロードしたファイルの検索記事
  5. – エクセルにパスワードをかける
    エクセルにパスワードをかける記事
  6. – 関係課にメール
    CDO.Messageを使ってメール記事
  7. ===ループここまで===
  8. 労務課担当者に作業ログ(記録)をメール
    CDO.Messageを使ってメール記事

1作業毎にログを出し、最後に担当者(真ん中の人)にメールを送信して完了。
担当者はそこから「エラー」とかのキーワードで文字列検索し、エラーがあれば自分でメール送るなど。ロボットのミスを人間が補う形でしょうか。

3.3 ロボット起動もタスクスケジューラで月1回何時に起動

しとけばロボットからのメールをチェックするだけで済みます。
何かしら原因でメール来ない時に備えて、カレンダーに登録して通知するようにしておけばメール確認しますよね。それも忘れる人はそもそも業務に適していないので他の人に代わってもらったほうが良いですね。

3.4 作業時間98%削減が期待できる

以下の作業を全部ロボットが行うので100%削減。ただし、ロボットが正常に動いたかをメールでログをチェックするので、2%分プラスしておきます。

横浜市 rpa 労務管理に係る月次資料の庁内通知手続業務

3.4.1 システムにログインし、エクセルファイルを出力する時間、メール送信する時間も削減できる

システムにログインし、50件分のエクセルを出力する時間はどのくらいなんでしょうか?0.5分/件だとして25分ってとこですかね?その辺も削減したいですよね。

3.5 AutoItでやると大雑把にはこんな感じ

大雑把にですがこんな感じですかね。

#include "lib\logmsg.au3" ;ログをファイルに書き出す、add_log()関数
#include "lib\excelfunc.au3" ;エクセル読む、
#include "lib\email.au3" COD.Message使ってメール送信する関数mail_send()
#include "lib\uia.au3"

Global $o_shomuwnd  ;労務システムのウィンドウハンドル

Global $logindata
GLobal $romudata

Global $ret = 0

;; 1. エクセルよ読む
$ret = excel_read("setting.xlsx", $logindata, $roumudata)

;; 2. 労務システムにログイン(システムわからないのでUIA使うとする)
Run($ROMUAPP)
Sleep(5000)
$o_shomuwnd = uia_getwindow()
;; 各コントロールにdataセットしてログイン処理
$ret = shomu_login($o_shomuwnd, $logindata)

;; 3 各行ループ
Global $rownum = UBound($romudata)
For $i=1 To $rownum Step 1 
  $row = $romudata[$i]
  ;; 4 庶務事務システムからエクセルダウンロード
  $ret = uia_dl_excel($o_shomuwnd, $row)
  $dlfile = get_dlfile() ;↑でアクションしたのでダウンロードフォルダからファイルを検索

  ;; 5 エクセルにパスワードをかける
  excel_setpass($dlfile, $row[$COL_PASS])  

  ;; 6 関係課にメール
 mail_send($row[$COL_EMAIL], $from, $subj,...$dlfile)
Next

;; 8 労務課担当者に作業ログ(記録)をメール
; iniファイルでto,from,subj,body,mailserverなど設定済
mail_send($to,$from,$subj,$body,..., $logfile)


プログラム知らない人にはハードル高すぎですね。
とは言え、この作業をRPA化するなら「庶務事務システムに入る部分、庶務事務システムからエクセルダウンロード」を作る以外は誰かが作った関数を使うだけ(excel_setpass(),mail_send(),get_dlfile(),ループは配列からUBound()で取得しFor文で回すなど)なので、RPAソフトに慣れるプラスαかなと。

AutoItではなくVBAやPowerShellを使うでも勿論賛成で、スクリプト書けない人は今後益々肩身の狭い時代になるのは間違いないのでスクリプトで業務自動化することをやっていってほしいですね。

パソコンは、「鉛筆で紙に情報を書く、代わりにキーボード打って情報を入力する」だけではありません。多くの人がマウスやキーボードでちまちまやっていますが、そこにプログラムが入ることで作業を大幅に効率化出来ます。いつまでも苦手意識を持って自分を変えることをしない人が多いので、未だ転記するような仕事と言ってはいけない仕事をしている人が多いのが現状ですね。

4. 改善案2でやるには

もしも各担当課が庶務事務システムにアクセス権限が与えられたなら、3を一部修正し、エクセルいらず、ログインアカウント情報、担当用のエクセルダウンロードの為のクエリをiniファイルにでも入れて、庶務事務システムにログイン、ダウンロード、そのファイルを開くアプリ(orスクリプト)を作ればいいですね。

5. RPAなんかより手書きの申請書をシステムにデータとして入力のほうを推すべき

IT Leadersの記事見ると、入力が手書き->デジタルに。
窓口で何か申請するのに紙に手書き・・あれ本当に最悪なので止めてほしいですよね。
「高齢者が使えないから」とかいう理由で時代錯誤な事やってるからいつまで経っても先に進まない。中途半端にRPAソフト導入するより入口からデジタルにして、記事も「RPAで業務の一部を削減したけど大したこと出来なかった、こっちのほうが絶大な効果が見込める」とかにしてほしいですね。

一方で、課題も判明した。課題の1つに、「手書きの申請書などをシステムにデータとして入力する事務作業(手作業によるデジタル化)」の存在がある。この課題の解決に向け、紙の申請書に代わりにタブレットから申請できる仕組みを構築し、追加で検証した。

タブレットを利用した申請書の作成についても、有効性を確認した。窓口で作成した申請書などのデータをQRコード化することなどによって、セキュリティを確保しつつRPAを使ってシステムにデータとして取り込める。

 

コメント

タイトルとURLをコピーしました