RPA開発に失敗する典型的な5つのパターン

RPA設計
めーたん
めーたん

RPAの開発ってカンタンなんでしょ?

いやいや、RPAの開発には失敗することもあるよ

こさい
こさい

こんにちは。完全自動化研究所の小佐井です。

RPAによる自動化歴は6年以上です。またRPA関係の本を5冊出版しています。

RPAを導入したけれど期待したように開発が進まないし、運用もうまく行っていない」という企業も多いと思います。

RPAの開発に失敗するパターンを5つに分けて解説します。

めーたん
めーたん

それより、RPAの開発を成功させる方法を知りたい!

気持ちはわかるけど、まず、失敗するパターンを確認することから始めよう!

こさい
こさい

失敗するパターンを確認することから始めないと、成功する方法を聞いても納得できないからです。

RPAの開発に失敗したことがある」もしくは「RPAの開発に失敗したくない」という方は是非お読みください。

それでは、どうぞ!

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。開発から業務改善まで幅広く経験してきました
2) 複数の企業においてRPAのコンサルティングを行っています
3) RPA関連の書籍を5冊出版しています

  1. オープンソースで作る!RPAシステム開発入門
  2. 実務者のための失敗しないRPAシナリオ設計入門
  3. UiPath業務自動化最強レシピ
  4. WinActor業務自動化最強レシピ
  5. Power Automate for desktop業務自動化最強レシピ

現在はChatGPTとPower Automate for desktopの書籍を執筆中!

RPA開発に失敗する典型的な5つのパターン

実務者がシナリオを作れない

IT 会社の協力のもとPOC(Proof of Concept:概念実証)を行い、3つの業務の自動化に成功した。成功を受けてRPAツールを導入したが、半年経った今もシナリオが増えていない。

RPAツールを導入したものの「作る人が誰もいない」という典型的な失敗のパターンです。

実際にヒアリングすると、いろいろな理由が挙げられます。

(1)何を作ったらいいのかわからない

(2)何から始めたらいいのかわからない

(3)時間がない

などです。

「業務を自動化する」ということはわかるけれど、「自分の仕事のどれが自動化できるのか」、「どこから手を付けていいのか」、という発想がまったく湧かないということです。

加えて、自主的に勉強したり、RPAツールを試用したりする時間もない、という声も聞きます。

RPAに関わるまで開発経験がまったくない実務者にとっては、いくら簡単に操作できるように工夫してあるRPAツールであっても、抵抗があります。

作れないとどうしようもないわね…

めーたん
めーたん

シナリオを効率的に作れない

自動化したい業務はわかっている。RPAツールの使い方も学習した。しかし、シナリオの開発に1 ヶ月以上かかってしまった。2 本目のシナリオも1本目と似ていたが、また1から作り始めないといけないので、同じくらい時間がかかった。RPAツールを使って自動化するのに工数がかかりすぎるので、手作業で業務を行ったほうが早い。

シナリオを効率的に作れないので、1件1件の自動化に莫大な工数がかかり、「結局手作業で業務を行った方が早い」という結論に達して、あきらめてしまうパターンの失敗です。

RPA初心者の多くは、作業手順をそのままレコーディングする機能が付随しているRPAツールを手にすると、業務整理せずに自動化できると考えがちです。

「ああでもない、こうでもない」と試行錯誤を繰り返して、結果的にまったく整理されていない「スパゲッティシナリオ※1)」を生み出してしまいます。

そして、過去に開発したシナリオと同じような動作を行うシナリオを開発することになった場合でも、スパゲッティシナリオになってしまったシナリオは再利用しづらいものです。

複雑に絡んだシナリオを解きほぐして使える部分だけを探すよりも、新しくシナリオを開発した方が早い、ということになります。

こうして、毎回似たようなシナリオの開発に膨大な工数をかけてしまうパターンにはまります。

※1)スパゲッティーシナリオ:皿に盛りつけたときのスパゲッティのように、複雑に入り組んで読みにくいソースコードのことを、ソフトウェア開発では「スパゲッティコード」と呼びます。これにならって、複雑に入り組んで読みにくいシナリオのことを「スパゲッティシナリオ」と呼ぶことにします。

こさい
こさい

大げさにいうと、車を毎回ゼロから手作りするようなものです。
車体とか部品とか使いまわさないと効率的じゃないよね。

シナリオがすぐに止まる

基幹システムからデータを抽出し、各種帳票を作成するシナリオが10 本ある。ある日、いつものようにシナリオを実行すると、10 本中7 本が止まってしまい大混乱に陥った。RPA 推進部署が緊急で対応したが、営業部の業務が大幅に遅れてしまった。

シナリオがたびたび止まるので「使えない」という結論に達して、RPA開発をやめてしまうパターンの失敗です。

シナリオが止まってしまう理由は、大きく分けると(1)例外(2)変化です。

「例外」とは通常実行時とは異なる事象が発生することです。例えば、「シナリオが正常に動作するために必要なファイルを誰かが削除してしまった」、「操作する対象としているアプリケーションがメンテンナンス中で正常起動しなかった」、などのケースです。

「変化」には、例えば「OS のアップデートにより、RPAがアプリケーションのボタンを突然認識できなくなった。認識方法を変更しないといけない」、「組織が変更になったので、業務方法が変わることになり、シナリオを急いで変更する必要が出てきた」、といったケースがあります。

「例外」と「変化」は業務を自動化するソフトウェアであるRPAには、常について回る問題です。

めーたん
めーたん

しょっちゅう止まってたら効率化にならないわね。
業務の変更のたびに修正が大変なのも困るわ!

エラーが起きてもシナリオが止まらない

売上日報を作り、自動的に配信するシナリオがある。この売上日報は社長にも配信されている大事な帳票だ。いつも通り、問題なく配信は完了したのだが、営業部から「売上がおかしい!」とクレームが入った。

「シナリオがすぐに止まる」で述べたように、シナリオは外部の変化で止まってしまうことがあります。しかし、「データ内の数値がおかしい」などの論理エラー※2)が発生しても自動的には止まりません。「止まってほしいときに、止まらない」という皮肉な失敗です。

例えば、「基幹システムから、CSVデータをダウンロードして集計しているシナリオがあるが、ある日CSVデータの列の並び順が変更されて、参照している列がずれてしまっていた」といったケースがあります。

人間が集計を行っている場合は、「なんとなく集計値の値がおかしい」と気が付くかもしれませんが、RPAは当然気が付きません。

データ集計程度ならば、大きな問題とはなりませんが、会社の基幹に関わる数値の場合は大変です。特に財務諸表に関わるデータで、この問題が起きるリスクには注意しなければなりません。

※2)論理エラー:開発者の意図とは異なる結果を出力するエラーのことです。「シナリオがすぐに止まる」で解説したように、予期しない例外によって止まってしまうケースは「物理エラー」と呼ばれます。論理エラーは物理エラーとは違い、実際にシナリオが止まってしまうことがないため、発見しにくい厄介なエラーです。

めーたん
めーたん

えっ!数値の正しさもRPAが保証しないといけないの?

そういう決まりがあるわけじゃないけど、どうしても作った人の責任になりがちだね。

こさい
こさい

運用管理できない

シナリオを運用している担当者が長期で休んでいるので、代わりにシナリオを動かしたが、エラーで止まってしまった。シナリオを読んでみたが、膨大な量のアクションが並んでいる。これを調査していたら、自分の業務も進まない。

RPAの問題の多くは開発時ではなく、その後の運用で発生します。運用がうまくいかずにRPA開発もやめてしまうことがあるので、このパターンも「RPA開発の失敗」に含めて解説します。

(1)メンテナンスできない

(2)シナリオの引継ぎができない

(3)野良ロボットが発生する

の3つに分けて解説します。

(1)メンテナンスできない

「シナリオがすぐに止まる」で述べたように、「例外」と「変化」はRPAにつきものなので、シナリオのメンテナンスは常に発生します。

自分で開発したシナリオであっても、すでに動いているシナリオをメンテナンスするのは難しいものです。シナリオの内容をすぐには思い出せないことも多々あります。

他人の開発したシナリオはさらにメンテナンスが大変です。特に、すでに開発者が退職している場合などは、業務の理解とシナリオの解読から始めなければなりません。

「スパゲッティシナリオ」であった場合、解読は非常に困難です。

こさい
こさい

こういう問題って「Excelマクロ」が流行った後も起こりましたね。

(2)シナリオの引継ぎができない

経営者がRPAツールを導入する大きな目的は「標準化」です。属人化した業務を担当者から引きはがし、人材の流動性を高めることが求められます。

業務を自動化することで、属人化はなくなるはずです。

しかし、実際はシナリオが担当者と一体になってしまい、属人化を強化する結果になることもあります。

こうなると、部署異動時にシナリオを引き継ぐことが困難になります。

また、引き継ぎやすいシナリオを開発できたとしても、これまでの人と人の引継ぎに加え、シナリオも引き継がないといけません。

引き継ぐ人のRPA スキルが低かった場合、シナリオを引き継ぐことができない可能性があります。

めーたん
めーたん

業務の属人化は私の会社でも問題になってるわ。
RPAで解決できるってわけでもないのね。。。

(3)野良ロボットが発生する

野良ロボットというワードを聞いたことがある人も多いでしょう。どのPC 端末にRPAツールがインストールされているか、どんなシナリオが実行されているのか、会社組織として管理できていないという問題です。

野良ロボットには2つのリスクがあります。

無駄なサブスクリプション費用が発生し続けるリスク

RPA管理部署とRPAツールの利用部署が違う場合は、RPAツールがどれだけ利用されているかまで管理していないでしょう。

机の中に放置されているノートパソコン内に何カ月も使っていないRPAツールがインストールされていたとしてもおかしくはありません。サブスクリプション費用は使っていなくても発生し続けます(※3)。

※3)利用時間に対して費用が発生する契約であれば問題ありませんが、多くのRPAツールはインストールしたパソコンの台数に対して費用が発生します。

統制上のリスク

どのような業務が野良ロボットによって行われているのか、ルールに従っているのかが管理されていない場合、ブラックボックス化してしまいます。

そのため、不正のリスクもあります。例えば、以下のような不正が考えられます。

  • 大切なデータを扱うシステムのログインIDとパスワードがシナリオに直接書き込まれているため、システムへのログイン権限がない人が利用している。
  • セキュリティを考えて、少しずつしかデータを抽出できないようにしているシステムがあるが、RPAを連続稼働させてデータを抽出させている。

このように、人間が作業しているときには、起こらなかったリスクが起こり得るようになります。

めーたん
めーたん

野良ロボットってただ使ってないロボットのことなのかと思ったけど、いろいろと問題があるのね

まとめ

本記事で分類したRPA開発に失敗するパターンは次の5つです。

1 実務者がシナリオを作れない
2 シナリオを効率的に作れない
3 シナリオがすぐに止まる
4 エラーが起きてもシナリオが止まらない
5 運用管理できない

これまでにRPA開発に失敗した方はどれかのパターンにはまったのではないでしょうか。

RPAは確かにプログラミング言語を必要とするシステム開発よりも簡単です。

しかし、非エンジニアの方がプログラミングやソフトウェア開発の知識を全く持たずに成功できるほど簡単なものではありません。

RPA開発に必要な最低限の知識を身に付けることをお勧めします。

めーたん
めーたん

じゃあ、どうすればRPAの開発に必要な最低限の知識を身に付けることができるの?

RPA開発に成功するには

RPA開発に必要な最低限の知識を身に付け、RPAの開発に失敗しない方法を知るためには、僕の著書「実務者のための失敗しないRPAシナリオ設計入門」を是非お読みください。

お問い合わせ

「こういう問題も深堀してほしい」「ここ間違ってるんじゃない?」「ここわかりにくい」という場合は、こちらからお気軽にお問い合わせください。

こさい
こさい

Twitterもやっていますので、そちらからアクセスいただいても構いません。

関連する記事

RPA自体の知識を深めたいという方は次の記事をお読みください。

「RPAツール」の知識を深めたいという方は次の記事をお読みください。