プロセス管理に力を入れたアプリで起きた事

はじめまして、開発エンジニアの田邊です。

kintoneでアプリ開発をする際によく検討の議題にあがる事にプロセス管理の使用の有無があると思います。最近、プロセス管理を使う案件がありました。仕様検討時や導入後にぶつかった問題を2例ご紹介したいと思います。特殊な例をご紹介するというわけではなく、基本的には作業依頼を出す→依頼を受け付ける→作業をして完了するというシンプルな業務プロセスで一般的に起こりがちな問題です。

1例目は以下の点で問題が大きくなった面もありますが、そうでなくても起きがちだと思います

・依頼者と作業者が物理的に距離が離れていてお互いの状況がわかりづらい

・スピーディーに日に何度も業務プロセスを回す必要がある

本格的にプロセス管理の導入を検討されている方の参考になれば幸いです。

1.現在の作業者が変更できない問題へのアプローチ

前述の案件にてプロセス管理を使う上で、一番の難点だったのが作業者を変更できないという点です。プロセス管理を使いたいという強い要望はあったものの、お客様がかなり難色を示していた部分でした。

管理者なら以下のように詳細画面にボタンが表示され、いつでも変更ができます。

しかし、管理者権限がないと以下のようにボタンが出ず変更ができません。

今回は一般の利用ユーザで作業者を変更したいという需要がありました。該当の案件では業務プロセスによってアプリが分かれていたのですが、依頼方法の点で主に2つに分類されます。

・グループ宛に依頼をして、グループの中の誰か1人が作業を受け付ける

・ピンポイントで1人以上を指定して依頼をし、その中の誰か1人が作業を受け付ける

前者の1段階目、グループ宛に依頼をした時点ではそのグループ内ならだれでも作業が受け付けられますが、一度作業を受け付けてしまった場合や後者のピンポイントで依頼をした場合は、他の作業者に変更ができません。

後者のケースだと依頼者と作業者が物理的に離れて状況がつかみにくいため、ピンポイントで対応できない人に依頼を出してしまうケースもあり得ます。依頼者に差し戻そうとしても、作業者が休みなどで対応できないケースもあり得ます。

今回の件については当初、管理者に変更してもらう運用を想定していました。スピードがそれほど求められない場合はこれでよかったと思ってます。

ただ、実際に運用してみるとスピーディーな対応が求められる現場なので、一般利用者による作業者変更の需要は高く使いづらいとの声がありました。

JavaScriptカスタマイズをすれば可能ですが(※1)、お客様側でメンテができないカスタマイズはしないという方針だったのでその手段もとれなく困っていたのですが、弊社のCustomineのアップデートで作業者を変更する事が可能になり(※2)、一般の利用者が自分自身に作業者を変更できる機能を追加しました。これについてはお客様から予想以上に大きな反響がありました

(※1)JavaScriptのみだと、管理者のユーザ名/パスワードまたはAPIトークンの埋め込みで対処する必要がありますが、セキュリティの問題をクリアするためには暗号化等の高度な対策が必要になります。

(※2) CustomineはAPIトークンを暗号化しております。APIトークンについては弊社金春の記事で解説しておりますので、検討されている方は是非参考にしてください

簡単ですがCustomineユーザ向けに少しご紹介します。

画面はこのように詳細画面に「作業者を自分に変更する」が表示され、ボタンを押すと作業者が自分自身(ログインユーザ)に変わる仕様です。

Customineの設定はこのようになっています。(実際の案件ではもっと条件やアクションがあるのですが、説明のために省いています)

1.ボタンを追加する設定を追加します

2.ログインユーザを取得する設定を追加します

3.ボタンを押したときに作業者を変更するアクションを実行する設定を追加します

このアクションがアップデートで新しく追加された機能です。興味がある方はCustomineのドキュメントをご確認ください

4.3の実行後に画面をリロードするアクションを追加します

2.コメント運用で要件を満たせる場合がある

 前述の案件で問合せを受け付けた人が回答をするというアプリがありました。当初は、回答用のフィールドに記入して回答アクションを実行する想定だったのですが、実際に運用が始まってみるとkintoneの標準機能であるコメントを使って回答をする方が多く、回答アクションの実行はルール上仕方なくという方が多かったようです。

まずはコメントで出来ることを洗い出してから、プロセス管理の検討をやったほうがよさそうです。ちなみに今回の案件では全業務アプリで依頼→依頼受付→作業完了というサイクルでの統制、ステータスによる進捗管理を重視していた点もあり、上記のアプリでもプロセス管理を使ったままですが、柔軟性を重視するならプロセス管理自体を使わなくてもよかったと思っています

まとめ

プロセス管理を使ううえで1~2のような問題にぶつかるリスクはありますが、プロセス管理を使わずシステムを柔軟にしすぎてしまうと、各自バラバラで対応してしまい現場が混乱してしまうリスクはあると思います。

シンプルさ、柔軟性を追求するならプロセス管理は使わないほうがいいし、統制を追求するならプロセス管理の検討をしたほうがよさそうです。

また、多少不便な事があっても1のようにJavascirptカスタマイズや弊社Customineで解決できる場合もあります。Customineでプロセス管理に関わる「条件」「やること」で対応可能な場合もありますので、困ったときはユーザの方は一度調べてみてください。もちろん、今できなくても1のようにいずれアップデートで対応する可能性もあるので、要望を頂ければと思います。

投稿者プロフィール

アバター画像
田邊
"アールスリーでは古株のエンジニアです。
今まではAWSを扱った案件が多かったですが、最近はkintoneやCustomineのみの案件も徐々にさせて頂くようになりました。"