3

弊社でRPAを導入してから1年半、作成されたRPAシナリオは40を超え、そろそろ月一実行などの非アクティブなシナリオは名前と中身が一致しなくなってきました。

シナリオの成功と失敗はそれぞれメールに件名を付けてセルフで送る。新しいシナリオは失敗時に失敗した時のSSを付けるようにしたが、古いシナリオはいまだ手付かずのまま。その場その場で「こういうテンプレートにすればいいのではないか」と模索したツケがまわり、下手に手を付けるのもおっくうになります。

1年前から完璧な状態で始めることはできないにせよ、今ならこうすればよかったと思うことを書き連ねます。

  • シナリオ本処理前後のパーツは外部Scriptにまとめるべき
    • ログ出力する場合、引数にシナリオパス(またはID)、実行時間、正常異常状態、コメントを指定してノードではなく外部Scriptで実行する
    • それにより、後から「Teamsに出力したい」「メール送信したい」「全体のログが見たい」といった仕様変更が起こっても1か所の修正で間に合う
  • 非オブジェクト指向はダメ
    • 特に初期から苦労しており、今なお苦労しているメール送信はシナリオ毎に手法が混在している
      • Outlookメール送信
        • Outlookを起動してメール送信する。差出人を変更しないタイプと、代理人送信するタイプが混在している
        • Outlookを使う分遅いしなぜかエラーが起こりやすい
      • SMTPメール送信
        • 今の主流。早い。差出人を指定できる。
        • サブルーチンでログ情報などメール送信できるようにしているが、サブルーチンにしても結局変更したい箇所があれば全てのシナリオにアクセスしないといけない
      • 異常時のメール送信
        • 新しいシナリオでは失敗時のSSを付けてメール送信しているけど、古いのはエラーの文字情報だけ
        • 差出人ごとに、失敗したらうるさい人にはメール送信しない、成功時の情報も欲しい人には送るなどローカルルールがいっぱい
      • Excelマクロ中でのメール送信
        • 実体の把握に時間がかかる
    • メール送信用ノードを使うのではなく、これも外部Scriptにするべきだった
  • Teams使いたい
    • RPA推進者と実務担当者でTeamsのチームを作る。考えるほどメリットがたくさんある
    • チャネルは以下
      • 一般
        • アナウンス用。基本的に使わない
      • ログ
        • 成功失敗問わず、RPAで「始めました」「○○をやってます」「終了しました」をcURLコマンド等で送る
        • 通知がうるさいと感じる人はチャネルの通知をOFFにすればいい。
      • 異常情報
        • エラー情報、SSを付けて投稿する
        • メールだと必要な「シナリオの名前」「宛先」「挨拶」など必要ない
        • メールだと「対応します」メール必要だが、投稿に反応スタンプ押せばいい
        • チャネルにエラー情報が蓄積されるので、エラー傾向がわかる
        • 宛先増やしたい時も、シナリオにタッチせずとも、チームに招待すればいい
      • ファイル
        • シナリオ中で利用するファイルを管理する
        • バージョンアップ対応も楽
        • シナリオから出力されるファイルもここに出力すればいいかも
      • Wiki
        • ReadMe
        • Excel形式の作業標準書とかいらない
      • 進捗
        • 「進捗どうですか?」
      • QA
        • 機能要件とか。
        • 「ここで言ったこと以外やってませんよ」の証明
      • 雑談
        • 「こんなこともできない?」
        • 「バージョンアップ案件ですね」みたいな。
    • Excelで作業標準書とか別で作らなくても、Teamsの会話そのものが作業標準書になりそう
  • Teamsを入れるならGitLabと連携したい
    • 機能追加した時にバグで手戻りする羽目になってもすぐに元に戻せるように
    • 99.9%現場には理解されないので開発者用チャネルと表示する
回答した質問
申し訳ありません。回答とコメントを閲覧するにはログインが必要です。会員登録はこちらからアクセスしてください。