派遣で働くエンジニアのスキルアップを応援するサイト

PRODUCED BY RECRUIT

サクッとわかるITトレンド12月号:RPAとプログラマーの役割はどう分担されるのか

IT業界にいると「ちょっと気になる」そんな話題をサクッと解説する本連載。
今回解説いただくテーマは、RPAとプログラマーの役割について。Windows 11から「Power Automate for Desktop(以下、PAD)」が標準搭載されたことにより、多くの企業がRPAによる自動化に取り組んでいます。PAD以外の多くのツールも提供されていることから、ちょっとした自動化であれば、プログラマーに依頼しなくても手軽に実現できるような時代に。プログラミングで自動化を実現してきたプログラマーが、RPAとどのように向き合っていけば良いのか、その役割分担を考えてみましょう。

【解説】増井 敏克さん
増井技術士事務所代表。技術士(情報工学部門)。情報処理技術者試験にも多数合格。ビジネス数学検定1級。「ビジネス」×「数学」×「IT」を組み合わせ、コンピューターを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発、データ分析などを行う。著書に『エンジニアが生き残るためのテクノロジーの授業 ~変化に強い人材になれる技術と考え方~』『IT用語図鑑[エンジニア編]』(以上、翔泳社)『基礎からのプログラミングリテラシー コンピュータのしくみから技術書の選び方まで厳選キーワードをくらべて学ぶ!』(技術評論社)などがある。

RPAの得意分野:事務作業を“ちょっと”自動化したいときに

まずは「RPA」がどのようなところで使われているのかを考えてみましょう。

RPAはRobotic Process Automationの略で、「ロボットによる処理の自動化」と訳されることもあります。ロボットといっても、aiboPepperのような物理的なロボットではなく、コンピュータの中で動く「ソフトウェアのロボット」を指します。人間が実施していた作業を自動的に処理するロボットを作成することで、同じ作業を繰り返す事務作業などを効率化できます。

これまでもExcelのマクロなどで自動化する方法が使われていましたが、Excelのマクロで自動化できるのは基本的にExcelの中だけです。複数のアプリにまたがって自動化しようと考えると、システム開発会社などに依頼して、その仕様を満たすプログラムをプログラマーが開発することが一般的でした。

しかし、冒頭で紹介したPADのようなRPAツールが多く提供されるようになりました。RPAツールでは、マウス操作などを組み合わせて、複数のアプリに対する操作を自動化できます。また、Webブラウザやメールソフト、Excelなどのツールを容易に扱える機能もあり、事務作業をちょっと自動化したい、という場面が得意だといえます。

RPAの問題点:システムの乱立と引継ぎの困難

RPAは便利な一方で、さまざまな問題点が指摘されています。

たとえば1つ目は、誰もが自分の仕事を効率化することを考えるため、複数の人が似たようなしくみを作ってしまいます。自分の仕事がスムーズに進むようになるのは良いことなのですが、似たようなシステムが乱立してしまうのです。

それぞれの担当者はスムーズに作業ができているように見えて、同じ部署内でも似たような処理を作っていて無駄が多いのです。もちろん、学習のためにサンプルを作ってみるのは良いのですが、実務として使うときにはシステム全体としての全体最適になるのではなく、担当者が個別に作るだけの個別最適になってしまいます。

2つ目は、誰かが仕事を効率化するために自動化したものの、その引き継ぎがうまくいかない例も多く見かけます。会社などの組織では、人事異動や退職などが発生すると、その業務を引き継ぎます。

しかし、後任の担当者がRPAツールについて十分な知識を持っているとは限らず、前任者が作成した内容を理解できないのです。もちろん、そのまま使うことができたとしても、その処理の仕様を少し変えたいと思っても変更するのは容易ではありません。マニュアルが揃っていれば良いのですが、RPAでちょっとした処理を自動化するのであれば、要件定義や設計という工程もなく自動化してしまい、ドキュメントが一切残っていないこともあります。

こうなると、処理の一部を変更したときに、他にどのような影響が出るのか想像もつきません。せっかく便利なシステムができたとしても、それを有効活用するのが難しくなるのです。
これらの問題が知られるようになり、最近では「RPA管理ツール」も使われるようになりました。稼働状況を一元管理して、分析するツールですが、こうなると本末転倒な感じがします。

RPAを活用するために:部署内で作成したしくみを整理

このような問題があるRPAですが、メリットを活かしながら使いたいものです。

たとえば、1つ目の問題として挙げた個別最適になることについては、取りまとめる役割を担う人を配置する方法があります。

部署の管理者でも構いませんし、RPAに詳しい人でも構いません。こういった人が台帳などを用意して、部署内で作成したしくみを整理しておきます。新しいしくみを開発する前に、この台帳を見て、似たようなものがないか確認できるようにすると、重複を避けられるかもしれません。

このような台帳を用意しておくことは、2つ目の問題である引き継ぎにも関連します。現時点で誰がどのようなしくみを開発し、運用しているのかを一覧として把握できると、その人の異動や退職などが発生しても速やかに対応できます。

そして、マニュアルの有無などをチェックしておくことで、保守が難しい自動化処理を放置することなく運用できる可能性が高まります。

プログラマーの立ち位置:ノウハウを活かしてできる2つのこと

上記のように、適切に管理されたRPAはシステム開発会社に依頼することなく実装できます。このようなしくみが多く使われるようになると、プログラマーの存在意義がなくなると考える人がいるかもしれません。しかし、現在の状況はプログラマーにとってチャンスだといえます。

システム開発の経験がない人は、ちょっとしたツールは簡単に作れるものの、少し高度なことをしようと思うと行き詰まってしまいます。このとき、プログラマーの経験を生かしてアドバイスができます。

さらに、ドキュメントの作成の面もあります。RPAは比較的簡単に使える一方で、「動けば良い」と考える担当者が多いものです。自分以外の人が使うことや、保守などを考えたときに、設計書などのドキュメント作成についてのノウハウが求められます。

当然、プログラマーの仕事の一部も自動化することで効率よく開発できるかもしれません。つまり、プログラマーも積極的にRPAについて学んでおけば、自分の業務に応用できるとともに、その問題点を解決するために自分のスキルを役立てられる場面が増えてきているのです。

・・・

いかがでしたか? 今この状況は、プログラマーにとっての“チャンス”だったのですね。社内のメンバーから「ここ、どうすれば良いでしょう?」と相談されたときにきちんと返せるよう、RPAについて学んでみませんか。

▼これまでのサクッとわかるITトレンド
Pythonはなぜこれほど人気なのか
大人も自由研究!IoTでプログラミングを体験しよう
サイバー攻撃に備えている?その対策は本当に有効ですか
Javaで開発するプログラマに将来性はあるのか
ITエンジニアはWeb3とどう向き合えばいいのか