/【初中級者向け】RPA開発における「人に優しい設計」とは!?(前編)2019.02.16【初中級者向け】RPA開発における「人に優しい設計」とは!?(前編)Tweet最近、RPAが頻繁に取り上げられるようになり、RPA開発に携わった経験のあるエンジニアも増えてきました。ともひで)さんとは?メットライフ生命で、ロボティクス・エンジニアとしてRPA開発に従事。これまでにソフトバンク・ロボティクスのカスタマーサクセスの立ち上げや、生保系SIerとして生命保険会社の基幹システム開発に携わる。システム開発、コンサル、IT講師などなど。yahooロッジが新しい家。システム開発などに携わったのち、ソフトバンクでpepperのアプリケーション開発に従事。その後、デジタルトランスフォーメーションに取り組むメットライフ生命保険にてRPA推進を行う現職に従事。ーー宮さんのロボ開発におけるこだわりポイントを教えてください。基本的には正しいインプットが来たら、正しいアウトプットが出ること、要は機能をきちんと作り込むことを優先していますね。たしかにロボは人の業務を代替できますが、一方で処理に誤りがあると100%間違えてしまうので、そうなると意味がなくなってしまいます。それだけではなくて、システム開発の分野で「非」機能要件と呼ばれるような、ロボのパフォーマンスやユーザーエクスペリエンス、セキュリティ、運用性のようなところの向上を意図して開発をしています。ーーロボのパフォーマンスと言うと、何を指しているんですか?ロボのパフォーマンスは、端的に言えばロボの処理に掛かる時間を短く保つことです。保険業界は繁忙期があり特定の時期だけ大量に処理をこなさないといけないということがあります。以前私が作ったロボをユーザーに使ってもらった時に、普段はトランザクション当たり2件〜5件、多くても10件くらいの処理量だったのですが、急に1つのトランザクションが200件以上だった日があったのです。その処理に10時間くらいかかっていて、ヒヤッとしたことがありました。いうのも、この処理は当日中に完了させる必要があるので、期限を守るためには短時間で大量のデータを処理しないといけないと分かったんです。聞いてみたら最大300件以上のもあるらしいと(笑)そのロボが稼動できるのが、9時から21時までなので、そうなると時間オーバーになってしまうんですよね。パフォーマンスを改善、もしくは最適な状態に保つことを意識するようになりました。パフォーマンスの改善というのは何をさせているんですか?1件あたりの処理時間というものを見ています。さっきの200件の処理であれば10時間掛かっていたなら、1件あたりの処理が2分くらいになります。すると、それを1分に半減させることができれば単純計算で総処理時間も半分になるので、とにかく1件あたりの処理時間をどれだけ短くできるかという点がパフォーマンスを向上させるポイントだと考えています。パフォーマンス向上は緻密な作業の積み重ねーーどうするとパフォーマンスは向上するのですか?これは実際にやったことですが、ロジックを整理することが重要です。Prismはホストシステムという昔ながらの黒い画面にアクセスができます。ホストシステムにアクセスした時に画面を遷移するという待機時間があったりします。そのため無駄な画面を立ち上げないとか、画面にアクセスする場合は一回だけにするとか、Excelを立ち上げるのも効率的にするため先に立ち上げておくとか。そんな小さな工夫をどんどん入れていって処理時間を圧縮していくみたいな感じですね。緻密に変なアクセスをしているものを潰していきます。ーー無駄な動きをなくすというのがポイントなのですね。!ロボはボトムアップな開発になるので、割とExcelにアクセスして、データを書き込んで、何かやって、、みたいな感じでチャチャっと作れるのですが、そうやって作ってしまうと最初から最後までロボが色んな所にアクセスしたりとかして無駄が出ます。最初にデータを取るところでシステムにアクセスし、システムへのアクセスはそこだけに抑えるみたいな形にしてあげるだけで性能が変わります。これは一度無駄を作り込んでしまうと凄く細かいので後から修正するのは結構大変なんですね。最初に作り上げる時にパフォーマンスが高い状態をキープするのが大事だと思っています。これはRPAに限らずですが、特に無駄なループ、無駄なファイルの読み書き、無駄なシステムへのアクセス、無駄な待機あたりがパフォーマンス劣化ポイントです(笑)ーー開発者はただ作るだけでなく、使い勝手、つまりパフォーマンスも意識していかないといけないんですね。あとは最後の切り札ですが、複数のロボが同じ業務をこなせるようにすることもしています。なるとロボを増やせば倍々に処理できる量も増やせてスケーラブルになりますが、今度は並列で動く弊害も出たりするので、どちらにしろ、しっかり設計してロジックを整理することが大事かと思います。shares【初中級者向け】RPA開発における「人に優しい設計」とは!?(後編)https://rpahack.com/rpa-development-tips2前編では、高いパフォーマンスのロボをいかに作るかについて教えていただきました。知秀さんに引き続き教えていただきます。HACK』は、フリーランスや副業での働き方を希望するRPAのプロフェッショナルの方が会員登録をし、案件を一緒にプロジェクトを進めていくプラットフォームです。・RPAに関する知識や専門スキルを活かしてフリーランスで働きたい・副業で週1~のスポット案件をやって柔軟に仕事したいRPAに関するスキルを活かして働きたい!!という方は、お気軽に一度ご相談ください。ご相談はこちらSNSでもご購読できます。Morning株式会社CEO。『我慢しないで働ける社会を創る』をミッションに事業を展開。RPAプロフェッショナルによるRPA導入コンサルティング事業や、RPAツールの研修事業などを行う。自動化に熱い想いを持った仲間を募集中。*メールアドレス(公開はされません。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。