
RPAの開発ってカンタンなんでしょ?
いやいや、RPAの開発には失敗することもあるよ





こんにちは。完全自動化研究所の小佐井です。
RPAによる自動化歴は6年以上です。またRPA関係の本を5冊出版しています。
「RPAを導入したけれど期待したように開発が進まないし、運用もうまく行っていない」という企業も多いと思います。
RPAの開発に失敗するパターンを5つに分けて解説します。



それより、RPAの開発を成功させる方法を知りたい!
気持ちはわかるけど、まず、失敗するパターンを確認することから始めよう!




失敗するパターンを確認することから始めないと、成功する方法を聞いても納得できないからです。
「RPAの開発に失敗したことがある」もしくは「RPAの開発に失敗したくない」という方は是非お読みください。
それでは、どうぞ!
RPA開発に失敗する典型的な5つのパターン
実務者がシナリオを作れない
RPAツールを導入したものの「作る人が誰もいない」という典型的な失敗のパターンです。
実際にヒアリングすると、いろいろな理由が挙げられます。
(1)何を作ったらいいのかわからない
(2)何から始めたらいいのかわからない
(3)時間がない
などです。
「業務を自動化する」ということはわかるけれど、「自分の仕事のどれが自動化できるのか」、「どこから手を付けていいのか」、という発想がまったく湧かないということです。
加えて、自主的に勉強したり、RPAツールを試用したりする時間もない、という声も聞きます。
RPAに関わるまで開発経験がまったくない実務者にとっては、いくら簡単に操作できるように工夫してあるRPAツールであっても、抵抗があります。
作れないとどうしようもないわね…







シナリオを効率的に作れない
シナリオを効率的に作れないので、1件1件の自動化に莫大な工数がかかり、「結局手作業で業務を行った方が早い」という結論に達して、あきらめてしまうパターンの失敗です。
RPA初心者の多くは、作業手順をそのままレコーディングする機能が付随しているRPAツールを手にすると、業務整理せずに自動化できると考えがちです。
「ああでもない、こうでもない」と試行錯誤を繰り返して、結果的にまったく整理されていない「スパゲッティシナリオ(※1)」を生み出してしまいます。
そして、過去に開発したシナリオと同じような動作を行うシナリオを開発することになった場合でも、スパゲッティシナリオになってしまったシナリオは再利用しづらいものです。
複雑に絡んだシナリオを解きほぐして使える部分だけを探すよりも、新しくシナリオを開発した方が早い、ということになります。
こうして、毎回似たようなシナリオの開発に膨大な工数をかけてしまうパターンにはまります。
※1)スパゲッティーシナリオ:皿に盛りつけたときのスパゲッティのように、複雑に入り組んで読みにくいソースコードのことを、ソフトウェア開発では「スパゲッティコード」と呼びます。これにならって、複雑に入り組んで読みにくいシナリオのことを「スパゲッティシナリオ」と呼ぶことにします。





大げさにいうと、車を毎回ゼロから手作りするようなものです。
車体とか部品とか使いまわさないと効率的じゃないよね。
シナリオがすぐに止まる
シナリオがたびたび止まるので「使えない」という結論に達して、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つです。
2 シナリオを効率的に作れない
3 シナリオがすぐに止まる
4 エラーが起きてもシナリオが止まらない
5 運用管理できない
これまでにRPA開発に失敗した方はどれかのパターンにはまったのではないでしょうか。
RPAは確かにプログラミング言語を必要とするシステム開発よりも簡単です。
しかし、非エンジニアの方がプログラミングやソフトウェア開発の知識を全く持たずに成功できるほど簡単なものではありません。
RPA開発に必要な最低限の知識を身に付けることをお勧めします。







じゃあ、どうすればRPAの開発に必要な最低限の知識を身に付けることができるの?
RPA開発に成功するには
RPA開発に必要な最低限の知識を身に付け、RPAの開発に失敗しない方法を知るためには、僕の著書「実務者のための失敗しないRPAシナリオ設計入門」を是非お読みください。
お問い合わせ
「こういう問題も深堀してほしい」「ここ間違ってるんじゃない?」「ここわかりにくい」という場合は、こちらからお気軽にお問い合わせください。




Twitterもやっていますので、そちらからアクセスいただいても構いません。
関連する記事
RPA自体の知識を深めたいという方は次の記事をお読みください。

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