RPA開発は自社でできる?開発するメリットや手法・手順を解説
RPAを導入し、業務の効率化に向けて社内で広く活用していく際、自動化のシナリオ(スクリプト)の開発を誰が、どのようにするのかを決める必要があります。
● RPAは自社で開発できるのか?
● RPAを自社で開発することのメリットは?
● RPAを自社開発するとしたら手順はどうなっているのか?
本記事では、RPAの自社開発について、手法や手順、自社開発のメリット・デメリットについて解説していきます。
RPA開発におけるハードルを可視化し、自社開発に向けアクションを起こす足がかりにできます。
RPAとは
RPAは(Robotic Process Automation)の頭文字を取った言葉です。
主に、PCで行う定型業務を自動化できるソフトウェアロボットのことを言います。自社の業務に適した形でRPAを導入し、業務の効率化を図ることができます。
例えば、定期的に送付する請求書や注文書の作成、日報や売上データの収集などを自動化することが可能で、日常的に社員にかかる業務負担を軽減できます。
また、RPAを導入・活用することにより、定型業務に割いていた人的なリソースをコア業務に集中させ、業務全体の効率化と生産性の向上を図れます。
事務業務に追われてコア業務に手が回らないといったことはよく耳にしますが、やることが決まっている業務を自動化するRPAなら、この問題を解消することが可能です。
自社でRPA開発を行うことでRPAの運用効果を最大限に活用でき、業務スピードを向上させながらヒューマンエラーを防止し、社員の時間・労力のリソースを確保することができます。
RPA開発の2つの手法
RPAを用いた業務の自動化というと、専門知識が必要で外部に委託しなければならないと思われがちですが、RPA開発は自社で行うことも可能です。
プログラミング言語・知識が不要な「簡易型」
RPA開発の手法の1つである「簡易型」は、プログラミング言語の知識が不要で、手軽にRPAを作成することができる手法です。
ITスキルをそれほど持っていない方でも、すぐに開発に着手し、RPAを素早く自社業務に実装できます。
「簡易型」のRPA開発は、パソコンの画面上で必要な操作を記録し、記録した手順をロボットに記憶させ再現することで、特定の作業・業務を自動化します。
ボタンクリックやデータ入力、コピーなどの作業をロボットに記録させ、実際に業務で再現させて動作をチェックし、エラーなどがあればその都度ロボットの記録を修正していきます。
高度な設定で複雑な業務の自動化ができる「開発型」
「開発型」のRPA開発は、ある程度のプログラミングの知識があるとスムーズです。
「簡易型」よりも詳細な動作設定や複雑な業務を自動化できます。
「開発型」は、直接プログラミングのコードを書くわけではありませんが、開発時における考え方がプログラミングと類似する部分があるため、「コーディング型」と呼ばれることもあります。
RPAツールには「ライブラリ」と呼ばれるさまざまなコンポーネントがある場合が多く、これらを組み合わせることにより、「シナリオ」と呼ばれるRPAで実行する動作を設定します。
「開発型」では、より細かなカスタマイズ・業務に合わせたチューニングが可能になります。
高度な業務の自動化を必要としている場合や、全社においてRPAの運用を計画している場合には、「開発型」を推奨します。
「開発型」は自社のニーズに合わせ、精細にRPAを作成し、本格的な業務フローの自動化に向いています。
プログラミングの知識やスキルが不足している際には、外部のベンダーに開発を依頼したり、RPAツールベンダーのサポートを利用すると良いでしょう。
RPAを自社開発するメリット
RPAの開発を自社で行うことのメリットについて、見ていきましょう。
コストが抑えられる
RPAの開発を自社で行うことにより、外部委託開発する場合より費用を抑えられます。
特に導入規模が大きいほどこの傾向は顕著です。自社で開発ができれば、RPAツールのライセンス費用だけで済みます。
また、業務効率化や改善は継続して行う取り組みであることを考えると、自社でRPAの開発をできるよう、知識とスキルを社員が積極的に身に着けることは今後の業務自動化にプラスとなります。
RPA開発手法を共有し、業務改善の知見がストックされる
自社でRPAのシナリオを開発することにより、RPAの開発や運用に関連するスキルと知識を社内に蓄積できます。これにより、新たなRPAシナリオを開発する際に、迅速に行うことができますし、部門間をまたいで業務改善の事例や知見を共有することも可能です。全社的に業務改善や生産性向上の意識が高まっていくことにつながります。
エラーが起きた時のリスクが少ない
RPAを自社開発していれば、エラーが発生したとしても、速やかに対応できます。
必要な情報の伝達も社内で完結するため、迅速にRPAの修正と業務対応を行うことができます。
一方、外部ベンダーに委託している場合、どうしてもエラーの解消に時間がかかりがちです。エラーが発生するたびに外部ベンダーに連絡するので、人的リソースや費用といったコストが発生します。
RPAのエラーによる業務停止を最小限に抑えることは、企業の利益に直結してきます。
社内に専門知識を持つ人材がいることで、エラー以外のRPAに関するトラブルにも迅速に対応できるため、さまざまな予期せぬ事態やイレギュラーな状態において、損失を回避できるでしょう。
RPAを自社開発するデメリット
RPAの自社開発にはデメリットも存在しています。
メリットが可能性を広げるものであるのに対し、デメリットは主にRPA運用が軌道に乗るまでにかかる工数負担の問題です。
開発スタッフを育てる必要がある
自社でRPA開発を行う際、社内にRPAに詳しいエンジニアが不在の場合は、社員がRPAツールに関する知識を身につける必要があるため、RPAベンダーが開催する講演会や勉強会に参加する必要がでてくることもあります。
人材育成の期間を含め、RPAを導入してから開発に取り組むまでの時間を考慮しなければなりません。
さらに、導入後の運用においても、一定のRPAの知識とスキルを持つ人材が必要になります。
仮に外部ベンダーに依頼する場合においても、運用上のトラブル対処や修正などをする際、スムーズなやり取りをするためには、RPAの知識とスキルを持った社員は必要になります。
社内にエンジニアがいる場合でも、異動や退職がないとは言えません。複数のエンジニアを育成しておくことも重要です。
これらの点から、初めてRPA開発を行う場合は、外部ベンダーのサポートを受けながら同時に外部ベンダーから知識とスキルを吸収し、社内でRPAに関する人材を育成する方法とる企業も多くあります。
RPA開発と並行してRPA人材の育成が可能になり、人材育成期間のデメリットを緩和することができるでしょう。
技術レベルにあったものしか開発できない
自社内でRPA開発をする人のスキルレベルの自動化しかできない可能性があります。
自動化を目指す業務のRPA開発に対し、担当のエンジニアの知識・スキルが合致していれば問題ありませんが、そうでない場合は、自動化できる範囲が限られてしまうこともあります。
この問題に対しては、RPAの開発スキルレベルをあげていくよう、社内にRPA技術の認定制度を導入する方法を取り入れている企業もあります。
認定制度によってRPAの知識やスキルを客観的に判定し、RPA導入にあたっての指標にしたり、能力を可視化することで、社内のRPAに関する人材育成に活かすことができます。
エラー解決に時間がかかる
運用に慣れてくるまでは、エラーが発生した際の技術的な問題の特定や解決に時間がかかることが考えられます。
RPAを運用しているすべての企業や組織が直面する問題ではありますが、初めてRPAを開発・運用する場合は、社内のRPAに対する知識・経験の不足から、業務の進行に影響を及ぼす場合があります。しかしこれらは、RPAに携わる社員の知識・スキルの向上や経験を積むことで解決します。
RPA開発の流れ
RPAの開発手順について詳しく見ていきましょう。
1:RPAで自動化する業務の洗い出し
RPAの開発で最初に行うステップが、自動化したい業務の洗い出し作業です。
業務の効率化をしたい、省力化したいと思っている作業が、RPAで自動化できるかどうか、どこまで自動化するのかなどを見きわめる必要があります。
2:自動化したい業務フローを可視化する
RPAによる業務の自動化は、「シナリオ(スクリプト)」と呼ばれる手順に従って行います。
「シナリオ」を作成するためには、自動化したい業務のフローを可視化し、自動化できる範囲を把握することが必要不可欠です。
自動化したい業務の中で、RPAで自動化できる定型作業を選択します。
具体的な作業内容をはじめ、関連する作業やエラー時の対応策についても明確にし、フローチャートや文章にまとめておくと良いでしょう。
業務フローの可視化により、開発後のメンテナンスやエラー対応が円滑に行えるようになります。
次に具体的な自動化の範囲を決めます。業務フローのすべてを最初から自動化しようせず、自動化が容易な業務から取り掛かるとスムーズです。
また、対象業務を可視化した段階で無駄な作業や非効率な手順が見つかった場合、その状況に合わせて「シナリオ」の手順の改善が必要なことも押さえておきましょう。これまでずっと同じ業務をしてきた場合など、従来のやり方だけにこだわることなく、検討を進めていきます。どのようにしたら効率的に進めることができるか、その業務は本当に必要なのか、手順を入れ替えたり、別の業務と統合させるなど、人手を介さずRPAで自動化・効率化することを考えます。
3:実際にRPAシナリオ開発に着手する
業務の洗い出し、業務のフロー可視化を行ったら、RPAシナリオ開発に着手します。
シナリオの作成には、前段で行った業務のフローに則り、組み立てていきます。
例えば、「あるウェブサイトから特定のデータをダウンロードして、指定された場所に保管していく」という定型業務のフローが以下の通りだったとします。
1.ウェブサイトにログインする
2.データをダウンロードするためのページに移動
3.データを呼び出し、ダウンロードする
4.ダウンロードしたデータに名前を付けて、指定されたフォルダに格納
この4段階の流れの中に、必要なシナリオがさらに細かく存在します。
ウェブサイトにログインするだけでも、URLを指定するという動作、IDとパスワードを入れる動作、エンターキーを押す動作、などです。
シナリオ作成にあたっては、手順を細かく指定していくことのほか、万が一のエラー発生時の挙動を決めておきます。エラーの時に、作業を停止する、エラーの通知をメールで配信する、エラーをスキップして作業を進める、などです。
RPAシナリオ開発を外部ベンダーに依頼する場合にも、これらエラー時の挙動については、きちんと共有しておく必要があります。
4:作ったRPAシナリオをテストする
シナリオ開発の次は、動作テストを行います。テストも以下の4つに分かれています。作ったシナリオに応じて、事前のチェックを行ってください。
● 「単体テスト」
● 「結合テスト」
● 「本番データテスト」
● 「耐久テスト」
「単体テスト」は、作成したシナリオを作業単位で区切り、設計通りの動作が行われるかチェックするものです。
シナリオごとのロボットの動作に不備や設計ミスがないか、狙った通りの効果が得られているかを確認します。
「結合テスト」では、シナリオ全体を通して一連の動作が正常に実行されるかをチェックします。
また、「結合テスト」ではイレギュラーな事態が発生した際のRPAの挙動のチェックを行い、トラブルへの対処についても確認しておきます。
「本番データテスト」は、実際の業務で使用されるデータを用いてテストを行い、問題がないか動作をチェックします。
エラーが発生した場合は原因を特定し、シナリオの修正などを行います。
「耐久テスト」は、大量のデータを用いた動作や長時間の稼働をシミュレーションし、処理スピードやエラーの発生タイミングをチェックします。
データ量を実際のデータより2倍から3倍に増やし、一定の負荷をかけることで、将来のデータ増加にも対応できるか確認しておきます。
5:継続的なメンテナンスをする
RPAを導入後の運用には、継続的なメンテナンスが必要になります。
特に導入の初期段階ではエラーが発生することも珍しくありません。細かな対処と動作の修正を行いながら調整し、RPAとしての精度を高めていきましょう。
今後の修正の参考にするため、メンテナンスの履歴を残しておくことも大切です。
メンテナンス履歴は将来新たなシナリオを作成した際にも役立つ情報なため、その場だけで終わらせないようにすることが重要です。
また運用開始後は、業務効率化と生産性向上の実績について、定期的に評価するようにしましょう。
実績の評価を参考に、業務手順やRPAツールの仕様変更に応じて適宜シナリオを修正する必要があり、新たに自動化させたい業務を追加する場合には新規開発も必要になるためです。
注意点として知っておきたいのは、エラーはシナリオ以外の要素が原因になっている場合があることです。
上記のようなRPAツールの仕様変更や、データの取得不可、システム障害、ネットワーク障害などが該当し、こういった周囲の環境の変化にはその都度対応する必要があるため、継続的なメンテナンスは不可欠になります。
RPA開発を行う際のポイント
RPA開発を行う際は、開発の難易度や工数を試算するとともに、開発が可能な技術者の確保や自社の要件を見極めた上での製品選定が重要になります。
ここでは、RPA開発を行う際に押さえておきたい3つのポイントを紹介します。
開発の難易度や工数を試算する
RPAの開発において重要なステップの1つが、開発の難易度や必要な工数を試算することです。自動化するプロセスのステップ数や導入するシステムの選定、用意すべきシナリオの量などを詳細に分析する必要があります。
開発の難易度を試算する際は、現状の業務をリストアップして自動化が可能かどうかを判断した上で、どの程度時間を削減できるかを見極めることが求められます。
工数の試算を正確に行うためには、業務を行う頻度や、各タスクの実行に必要な時間も重要な指標となります。例えば、毎日何千回も繰り返される単純なデータ入力作業は、業務効率化の効果がより高まる可能性があります。一方で、月に一度しか行われない複雑な報告作業は、自動化によるリターンが比較的少ないと想定されます。
このような試算を行うことで、リソースの配分を計画的に行えるようになり、自動化の効果をより高められます。
RPA開発が可能な技術者を確保しておく
RPAの導入を成功に導くためには、適切なスキルセットを持った技術者の確保が不可欠です。単にRPAツールの知識を持っているだけでなく、プロセス改善やシステム統合に関する知識も豊富な人材が求められます。
特に、RPAを導入する過程で遭遇しがちな技術的な障壁を乗り越えるためには、プログラミングスキルやAPIの統合、システム間の連携などについて理解している技術者を配置することが望ましいでしょう。
技術者を確保する方法としては、自社従業員を教育する方法のほか、外部からの専門家の採用が考えられます。自社の従業員にRPAの研修や教育プログラムを提供することで、既存の業務知識を活かしつつ、新たな技術力を内部に蓄積できます。
自社の要件に合ったRPAを導入する
企業がRPAを導入する際は、自社の要件に合わせた製品の選択が重要になります。業種・業態や現状の業務プロセス、期待する改善効果などを考慮に入れて選ぶ必要があります。
例えば、大量のデータを扱う会計業務や、定型的な顧客サービスの問い合わせ対応など、業務量が多い作業の自動化には、高度なデータ処理能力を持つRPAツールが適しています。
RPA導入の前には、どの業務プロセスが自動化の候補であるかを特定し、それらのプロセスが現在どのように運用されているかを把握することが欠かせません。自動化を予定しているプロセスを正確に把握することで、最も効果的なRPAツールの選択が可能になります。
また、機能だけでなく、導入後のサポート体制を確認しておくことや、将来の業務拡大への対応も考慮して、柔軟性の高いツールを選ぶことも求められます。
実現できる目標をもとにシナリオを設計する
RPAを導入する際は、明確な目標を設定することでより成功に近づきます。導入によってどのような成果を期待しているのか、具体的な数値目標(作業時間の削減率やエラーの発生率の低下等)を設定すると良いでしょう。
シナリオの設計にあたっては、達成可能な目標に基づいて具体的な自動化のフローを構築することが重要です。どの業務をどういった順序で自動化するのか、各ステップでどのような処理を行うのかを明確に表現する必要があります。
また、シナリオ設計を成功させるためには、適切なテストを行い、開発した自動化シナリオを実際の環境でテストして予期せぬエラーや処理の遅延がないかを確認しましょう。テストを通じてシナリオの最適化を図ることで、より安定した自動化プロセスを実現できます。
RPA開発の事例
RPA開発を行う際は、実際に成功した事例を参考にすると、導入までの具体的な流れや活用のアイディアが見えやすくなります。
ここでは、株式会社フランソア、株式会社アステックペイント、株式会社パトライトの3社について、Autoジョブ名人を使って業務効率化を実現した事例を紹介します。
株式会社フランソア
フランソア株式会社は、自動化ソフトの移行を通じて受発注業務の効率化を図り、業務の安定化を達成しました。
同社では元々、フリーソフトの自動化ツールを使用していましたが、プログラム言語のスキルが必要になるため敷居が高いという課題を抱えていました。そこで、Internet Explorerのサポート終了に伴ってプログラムを書き換える必要が生じたタイミングで、新しいブラウザに対応しやすく、プログラミングの知識が少ない人でもシナリオ作成が容易な「Autoジョブ名人」への移行を決定しました。
Autoジョブ名人の導入によって受発注のエラー率を1/3に減少させることに成功し、業務の安定性を高めることに成功しました。
株式会社アステックペイント
株式会社アステックペイントは、増加する受注・出荷に対応するために、ユーザックシステムの「送り状名人」と「Autoジョブ名人」を導入し、事務処理の自動化を実現しました。
以前は二重入力が必要で効率が悪かった受注処理を自動化することで、早朝や土曜日に追加で作業を行う必要がなくなりました。特に、受注から出荷までの流れを効率化することに成功し、事務作業の時間削減とエラーの減少を実現しています。これにより、生産性が向上し、従業員の作業負担も大幅に軽減されました。
株式会社パトライト
株式会社パトライトは、2000年頃から受注業務のWeb-EDI化を推進していました。2022年には自社サーバーの更新タイミングでAutoジョブ名人を導入し、1回に15~20分程度かかる受注作業を自動化して、締め時間までの確実な処理と人的ミスの削減を達成しています。
また、現在は積層信号灯をネットワークにつなげた「ネットワーク制御信号灯」とRPAを連携し、RPAの実行結果を可視化する取り組みを行っています。
RPAが持つ「バックグラウンドで処理している場合に進行状況がわかりにくい」というデメリットを解消するため、積層信号灯によって実行状況を“見せる化”し、さらなる業務効率化を目指しています。
株式会社フランソア
https://www.usknet.com/jirei/francois/
株式会社アステックペイント
https://www.usknet.com/jirei/astec_paints/
株式会社パトライト
https://www.usknet.com/jirei/patlite/
まとめ
RPAを自社開発する際には、「簡易型」と「開発型」の2つの方法があることをお伝えしました。
「簡易型」はRPAツールに搭載された機能を組み合わせることで業務の自動化ができます。「開発型」は一定の知識とスキルを身に着け、より精細で高度な業務の自動化を可能とする方法です。
RPAの自社開発には、導入・運用にかかる費用削減や人材育成などのメリットがありますが、運用時のトラブル対処の問題や人材育成にかかる時間的コスト、高度な業務の自動化が難しいなど、注意する点はあります。
RPA導入実績が豊富なユーザックシステムでは、RPAの導入から運用までのノウハウをご紹介し、サポートします。貴社の業務をヒアリングしたうえで、RPAの導入、開発と運用、活用、全社展開までをフォローいたします。
オンライン相談で事例やデモの紹介をしておりますので、お気軽にお申込みください。