見出し画像

やるタスクを乱数に委ねる

やるタスクをランダムに委ねるという方法を試したところ、悪くないなーというのが今回の記事です。

元ネタはこのGigazineの記事で、人間には決断疲れとか、決断資源が有限であるとか、まぁその手の話があって、要するに人間は何かしらの決断をするのにはエネルギーが必要なので、決断をしない生き方を選べば楽になるという話です。

import todos from '../todos.json'

const selectTodoByRandom = (items) => {
 const n = Math.floor(Math.random() * items.length)
 return items[n]
}

const decider = (type) => {
 if (!type) {
   type = selectTodoByRandom(Object.keys(todos))
   console.log(type)
 }

 if (type in todos) {
   const items = todos[type]
   console.log(selectTodoByRandom(items))
 }
}

decider(process.argv[2])

やることは極めて簡単で乱数を使って配列の中から文字列を取り出すだけのコマンドラインツールです。これはJSでNode.js向けに書かれてますが、RubyでもScalaでもGoでもさっくり書けるでしょう。というか、ワンライナー好きな人ならきっといい感じにワンライナーで書くことでしょう。

{
 "work": ["調査", "ドキュメント", "コードレビュー", "改善", "振り返り"],
 "rest": [
   "リラックス",
   "タブ整理",
   "体動かす",
   "家事",
   "web/slack",
   "iPad",
   "ゲーム",
   "環境整備",
   "ブログ",
 ],
 "action": [
   "環境整備",
   "ドキュメントツールから選ぶ",
   "素振り",
   "アプリA開発",
   "アプリB開発",
   "ゲーム",
   "iPad",
   "体動かす",
   "家事",
   "ブログ",
   "todos.jsonの整備"
 ]
}

今回はこんな感じのものを todos.json として定義してあります。

書くタスクは、少し曖昧にするくらいがコツです。厳密なタスクを書いてしまうと、「必ずそれ」になってしまうんですが、曖昧であれば、そこからさらに、今の状況にあったものを選び取れます。この点を決断力の消費と見ることができそうですが、厳密な定義にかかるコストと、お手軽さを天秤にかけたときの現実的判断というやつです。

使い方なんですが、ランダムに委ねたいときに使うというものです。

たとえば、仕事でコーディングをするようなときは、わざわざ「コーディングをする」という決断をすることは稀なはずです。コーディングが必要だとわかっていれば迷わずにコーディングなりしているはずだからです。

だいたい迷う傾向があるタスクは「後々でも構わないけどいつかはやらなきゃいけないもの」です。そういうときの決断力の消耗はけっこう馬鹿にならないため、乱数に委ねることで、決断力の消耗を抑えるのです。

休憩なんかも、どういう方向性での気分転換にするか?をランダムに選び取るのは、ちょうど元ネタのGigazineの記事と同様のものになります。

なんならいっそ、仕事、休息、他アクションというジャンルそのものもランダムにゆだねてしまうという手もあります。

もし、これを真面目にタスク管理ツールにするのであれば、実際にどういうタスクをやったかどうか?を記録して、ジャンルが偏らないように重み付けをしたりしてもいいでしょう。

ただ、おそらくそこまで真面目にやらなくても、この程度のシンプルなしくみで十分日々を過ごしやすくできるんじゃないか?とおもいます。

ちなみに実際に運用して2日ですが、悪くない感じです。一日の行動の全てをコイツにゆだねているわけではないので、本当にやらなきゃいけないってわかってるものは予めやってますし、ちょっとしたお遊びとしてやるのは、悪くないなーという感触です。

皆さんも、どうでもいい決断ごとくに、決断力を無駄に消耗するのをやめてみませんか?

まだタスク選びに消耗してるの?

この記事が参加している募集

おうち時間を工夫で楽しく

この記事が気に入ったらサポートをしてみませんか?