RPAに取り組み始める時に知っておきたいこと

昨今の現代社会においてはコストの削減や無駄な労働時間を削減するという気風が高まっており、その一環としてRPAを導入している企業も珍しくなくなってきています。
RPAの大きな特徴として市民開発と呼ばれるエンジニアではない実務者による業務の自動化という発想があり、元々エンジニアでない方でもRPAの導入/開発に携わる機会があるかもしれません。
この記事では導入、開発側を問わずRPAに関する業務に携わることになった初心者の方達に向けて、押さえておくと理解が進みやすいと感じる幾つかの用語や概念を解説します。
また、用語や概念の意味が分からなかった際の調べ方についてもご紹介して行こうと思います。

RPAでよく使用する用語や概念

RPAを運用する上で重要な3つの工程に分けて用語と概念を理解するとよい。

RPAでよく使われる用語や概念は大きく分けると以下3つの工程に分類できます。

  1. 要件定義工程に使われる用語
  2. ロボット開発工程に使われる用語や概念
  3. テスト・本番運用時に使われる用語や概念

この章ではカテゴリごとに分けて用語や概念をご紹介して行きたいと思います。

開発工程での流れに関して詳しく知りたい方はこちらをご覧ください。

参照:RPA開発で重要な「開発工程」の各工程を詳しく説明します!

要件定義工程に必ず出てくる用語

まずは要件定義工程に使われている用語の解説をしていきたいと思います。

要件定義

要件定義は開発段階の一番初めの工程です。発注者と開発者がすり合わせを行い、開発するロボットへの要求事項を決定する作業を指します。
具体的にはRPAの導入における要件定義は対象業務を正確に共有する事から始まります。
その上で業務の中でロボットの担うタスクを明確に定義しそのロボットに対する動作要求事項を明確に取り決めます。
要件定義工程で業務やロボットの仕様に関する共有不足や認識の齟齬が発生した場合、開発の変更や巻き戻し等が発生するリスクとなるので非常に重要な作業となります。

仕様書

仕様書は要件定義で擦り合わせた発注者の要求事項を纏めて、最終的なゴール地点として完成形を定めて明記した書類になります。

例えば私たちペネトレイター株式会社のRPAロボットの仕様書はヒアリングシート(ASISフロー)、設計書(プロセス定義書)、UT・UAT仕様書(テスト仕様書)から成り立っています。

設計書(プロセス定義書)

設計書は発注者の要求事項を整理して、ロボット完成までの道のりを詳細に記載した書類になります。
中身は企業ごとに差異はあると思いますが、弊社の設計書は業務概要、業務フロー図、業務フロー詳細、変更履歴の4要素から成り立っています。
このロボットの説明書である設計書に従って、ロボットを組み上げていきます。

仕様書と設計書(プロセス定義書)に関して詳しく知りたい方はこちらをご覧ください。

参照:RPAでロボットを作成する時の仕様書の作り方

ロボット開発時に押さえておきたい用語や概念

フレームワーク

RPAツールやバージョンにより呼称はまちまちですが、概ねフレームワークと呼称されている「枠組み」「骨組み」「構造」などといった意味がある、アプリケーションを開発する際にその土台として機能させるテンプレートのことを指します。
あらかじめ開発や運用時に必要なテンプレートを用意しておくことで製作時間の短縮、品質の向上、可読性の向上などの効果が見込めます。

フレームワークに関して詳しく知りたい方はこちらをご覧ください。

参照:フレームワークを利用したロボット開発

処理

ロボットが組み込まれた命令を実行すること、もしくはロボットが命令を進めていくその一連の流れのことを指します。
処理ごとにコメントを付記することはロボットの可読性を高めることに役立ちます。
UiPathであればシーケンスへのコメント付与、Automation360であればコメントアクション等を利用し、BizRobo!であれば各ステップのアクションビューにてコメントを記述でき、処理を簡潔に説明することが推奨されます。

親子関係

何度も同じことを繰り返す処理や、決まった操作をする処理を役割別でロボットを作成し、業務全体を統括する処理を持つロボットから、各役割のロボットを呼び出して処理を行う関係性のことを指します。
呼び出す側を、呼び出される側をと呼称し、これを利用することでRPA運用時にて問題が発生した時のエラー特定、ロボット修正が容易になります。また、新しいロボットを作成する際に汎用性のある処理を持つ子ロボットを流用することができることから、流用できるロボットのことを共通部品とも呼びます。

変数

文字列や数値などの値を名前の付いた箱のようなものに入れて、ロボットが処理をしている間だけ一時的に中身を保持する働きを持つ機能のことを変数と言います。
変わる数と書くその名の通り、中身は可変で処理を進めていく中で適宜入れ替えることが可能で、処理が終わるとその中身は消失してしまいます。
プログラムを組む上で大前提の機能であり、この機能を利用すると複数箇所で同じ値を使用する処理部分に対して1つの変数で対応できるだけではなく、1つの変数の中身を変更すればその変数を設定しているすべての箇所に反映されるため、仕様変更によるRPAの修正が容易になったりする利点があります。

なお、変数はRPAツールによって機能に差異がありますので、各種タイプの変数の具体的な使い方は、使用するRPAツールの公式サイトをご確認ください。

型(データ型)

変数に付属する用語で、変数を作成する際に決めた変数の種類のことを指します。
例えば文字列型では「ゴールデンレトリーバー」や「12345」のような文字列であればすべてを格納できます。
しかし、数字型となると「12345」は格納できますが、「ゴールデンレトリーバー」は数字でないので格納できないといった変数の型ごとに特徴を持ちます。
日時型なら年月日の形で中身を保持できますし、テーブル型ならExcelから取得した複数のセルのデータを一つの変数で保持できたりもします。

型の種類もRPAツールによって異なります。
詳しい型の種類や使い方に関しては、使用するRPAツールの公式サイトをご確認ください。

引数

親子関係にあるロボットや関数では、親ロボット、メイン関数側で使用している変数や値を子ロボット、サブ関数側に渡すことが可能で、この親から子へ渡している値のことを引数と言います。
UiPathなどでは、この引数を設定することで親から子へと値を受け渡すことができます。
しかし、RPAツールによっては変数のまま値の受け渡し可能で、Automation 360とBizRobo!では変数そのままで直接受け渡しができます。

戻り値

子ロボットやサブ関数で処理を終えた後、親ロボットやメイン関数側に値を返すこともできます。
この子から親へ返ってきた値のことを戻り値と言います。
実際に処理をしている子ロボットやサブ関数が料理手順、引数がその具材である材料、戻り値は完成した料理みたいなイメージをするとわかりやすいかもしれません。

テスト・本番運用時に使われる用語や概念

テスト環境

開発体制や会社の方針によって異なりますが、開発で使用する環境は本番環境とは別にテスト環境を用意することが一般的です。
テスト環境は自動化対象業務で使用するアプリケーションとテストデータを用意し、本番のデータに影響がでないようにするための環境になります。

ただ結合先のシステムによってはテスト環境やアカウントが用意できないケースもあり得ます。
仮にテスト環境が用意できない開発の場合は、テストレコードの特定方法や既存データのバックアップなど事前に十分な対策を取っておくことが必要になります。

本番環境

実際に業務利用している環境を指します。
事前にテストでのテストをクリアしたロボットを本番環境へ移設する流れが一般的ですが、その際にURLやフォルダパス、アカウント情報などを本番用に切り替える必要があるケースもあります。
これらの修正漏れを防ぐためにはマスタファイルで一元管理して切り替える、チェックリストを用意するなどの準備をしておくことが推奨されます。

UT

Unit Test(ユニットテスト)の略で、開発を行った後にロボットの動作にエラーがないか確認するフェーズのことを指します。
単体テストとも呼ばれていて、ロボットが設計書通りに動作しているか、発注者の要望通りの成果物が出力されているかを確認します。

UAT

User Acceptance Test(ユーザーアクセプタンステスト)の略で、実際の環境、もしくはそれに近い環境でテストをするフェーズのことを指します。
ユーザー受入テストとも呼ばれていて、実際に運用する環境に近い環境でテストをすることで発注者が提示した要件を満たしているか、開発環境では見られなかったエラーが起きないかなどをテストし、成果物の品質の向上を目指します。

テスト設計書

UTやUATの際に作成されたロボットが発注者の要望通りに動作しているか、開発者の意図したとおりに動作しているかなどを確認する際に作られる、テスト内容が記載された設計書です。
これを経ることでエラーの発見が容易となり、品質の向上にもつながります。

UT、UAT、テスト設計書に関して詳しく知りたい方はこちらをご覧ください。

参照:RPA開発で重要なテスト工程。その理由と流れを解説!

ハイパーケア

本番環境にてロボットをリリースした後、初期不良などがないかを見守るフェーズのことを指します。
それまでのテストで問題がなくても、本番環境で動作させた際にエラーが発生するというケースは存在します。ハイパーケア期間は本番移行直後のエラーに早期に対応、修正する為の期間です。
開発者はエラーが起こった場合にはすぐに対応できる準備をしておきます。

RPAでわからない用語があるときの対応方法

RPAでわからない用語があるときは対象RPAツールのナレッジで調べよう!

前章で解説した用語はRPA業界で使われている用語としては基本となる部分でしかなく、まだまだ沢山の用語が存在しています。
そこで、この章では何かわからない用語があったときや、ツールの使い方がわからなかった際に私たちが使用している3つの対応方法をご紹介いたします。

対象RPAツールのナレッジで調べる

最初に試してほしいのが、使用しているツールのナレッジサイトで調べてみることです。
大抵のRPAツールの公式サイトには、ツールの使用方法や用語、Q&Aなどが纏められたナレッジサイトが用意されています。
よく使われているRPAツールの中から例を挙げると、UiPath、Automation 360、BizRobo!では以下の公式ナレッジサイトがあります。

■UiPath
https://forum.uipath.com/c/japan/japanfaq/101
■Automation360
https://docs.automationanywhere.com/ja-JP/
■BizRobo!
https://knowledge.bizrobo.com/hc/ja

用語の説明や操作説明、アクティビティ、アクション、ステップなどの使い方が公式から用意されているので、信頼性もありますし、まずはこちらで調べてみるのが一番のオススメです。

Qiitaで調べる

Qiitaはエンジニアに関する知識を記録・共有するためのサービスで、多くのエンジニア達の知識が集まっています。
RPAなどのジャンルタグや使用ツール名のタグにより問題の解決方法を検索しやすく、初心者向けの記事を書かれている方もいらっしゃるので、何かわからないことがあったらQiitaで調べてみるのもオススメです。
既存の記事を検索してみて、それでもわからないことがあった場合には質問をすることもできますので、社内に質問できる人がいない環境でお仕事をされている方にもオススメです。

Qiitaのリンクを貼っておくので、良ければ活用してみてください。
https://qiita.com/

RPAツール内の設計箇所にある説明を見る

これは特定のツールだけ、なおかつ操作説明などに限られてしまいますが、実際にツールの各所に操作説明や用語の解説が入っているものがあります。
カーソルを合わせると詳細が表示されるものや、左クリックから詳細を閲覧できるものもあります。

<Automation 360例>

以上、私が調べるときに活用している3種類の方法をご紹介しました。

それ以外にもツールごとのユーザーコミュニティがあったりもしますので、興味があればそういったものに参加してみるのもひとつの方法です。
RPAは元々エンジニアでない方でも気軽に取り組めるツールです。
とはいえ周囲に気軽に問い合わせられる環境がないことでお困りのケースもあるかもしれません。
弊社では、開発の受託だけでなく、社内教育や運用サポートまで幅広くお手伝いさせていただいておりますので、もしお困りごとがあれば、お気軽にお問い合わせください。

本記事の執筆者

ペネトレイター株式会社 石川