RPAがもたらすかもしれないカオス(混沌)

RPAはソフトなシステム開発

最近、AIとともにRPA(Robotic Process Automation)が話題になっている。RPAの発想は、ユーザの作業をソフトウェアによって自動化する、というものである。例えば、次のような作業を容易に自動化できる。

  1. 勤務表管理システムから社員全員の勤務時間を抜き出し、
  2. 勤務時間が一定時間を超えた社員を見つけ、
  3. メールで残業を控えるよう連絡する。

「容易に」がポイントで、多くのRPA用ソフトウェアはシステム開発ベンダではなく、ユーザ自身による開発を想定している。具体的には、次のようにユーザの操作を記述する。

  1. 勤務表システム起動アイコンをクリックする。
  2. ユーザID入力欄をクリックする。
  3. user とキーボードで入力する。
  4. パスワード入力欄をクリックする。
  5. passwdとキーボードで入力する。
  6. ログインボタンをクリックする。
  7. 全社員データダウンロードボタンを押す。

RPAの実行時には、記述された操作が忠実に繰り返される。このアプローチには次のようなメリットがあるが、一方で、ユーザの操作を真似するため、高速な処理は難しい。

  • 難しいプログラム言語を用いた開発では無いため、ユーザでも簡単に処理が自動化できる。
  • ユーザの操作を真似るため、システム間連携を行う特別な開発がいらない。

RPAは高いコストをかけてシステム開発する程ではないが定型的な処理を手軽に自動化、生産性を向上させる良いツールである。RPAによる自動化はソフトなシステム開発だといえる(働き方改革につながるAIの「働かせ方」を参照)。

ユーザ開発の苦い経験、カオスなExcelマクロ

システム開発経験者には、RPAの発想を聞いたとき、カオスなExcelマクロを思い浮かべる人がいるかもしれない。カオスなExcelマクロには、次のような特徴がある。

  • ユーザによって開発され
  • 様々なシステムが出力したファイルを多数読み込み
  • 業務上重要な出力を出すが
  • 何をやっているか誰も知らない(故にメンテナンスできない)

このようなカオスなExcelマクロは、十分な管理ができない(されていない)ことが多く、業務上重要なシステムが存在することは、ガバナンス上大問題である。

管理不能なExcelマクロ群を管理可能とするためにシステム開発が行われることも多い。そのようなプロジェクトでは多大なコストをかけてExcelマクロ群の解析を行う。筆者も参加したことがあるが、仕様書が無い、コメントも無い、でもバグは有る、という困難な状況であった。

何も考えずにRPAを業務適用していくと、カオスなExcelマクロと同じ問題が起きる。RPAは手軽さが売りであるため、問題はさらに大きくなる可能性すらある。グラフィカルな記述は解析が難しく、RPAによって作られる(かもしれない)カオスを解消するために多大なコストがかかるだろう。大規模システム開発を避けるためにRPAを導入した結果、カオスが発生、その解消に大規模システム開発を実施、というのは本末転倒である。

RPAによるカオスを防ぐためには

RPAによるカオスを防ぐためには適切な管理が必要である。そのために、RPAといえども実態はシステム開発だと意識する必要がある。

システム開発プロセスとしては、管理を重視するウォーターフォール型、変化への対応を重視するアジャイル型の2つが有名である(下表参照)。RPAはソフトなシステム開発であり、手軽さが売りである。硬く重いウォーターフォール型は適していない。RPA利用ではアジャイル型の管理を行うことになるだろう。

改めてカオスなExcelマクロの主要な問題を分析すると、次のようなことが言えるだろう。

  1. まともな仕様書・設計書が無く、マクロ(プログラム)の説明も無い。
  2. エラー処理が省略され、問題が起きても誰も気づけない。
  3. テストが十分に行われていない。特に異常系のテストは行われていない。
  4. 連携システム・担当部署がその存在を把握しておらず。連携システム改修時にテストが行われない。その結果、エラー発生、間違った値を出力など、問題を引き起こす。

RPAを適切に利用するためには、これらの問題を解消しなければならない。少なくとも、次にあげるような管理は必要だろう。

  • 何のために、どのデータ・システムを使い、何を行っているか明確にする。
  • 問題発生時にはエラーで止め、エラー発生をユーザが把握できる構成にする。
  • 月末、期末などの特殊な日、ネットワークが接続できないなど異常系を入れたテストを行う。
  • 連携システムにRPAが連携している事実を伝え、システム改修時にテストが必要なシステムだと認識してもらう。

「RPAが参照しているシステムが改修されたが、その事実を検出できず、かつ、エラーにもならずに、業務上重要な数字が間違い続ける」ことは悲劇である。RPA導入時には適切な管理プロセスも一緒に導入するよう、気をつけて欲しい。

表 システム開発プロセスとカオスなExcelマクロ

システム開発プロセスとカオスなExcelマクロ