つまらない仕事はプログラムにやらせよう

ONE HUMAN UNIT

https://ciprogram.jp

WinActorからBlue Prismリプレイス! 折角であれば設計思想通りに落とし込めるようにやる

デスクトップ型からエンタープライズ型RPAであるBlue Prismへ

自分がRPAの原型に触れたのは古くは高校生の時です。

まだそんな言葉もない。

無料のツールで画面キャプチャした場所を矢印でつないでいって、アクションを記録させるようなちゃちいものでした。

それで楽天ポイントが当たるスロットを回させたっけなー

さて、まともなRPAに触れたのはここ数年で、WinActorです。

▼この記事は今もアクセスや合格報告寄せられています。ありがたい。

https://ciprogram.jp/rpa/get_rpa_associate/

触れた時には非常に革新的だと思いました。

パズルのようにノードを組んでいけば処理がつながります。

動いた時には感動もの。

しかし、変更履歴が管理できない(更新日付を見るしかない。ツールで改ざんされたら終わり)、変更箇所なんてもってのほか、実行者もわからければ、ログもトレースできるレベルにない。

これ監査対象になったらどうなっちゃうんだろうと不安に思っていました。

監査対応部門、被監査部門両方を経験しましたが、基幹システム等には非常に厳しい統制ルールと統制を遵守しているというエビデンスが求められます。

そんなのを考えながらも、本数はどんどん増えていきます。

同じなような処理を各シナリオコピーで作成され、局所化の”き”の字もなく、SAPのバージョンアップ時に経理関連シナリオ全滅というケースも……

デスクトップ型からエンタープライズ型RPAであるBlue Prismへ

WinActorをBlue Prismへリプレイスしていく場合、オブジェクトについて考えていく必要があります。

Blue Prismでオブジェクトを作るのであれば複数オブジェクト設計(※1)でしょう。

重要なのは――

  • 小さい単位でオブジェクト化し再利用性を高め
  • それぞれのオブジェクトは疎結合
  • オブジェクトにビジネスロジックを書かない

この辺りだと考えます。

再利用性の高いオブジェクトを作っていくことで、トータルコストが抑えられると。

作れば作るほど差分開発だけで、プロセスにはめ込んでいくだけでRPA化が加速しますね。

WinActorではオブジェクトを無理やり紐付けるとすれば、サブルーチンと呼ばれる部分になりますかね。とはいえサブルーチンは他のシナリオからは呼び出せないので、コピーして開発されてるような状況なはず。

※この辺りは公式ドキュメント「Blue Prismラーニング オブジェクト設計ガイド」を一読することを強くお勧めします。

※1「Blue Prismラーニング オブジェクト設計ガイド」pp.10-14

リプレイスをどうやって進めていこうかな

リプレイスするにあたって、単純に作り直しでは無く、オブジェクト化対象を洗い出し進めていく事が肝になります。

つまり台帳の上から順番に開発するよりは、共通化出来そうな処理をしているシナリオをリプレイスした方がいい。

さらにそのシナリオがどのシステムを操作しているかといのもマトリックスで見れた方がいいですね。

元の開発者別にリプレイスを進めるよりも、特定のシステムを操作するシナリオはこの人、と言った具合に固めた方がオブジェクトの重複可開発も防止出来て、

システムAを操作するプロセス作って次はシステムBを操作するなんてやり方より、開発者にナレッジの蓄積は早いはずです。

リプレイスの先には

リプレイスが終わった暁にはどうなっているか。

そこにはたくさんのオブジェクトが出来上がっていて、RPAを作る時にはプロセスにオブジェクトはめ込んでいくだけで出来上がる――

足りない操作を製造するような差分開発で済むのでスピード感が違います。

そうなるとどうなるか。

https://ciprogram.jp/rpa/blue-prism-world-tokyo-2019%e3%81%ab%e5%8f%82%e5%8a%a0%e3%81%97%e3%81%a6%e5%90%84%e7%a4%be%e3%81%ae%e3%82%bb%e3%83%83%e3%82%b7%e3%83%a7%e3%83%b3%e3%81%8b%e3%82%89%e5%ad%a6%e3%82%93%e3%81%a0%e3%81%93/

プロセスをユーザーが開発するような市民開発するような体制に発展することが出来ます。

こうなれば間接業務の効率化が加速しますね。

そーなったらいいのにな、そーなったらいいのにな。

 

  • B!