人事システムの導入に必要なことは、「思い切り」と「絞り込み」ということは以前、記事にしました。最近スタートした仕事は、まさにそれって正しかったな、と思う状況になろうとしています。実際には、システムの話は完全にサブであり、業務プロセスをどうするとか、そもそもの要件を決めましょう、っていうことをディスカッションしています。
あれもこれもと言い出すと運用に矛盾や複雑さが発生する
これは特に「権限」について言えるかと思います。部署によって「この情報は見られるようにしたいけど、この項目は開示したいくない」という時点で、結構難易度は上がります。例えば、「ある部門の人は、社員の個人情報は照会させたいけど、「誕生日」は見えないようにする」なんていう時点で、それに伴う運用を考えただけで、ぐったり疲れることができそうです(笑)。いろいろと影響はあると思いますが、瞬間的に↓のくらいのことは思いつきます。
- 画面上で制御が効かない場合は、別画面を用意しないとダメ?
- レポートに「誕生日」が入っているものは使えないので、ほとんど似たような「誕生日」だけが無い、別レポートを作る?
項目レベルでの権限制御に対応している人事システムはありますが、同じ項目の選択値レベルで制御してほしい、などという話になったら、本当に意識が遠のきそうです(笑)。極端な例ですが、「都道府県を選択するコードのうち、西日本の府県は表示するな」といったことです。この辺にくると、本当の目的は何なんかをクリアにするのが先決で、このまま実装などというのは選択肢として存在しないと、個人的には思っています。
権限はカオスの元凶となる
権限を細かくパーツ化して、必要なものを組み合わせて各ユーザーに対して設定することはできますが、これはカオスの元凶となります。
- 給与計算が実行できる
- 個人情報が照会できる
- 社会保険情報が更新できる
といった機能レベルと、どの範囲に対してなのかという部門レベルの組み合わせ程度ならば、何とかなるでしょう。しかし、これが・・
- 世界の経理部門のスタッフの情報が照会できる
- 日本以外に在籍している社員の情報が照会できる
という要件を同時に満たすユーザー権限を設定するとした場合、「日本の経理部門スタッフ」の情報は照会できなくなり、矛盾をきたします。この位の要件ならば、「そもそも要件に矛盾があるだろ」ということが自明ですが、実際には権限をパーツ化してしまったために、数多くの「パーツ」全部を組み合わせると矛盾を引き起こしていることに、気づきにくくなることがあります。
実際、私が8月末まで在籍していた会社のシステムの権限が完全にパーツ化されていたため、設定した結果がどんな結果になるのかは、そのユーザーが実行してみない限り、予測できない、という状況になっていました。また、同じ業務の担当者にも関わらず、入社時からその担当だった方と、途中で担当替えになって権限設定の変更があった方だと、実際に登録・照会・実行できる機能に差が出てしまっていた、などという笑えない状況でした。
照会されたら支障があるものだけ非表示にするが、どちらでもよいものは放置
では、どうするのか?これは、「どの項目を使うのか」というアプローチではなく、「どの項目は(担当ではない人/部門)に照会されると支障がでるか」という発想が適切かと思います。例えば、「基本給情報は、給与担当者以外は照会できないようにする」といったようなものです。
反対に「業務上使用しないけど照会できるが、仮に照会されても支障がない」といったものについては、深追いせずに放置しておくのが適切です。もしかしたら、業務プロセスなどの変更でその項目を使うことになった時に、権限設定を変えたり、それに伴うテストをしたり・・・など運用が煩雑になります。
どうでもよいものは放っておく
というのがセオリーだと実感しています。