無駄と文化

実用的ブログ

チームのモチベーションを高める施策としての「夢見るユニコーン🦄」の導入について

チームの生産性を高めるためにはチーム全体の雰囲気が重要です。
ポジティブで「やれる」という期待にあふれたチームは高い生産性を発揮します。

チームでお互いに讃えあい、感謝を伝え、モチベーションを高める施策として「夢見るユニコーン🦄」を導入しています。

f:id:todays_mitsui:20181108130311p:plain

f:id:todays_mitsui:20181108130747p:plain

f:id:todays_mitsui:20181108130814p:plain

このように、


ルール(流れ)

  1. 定例ミーティングにおいて「先週もっともチームのために尽力した人」に ユニコーン🦄 が贈られる
  2. 贈られた人は一週間手元に ユニコーン🦄 を置いておく(見せびらかす)
  3. 次週の定例ミーティングで ユニコーン🦄 を持っている人が思う 「先週もっともチームのために尽力した人」に ユニコーン🦄 を贈る
  4. 毎週繰り返し
ポイント!
  • ユニコーン🦄 は贈る人から送られる人へ感謝の気持ちを伝えます
  • ユニコーン🦄 は世界に一匹(一頭?)だけ、珍しい生き物で、幸運を呼び寄せます
  • 「夢見るユニコーン🦄」の取り組みはアメリカ西海岸の大学で始まり、某EC系テック企業のエンジニアチームもこの取り組みで高い生産性を上げたと言われています
  • ユニコーン🦄 は可愛い


これは何?

チームの雰囲気を盛り上げて生産性を高めるために ユニコーン🦄 のぬいぐるみを導入して見たよ、というお話です。

この ユニコーン🦄 は「ぜひ手に入れたい憧れの存在」であることを前提として競争心とモチベーションを高めます。
ユニコーン🦄 を手に入れたい人は既に持っている人に媚びるも良し。
そして ユニコーン🦄 を手に入れた暁には 次の人 を独断で選ぶ権利が手に入ります。


たぶん実際に生産性に大きく貢献するので、みなさまのチームでもお試しあれ。

以下のリンクはアフィリエイトではないので安心して進んでください。

ていうか この子🦄 、抱き枕だったのか。


私からは以上です。

魔法は無い

f:id:todays_mitsui:20181207152150p:plain

高度な技術は、ともすると魔法のように見えるものです。
実際、世の技術は「複雑さや煩雑さを隠ぺいしてシンプルに目的を達成するために発達してきた」という側面があるので、技術の裏側について詳しくない人からして魔法のように見えるのは当然と言えば当然です。

エンジニアが作るシステム・プログラムも同様に、技術に詳しくない人から見れば魔法のように見えるようです。

私は、エンジニアでない人と技術との向き合い方はそのようなもので構わないと考えています。
しかし、技術を身に付けたいと願って自ら技術の世界に足を踏み入れた人はこの限りではありません。

魔法使いになるためにいちばん最初にするべきことは『魔法は無い』と自覚する事だと思います。


一見魔法のように見える技術でも、その裏側には馬鹿馬鹿しいほど地道で泥臭い実装が隠されているというのはよくある事です。
技術者として魔法の(ように見える)技術を身に付けるには、馬鹿馬鹿しいほど地道に泥臭い実装に取り組み、自分で手を動かしつづけていく必要があります。

「魔法は無い、だから地道に手を動かすしかないんだ」と自覚して初めて、技術者への道の最初の一歩を踏み出すことができます。
魔法使いを志す人はまず、『魔法は無い』ということから始めなければいけません。


私からは以上です。

JavaScript で、指定した範囲の整数をランダムに返す関数

やっていきましょう。

実装

/**
 * 指定した範囲の整数をランダムに取得する
 * 
 * @param {number} min ランダムに取得したい整数の下限
 * @param {number} max ランダムに取得したい整数の上限
 * @returns {number} min 以上 max 以下の整数
 */
function randomInt(min, max) {
  var interval = max - min + 1;

  return ~~(Math.random() * interval + min);
}

試運転

{
  const min = 1;
  const max = 5;
  const n   = 1000000;

  // 集計バケツの生成と初期化
  const bucket = Object.create(null);
  for (let i = min; i <= max ; i++) {
    bucket[i] = 0;
  }

  // 試運転
  for (let j = 0; j < n; j++) {
    bucket[randomInt(min, max)]++;
  }

  console.table(bucket);
}

結果

(index) Value
1 199287
2 199771
3 200078
4 200415
5 200449

まとめ

はい、


私からは以上です。