TIPS2. 開発フェイズの課題と解決策
ロボットの開発は、リリース後を見据えて
RPAを新たな労働力(デジタル・レイバー)と捉えた場合、開発期間はロボットが業務を覚える研修期間であり、リリース後は現場に配属された状況と考えることができます。
そうだとすると、開発(研修)は、リリース後(配属後)の運用を見据えて行わなければなりません。(人でも同様ですよね)
運用を見据えた開発のポイント
では、どうすれば運用を見据えた開発を行えるのか、そのポイントはいくつもありますが、次の2点は特に重要です。
- 修正を考慮して、可読性や保守性が高いワークフローを開発する
RPAは使って初めて気付く点も多く、また作動環境が変わった場合は修正が必要になるため、保守が頻繁に発生します。そのため、リリース後でも保守がしやすいワークフローを作りましょう。 - エラーが発生した場合に、人に通知が行くようにきちんとエラーハンドリングを実装する
エラーが発生し処理が止まっていても誰も気づかない、という状況を避けるため、きちんとエラー通知ができる実装を行いましょう。
品質が一定にならない原因とその解決策
RPAは自由度が高く、動くものを作るだけなら簡単に出来てしまうため、RPAの開発者によって品質にムラが起きないように注意が必要です。たとえば、ボタンを押すときちんと動くが、どこでどのような処理をしているのか開発した人しかわからないとか、エラーハンドリングの実装をするかしないか開発者によって判断がまちまち、エラーハンドリングするとしても方法が開発者によって異なるといった、実装のムラはよく見られるケースです。
これでは品質が一定になりません。この課題に対する対策は以下となります。
- 1
RPA開発規約を策定し準拠する - 2
RPAフレームワークを活用する
1の「RPA開発規約を策定し準拠する」は、開発時に守るべきルールをあらかじめ決め、開発者がルールに則って開発することで一定の品質を維持できるようにする方法です。2の「RPAフレームワークを活用する」については、次から詳しく説明します。
RPAフレームワークとは
フレームワークとは、開発における生産性と保守性を高めるために使う、いわゆる「開発テンプレート」のことです。
RPAフレームワークは、図1の通り、4つのコンテナで構成されています。コンテナは決められた用途に応じた処理の入れ物と考えて下さい。
各コンテナの用途は、次の通りです。
- 初期設定コンテナ
業務処理に必要なアプリケーションの起動や、必要なデータの取得 - 処理データを一件ずつ取得コンテナ
1で取得したデータの中から、処理するためのデータを1件ずつ取得 - メイン処理コンテナ
2で取得したデータを使って、業務(メインの処理)を実行 - 終了処理コンテナ
ワークフローの終了処理と起動したアプリケーションの終了
ポイントは、3.の「メイン処理コンテナ」に入れるメインとなる処理(たとえば「エクセルから○○システムへデータを入力する」など業務によって異なる処理)は開発者自身が書かなければいけませんが、それ以外の、データを取得する処理や終了処理、エラーハンドリングなどの基本実装はあらかじめ済んでおり、誰が開発しても一定の品質を担保することができるという点です。
また、用途別のコンテナに処理を設定していくため、開発時とは別の担当者が保守を行う場合であっても、どこに何が書いてあるか分かりやすく、保守性が高まります。
RPAはリリースしてからが本番!
RPAはどうしても開発にスポットが当たり、ロボットのリリースがゴールになりがちです。冒頭に述べたようにロボットはリリースされてから(配属されてから)が本番です。実際、RPAの失敗事例の大半は運用後に多く発生しています。(図2参照)
保守性と品質に問題があるロボットが大量に配属されてしまう前に、開発初期からRPAフレームワークを活用することをお勧めします。
RPA製品によっては、メーカーがフレームワークを提供している場合もありますが、CACの提供する開発規約とRPAフレームワークは、CACが実際に多くのプロジェクトで利用した実践検証済みのものです。詳しくはお問い合わせ下さい。
CACなら、RPAをワンストップでご提供
CACのRPAワンストップサービスでは、RPAの計画・シナリオ実装・ロボット運用・適用範囲
また、ライセンスの販売、ハードウェアの販売、ハンズオントレーニングなど付随サービス もご提供します。詳しくは、ご相談ください。
- RPAライフサイクル
- 計画フェイズの課題と解決策
- 開発フェイズの課題と解決策
- 運用フェイズの課題と解決策