【開発者目線】RPA開発依頼者様に行ってほしいこと

みなさん、こんにちは。RPA開発エンジニアのAです。

普段はUiPathというRPAツールを使った開発を行っていて、開発歴は約2年半です。

今までには開発で困難なことも多々ありましたが、その中でも開発途中での
要件・仕様変更や追加による設計変更、プログラム変更が個人的には最も大変だと感じています。

理由としては、開発途中での設計変更、プログラム変更は、完成したロボットの品質を担保することを難しくするためです。
他の開発者の中にも同様の苦労を経験している方は多くいると思いますが、
これを軽減するには開発依頼者様の協力が不可欠です。

そこで、今回はこの2年半を振り返り、RPA開発を依頼する際に依頼者様に
行ってほしいことを開発者の目線で2つお伝えします。

まずは、行ってほしいことをお伝えする前に、私が普段行っているRPA開発の大まかな手順について説明します。
開発者や企業によって若干の違いはあると思いますが私は基本的には次の6つの手順を踏んでいます。

1.対象業務ヒアリング
⇒業務手順や注意点、使用するデータ、Webページの操作方法などをヒアリング

2.ヒアリングを基にしたRPAロボットの仕様確定
⇒対象業務についてのヒアリングを基にしたRPA化する箇所や盛り込む機能の確定と依頼者様との合意

3.設計
⇒確定した仕様を基にしたロボットの設計

4.開発
⇒設計を基にRPAロボットを動かすためのプログラム作成

5.テスト
⇒仕様通りにRPAロボットが動くか確認

6.リリース

この開発手順を踏まえたうえで、行ってほしいことについて述べていきます。

 

1.使用するデータパターンを設計段階に入るまでにできる限り洗い出す

データパターンとは、例えば、同名ファイルであっても時期や時間によってデータの取得箇所が変わる、
ファイル名が業務を実施する月ごとに異なるなど、特定の条件で使用するファイルが変わる
あるいはデータの一部が変わるような場合にその変わる可能性がある部分と変更内容を纏めたもののことを指します。

このパターンを設計段階までに洗い出してもらうことで、設計、開発、テストがスムーズに進むため、
限られた開発期間を有効に使うことができます。
また、開発期間を有効に使えるため、RPAロボットの品質も向上します。

しかし、すべてのデータパターンを洗い出すのは困難です。
そのため、設計や開発段階に入ってから新たに見つかったデータパターンにも対応できるように
設計やプログラムを変更することがあります。

この変更は小規模であれば問題無いですが、規模が大きい変更や変更箇所が多い場合は
RPAロボットの品質が低下することがあります。

設計段階での変更の場合は変更内容を設計に反映させる時間分だけ、
開発やテストに充てられる時間が減るため品質低下を招く恐れがあります。

開発段階以降で変更を行う場合は、さらに品質低下を招く可能性が増大します。
理由としては、時間的な原因の他にプログラム変更による品質低下の可能性があるためです。

既存のプログラムに対して、変更を反映させる場合は既存プログラムとの兼ね合いで
最適なプログラムを作成できないことがあります。

最適でないプログラムは処理時間を遅くし、開発後のテストを難しくします。
これはつまり、品質が下がることを意味します。

また、リリース後に新たなデータパターンが見つかることもあります。
この場合はプログラムを修正している間は、新パターンのデータを使ってのRPAロボットの実行ができなくなってしまいます。

 

2.操作パターンを設計段階に入るまでにできる限り洗い出す

ここで言う操作とは、WEBページの操作や、データの書き込み、読み取り、
メール送付などRPAロボットに行ってほしいこと全てを指します。

これらの操作パターンとは例えば、特定の時期や時間のみで行う操作や特定のデータの場合のみで行う操作、
ランダムで発生する操作のように特定の条件でのみで発生する操作や特に前触れもなく発生する操作をすべて纏めたものを指します。

こちらはデータパターンと同様の理由で、設計段階までに洗い出していただきたいです。
しかし、これもまた、データパターンと同じようにすべてを洗い出すことは難しいです。

そのため、洗い出しの際に漏れてしまった操作はテスト段階やリリース後に見つかりやすいです。
また基本的に、漏れてしまった操作が必要になった際、ロボットはエラーで止まってしまいます。

テスト段階であれば周りへの影響は少ないですが、リリース後は何度ロボットを実行してもエラーになってしまい、
業務によっては他の方に迷惑をかけてしまう場合もあります。

 

以上、RPA開発を依頼する際に行ってほしいこと2点を開発者目線でお伝えしました。

これらは元の業務知識が浅い開発者にとっては開発が終了するまでに見つけることが困難です。
また、依頼者様にとってもすべて洗い出すのは困難です。

そのため、できる限りでよいのでぜひご協力いただきたい部分となります。
これらの変更が少なければ少ないほど、開発者の苦労は減りまた、完成したロボットの品質向上につながります。

RPA化を検討、依頼する際にご参考にしていただければ幸いです。

以上、今回はここまでです。
最後までご覧いただきありがとうございます。