なるほど、オンラインで、簡単に「上司評価」の機会が持てるなら、ソレはソレで便利そうだ。「年次」とは言わず、「四半期おき」や「月次」などで実施すれば、上司自身が日常業務を振り返るための良い機会になる、、、ような気がする? (「内閣支持率」の調査みたいなものか?)。
しかし、ワークフローシステムとは、そもそも「いつ誰がどんな入力をしたか」を記録する道具だ。普通に考えれば「無記名」とは相性が悪い。
このワークフローは、チームメンバーによる「上司評価フロー(無記名投票)」が定義されている。
具体的には、スケジュールされた日時になると[1.上司評価を記入する]というマイタスクが、メンバー全員に割り当てられる仕組みだ。メンバーは、(手を震わせながら?)、たとえば、[1]信任する、[2]どちらでもない、[3]信任しない、を選んで申請する。
秀逸なのは、入力した「上司評価データ」が自動的に「外部ファイル」に追記され、そして申請データとしては自動的に消去される点だ。つまり[データ閲覧権限]があるユーザでも「誰がどのような投票をしたのか」は確認できない。さらにご丁寧なことに、この例では「外部ファイル」の中身を追記都度にシャッフルする機能まで整っている。つまり、通信ログでも盗聴解析しない限り、投票内容は保護される仕組みになっている。 (投票したかどうか?、いつ投票したか?、については保護対象外としている)
もっとも、、、「投票総数が1人だった!」とか、「投票者全員が信任しないを選択した!!」とか、そういう場合にあっては「誰がどのような投票をしたのかを隠蔽する」が実現できない。。。(怖)
[上司評価の投票(無記名投票)]
言うまでもないが、メンバーが「2票以上」を投票することはできない。
この業務テンプレでは、(毎年!?!)3月31日の朝9時に自動的に割り当てられ、その「貴重な1票」を申請する設定となっている。(夕方18時に自動的に無効票となってしまう点にも注意が必要だ)
なお「無記名投票」のニーズは、人事考課の業務において様々に応用できるだろう。
たとえば不正な会計処理が行われた東芝において、「社長の信任・不信任を問う無記名投票」(2015.11)が行われたのは記憶に新しい。上級管理職の120人が「社長の評価」を行った結果は、取締役候補を選任する指名委員会の判断材料となったらしい。
なるほど、いっそのこと「全役員分の評価」を毎月実施するというのも良いのかも知れない。。。 各役員の「支持率」が継続して測定され、また組織内で運用が慣れてくれば、それなりの知見や気づきが得られる、、、ような気がする。
(注) 同時投票が行われた場合、すべての投票結果が反映されない場合があります(後の投票内容で上書きされてしまいます)。
[上司評価の投票(無記名投票):「1.上司評価を記入する」画面]
▼スクリプト工程『Check』の設定サンプル (サーバサイド JavaScript)
//// Config var lockfile = "poll-lock-20160331.xml"; // lock file name //// == ワークフローデータの参照 / Retrieving == // M319 Options-XML: // 複数の業務プロセス定義から参照される選択肢XML // return "List<ItemView>" optionsList = itemDao.findAll( lockfile, true ); // OptionsXML (Public) //// == 演算 / Calculating == var check = optionsList.get(0).getValue() + ""; //// == ワークフローデータへの代入 / Updating == retVal.put("4", check );
▼スクリプト工程『投票集計に追記』の設定サンプル (サーバサイド JavaScript)
//// Config var polldata = "poll-20160331.xml"; // counting file name //// == ワークフローデータの参照 / Retrieving == // M319 Options-XML: // 複数の業務プロセス定義から参照される選択肢XML // return "List<ItemView>" pollList = itemDao.findAll( polldata, true ); // OptionsXML (Public) var q1answer = data.get("●").get(0).getValue() + ""; var q2answer = data.get("●").get(0).getValue() + ""; //// == 演算 / Calculating == var pollNum = pollList.size(); var array = new Array( pollNum + 1 ); for (i=0; i < pollNum; i++){ array[i] = pollList.get(i).getDisplay() + ""; } array[ pollNum ] = q1answer + "#" + q2answer; var tmp = ""; var j = pollNum + 1; while ( j > 1 ) { var k = Math.floor(Math.random() * j ); // Math.random() returns num from 0 to 0.999 j = j - 1; if (j == k) continue; var tmp = array[j]; array[j] = array[k]; array[k] = tmp; } // shuffle (Fisher-Yates) var value_id_list = ""; var display_label_list = ""; for (i=0; i < pollNum + 1; i++){ value_id_list += String(i + 1) + "\n"; display_label_list += array[i] + "\n"; } //// == ワークフローデータへの代入 / Updating == retVal.put("●", value_id_list); retVal.put("●", display_label_list);
<データ項目一覧画面>
[雛形ダウンロード (無料)]
- 業務テンプレート:上司評価の投票(無記名投票)
- 「社内アンケート」をガンガン行える汎用レビュー依頼 (2014-09-29)
- 企画1に対し回答がN集まる「社内アンケート」のデータ構造 (2014-10-06)
- 閲覧権限があっても人事考課シートは閲覧できない様に! (2012-12-10)
- M230 自動工程: 業務データの複雑なデータ加工が自動実行されるように設定する(ECMAスクリプト) (使い方)
- M302 特権ユーザ: 業務プロセス定義ごとの特権ユーザを指名する (使い方)
- M319 プロセスモデリング環境: 複数の業務プロセス定義から参照される選択肢XMLを登録する (使い方)
[英文記事 (English Entry) ]
0 件のコメント :
コメントを投稿