2018.06.29
最近あらゆる業界でよく耳にする RPA(Robotic Process Automation)。
だれでも業務自動化ツールを作成できるという優れものです。
確かに実際に活用してみると、思っていた以上の効果やメリットがありました。
しかし、本当に安定したつくりを構築するには、場面場面に応じた工夫がなにより大切であることに気が付きました。
当レポートは、上記のような効果やメリット、工夫ポイントをまとめたものです。
活用事例の 1 つ目は『Web サービスでの大量処理』です。
同じような工程を何度も繰り返し行う業務はどの業界でもまだまだあることだと思います。
例えば、月末・年度末等の締め業務や納品物を過去分再作成しなくてはならないケース、
システム開発においてのテスト用データ集計など様々です。
このような事例の場合、担当者からすると以下のような不満が挙がることでしょう。
▸ こんな難易度の低いタスクに A さんを使うのはもったいない…
▸ 単純作業ではあるが納期がやたらと早い…
▸ 誰でもできるタスクだが夜遅くとなると社員がやらざるを得ない…
私の知る現場でも、納期や就業時間の関係でやむを得ずに原価の高いスタッフさんや社員が単純作業にかかりきりということはよく見る光景でした。
そこで RPA を活用することによりそれらの問題を解消した 1 つが、今回の Web サービスで大量処理を行った事例です。
当事例では何よりも処理する量に対して期限が短すぎるという問題があり、
はじめはスタッフ 3 人を 3 日間フルで活用する流れでした。
しかし 1 日を RPA 作成にあて、2 台の PCをフル活用することにより 2.5 日ですべての処理を完了することができました。
今回の事例では、下記ポイントが RPA 活用の判断基準となりました。
▸ 対象タスクが単純作業のため、RPA 作成に時間がかからない
▸ 常にチェックしなくても良いルーチンワークのため、夜間監視無しでも問題ない
当事例の効果としては、以下の2点が挙げられます。
▸ RPA 未使用:9 人/日 + 担当スタッフが他の業務
▸ RPA 使用 :1 人/日 + 他の業務に RPA を活用できる可能性がある
また、上記だけでも効果としては十分ですが、以下のようなメリットも考えられます。
▸ 人間の作業に比べてミスが発生しにくい
▸ 早朝や夜間に処理できるため、Web の回線やサーバーが空いている
▸ スタッフの能力に左右されずに一定速度・安定クオリティを実現する
今回の事例に適した RPA を作成するにあたり、工夫・注意すべき点は以下が考えられます。
▸ 画面遷移、処理中待機処理の作りこみ
▸ リランのかけやすさ
まずは待機処理の作りこみです。
Web サービスに対して RPA を活用するうえで壁となるのがこの画面遷移や処理中での待機です。
画面遷移によるエラーとは、遷移が完了しているように見えて実はまだ裏では準備中であったために、
必要な画面要素が取得できずにエラーが発生するという事象です。
また、集計系 Web サービスでは集計中の待機画面に遷移して集計完了を待たなくてはいけません。
今回は監視無しで就業外に処理をさせることが前提であるため、
この手の問題でエラーとなって処理が止まってしまうのは致命的です。
遷移後のタグ要素を見つけるまでループや、多少無駄が出ても処理前後に待機時間を設けるなど、
念には念を入れて作成することをオススメします。
また、万が一にも朝出社した際に処理が止まっていたという時のために、
リランはかけやすく作成することを強くオススメします。
ただでさえ時間のない案件では、
エラーの箇所や原因が分からずすべて処理をやり直すということだけは可能な限り避ける必要があります。
そのため、パラメータファイルを用意して途中からでも処理を流せる作りや、
ログを出力させることでエラー箇所・原因が明確になる作りなどを心掛けてください。
続いて活用事例 2 つ目は『Web サービスでのレギュラー運用』です。
日々のレギュラー業務というものは、当記事をご覧いただいているあなたにとって活用事例 1 よりも身近に感じられるかもしれません。
実際に私の勤め先でもいまだに日々の日報を各々が Excel ファイルに入力し、メンバー分を集めてメール送付しています。
今回の事例では Web サービスのレギュラー運用となってはおりますが、
要点等は Webサービスに限らずにレギュラー業務共通で大切なポイントであるため、是非参考にしていただけると幸いです。
今回の事例では Web サービスで出力した帳票を VBA マクロにより加工し PDF としてメール送付するというものです。
一見すると、いろいろなサービスやアプリケーションを駆使しているため難しく思えます。
しかし、このいろいろなアプリケーションを使用できるということは RPA の長所であり、
それぞれのアプリケーションの得意なことだけをやらせればいいため、
いたってシンプルなつくりになるのです。
もちろん作ろうと思えば VBA マクロ等、何かしらのプログラムを組んで当タスクすべてを処理することはできます。
逆に、データの加工も含めて RPA にやらせることもできます。
しかし、Web サービスやメールアプリを操作するプログラムを組むのは少々骨が折れます。
また、RPA でのデータ加工を作成するのも苦労とともに速度的な不安が生じます。
そこで主な処理ステップは RPA で行いつつ、マクロ等外部システムを活用することで各長所を活かした構成になります。
このように、できるならば RPA のみにこだわらずに様々なアプリケーションを利用してより最適な構成を考えてみてください。
当事例のような様々なアプリケーションを利用した日々のレギュラー業務というものは、
RPA で自動化することにより想像よりもはるかに大きな効果を受けることができます。
▸ 一つ目は、精神的・物理的負担の軽減が挙げられます。
レギュラー業務は、毎日同じ時間に必ずやらなくてはならないということがほとんどだと思います。
‟必ずやらなくてはならない”という縛りは想像以上に社員を苦しめます。
「体調不良であっても気軽に休むことができない」
「会議を自分の都合でずらしてもらわなくてはならない」といった精神的にも物理的にも多くのダメージを受けることでしょう。
このレギュラー業務から解き放たれた時には感動を覚える程だと、わたしはそう思います。
▸二つ目は、運用の安定化です。
毎日同じことをやるとはいえ、人間誰しもミスはするものです。
更に、今回の事例は人力であっても様々なアプリケーションを介さなくてはならないため、
アプリケーションの数が増えれば増える程ミスのリスクは上がっていきます。
また、「メールの送信は何時以降にすること」といった制限がある場合は、
送り忘れや間違えて早い時間に誤送信してしまうリスクもあり、担当したくない業務ベストでも上位に挙がることでしょう。
これを RPA 化することにより、毎日同じ処理を同じ時間に安定して運用することができるのです。
事例 1 では数値で明らかな効果を発揮していましたが、上記のように 2 つ目の事例では数値よりも社員の負担軽減や運用の質の向上に効果を発揮することができました。
RPA を非常に効果的に活用できた運用業務ですが、もちろん注意する点も多々存在します。
ここでは代表して下記 2 点を挙げさせていただきます。
▸ エラー・完了通知処理
▸ サーバーの仕様に強いつくり
まずは「エラー・完了通知処理」についてです。
レギュラー業務を自動化することで担当者は完全に安心しきってしまいます。
そんなとき、想定外のエラーが生じたらどうでしょうか。
誰も気づかずに損害が発生してから気が付くことになってしまいます。
また、心配性の担当者の場合、せっかく自動化したにもかかわらず処理がちゃんと完了しているかを毎回確認しにいってしまうかもしれません。
これらが起こった時点で今後の運用への信頼が揺らいでしまい、全てを台無しにしてしまいます。
レギュラー業務に限ったことではありませんが、「エラー・例外処理」や「処理の完了通知処理」というのは忘れずに組み込むようにしましょう。
また、Web サービスでの処理を毎日行うということは、実行時に都度サーバーに問い合わせを行います。
そのタイミングによってはサーバーのメンテナンスやロードバランサーにより参照ファイルの ID がいつもと異なるかもしれません。
もし RPA のつくりの部分でURL や要素をガチガチに作ってしまっていた場合、ID の違いに対応できずにエラーとなってしまいます。
そのため、できる限り ID 等にはワイルドカードを使用するなど柔軟なつくりを意識していただけたらと思います。
RPA はプログラミング無しで高度な自動化ツールを作成できるという長所があります。
たしかに、ある程度の自動化ツールであれば素人でも簡単に作ることができます。
また、プログラミングの経験がなくとも使用する RPA ツールさえマスターすれば安定したロボットを作成することができるでしょう。
しかしより安定した、より応用のきくツールを作るためには下記スキルがあると更に RPA の効果は増すことでしょう。
▸ 論理的思考
▸ システム開発経験
▸ プログラミングスキル
まず論理的思考ですが、無駄のないしっかりとしたシステム構成を作成できるようになります。
後のことを考えた処理ステップの構築や、エラー処理のためのループ・分岐の適切な使い方は、RPA に安定とメンテナンスのしやすさを与えます。
システム開発の経験は、エラーの起こりにくいつくりや作成した RPA のテストに役立ちます。
どのようなことが要因でエラーが起こるかというのは、多くが経験から得るものです。
そのため、システム開発の経験は想像以上に役立ちます。
最後に、プログラミングスキルです。
事例2でも述べましたが、RPA のみでは速度や精度に多少の不安を覚えます。
そのため、より速度や精度を上げたい場合や、どうしても解決できない壁にぶつかった際には、
何かしらのプログラミングが組めると大きなアドバンテージとなるでしょう。
RPA はプロジェクトにコストの削減を、わたしたちに負担の軽減を与えてくれます。
しかし、誰でも作れるのだろうと甘く見て作成したところで、不安定で使い物にならないものが出来てしまいます。
いくら素人でも作れるという長所があったとしても、結局は RPA を活かすも殺すも RPA
開発者のスキル次第なのです。
なお、弊社は全員がRPA資格を保有したエンジニアで構成されているため、質の高いソリューションが可能となっています。
ご検討中の方は、ぜひお問い合わせください。