思考実験で承認フローの要件定義してみた(お腹いっぱい編)
はじめに 最近、EpsoCRM で承認フローを作る話が出てきて、 「ちょっと要件整理してみるか」と軽い気持ちで始めたら、 途中でお腹いっぱいになった ので、 そのまま“思考実験ログ”として残しておくことにした。 実際に作るかどうかはさておき、 現場アーキテクトの脳内メモ としては十分役に立つはず。 1. 承認対象(申請種別) まずは「何を承認するのか?」の棚卸し。 最初に思いついたのはこのあたり。 経費申請(交通費含む) 休暇申請 勤怠修正申告 で、考えてるうちに「ありがちなの」も追加。 備品購入申請 支払依頼(請求書処理) 稟議申請 契約締結・捺印申請 マスタ登録申請(顧客・仕入先・品名など) アカウント発行申請 在宅勤務申請 残業申請 休日出勤申請 気づいたら、 会社で承認が必要なものは全部ここに入る という結論に。 2. 承認経路(ワークフロー)の考え方 ここが一番“現場の泥”が出るところ。 ● 経路はテンプレート化できる 個人用 チーム用 全社共通 ● 経路編集の自由度はオプション化 完全固定 テンプレートから微調整OK フル編集OK 現場の人間関係や文化によって、 「どこまで自由にさせるか」 が変わるので、 ここは柔軟にしておく。 3. 承認ステップの仕様 承認フローの“箱”の部分。 承認 否認 差し戻し 代理承認 自動承認(条件付き) 差し戻しは理由必須。 差し戻し先は申請者 or 任意ステップ。 並列承認(全員 or 誰か1人)も必要。 4. 承認者まわりの要件 ここは今回の思考実験で一番「おっ」と思ったところ。 ● 承認者は“途中の未承認ステップ”も確認できる 自分の前後のステップがどうなってるか見える ただし編集は不可 ● 必要なら“飛ばして承認”もできる 部長が不在で止まってる 緊急で進めたい 代理承認の権限があれば可能 5. 再申請って必要? 考えてみたら、意外と必要だった。 否認された 差し戻し後に内容を大幅修正 承認期限切れ 経路を変えたい 再申請は「前回申請をコピーして新規扱い」で良さそう。 6. EpsoCRM に落とすとこうなる 申請は target_type + target_id で疎結合 経路テンプレートを選ぶだけ 承認画面は 申請...