Bag of ML Words

ML = Machine Learning, Music Love, and Miscellaneous things in daily Livings

優先度とToDoリストによる仕事の効率化について:私に欠けていた1つのポイント

自分は仕事が遅いという自覚があり、ずっと悩んでいるので仕事術の類の記事は色々読んできました。仕事柄、とくに研究についてのものが多いですが。

それらの中でも、実に多くの記事が

「ToDoリストを活用せよ」

と言っています。色々なやり方がありますが、共通点は以下の通りです。

  1. やるべきことをリストアップする
  2. それに重要度の点数をつける
  3. 重要度の点数の高いものからこなしていく
  4. 特に、毎日一番重要な3つを集中的にこなす

もちろん、長いこと私もこれを実践してきましたが、正直、仕事の効率が上がったとは思えませんでした。

 

しかし、この年末辺りから、ToDoリストによる仕事の効率化が目に見えて向上してきました。もちろん、まだ実践して3週間ほどですのでこの後またダメになるかもしれませんが、今のところその気配はありません。

そして、それはある一つのポイントを見落としていたことによるものだと得心しましたので共有させていただきます。それは

出来る限り細かく具体的な作業にまでブレイクダウンする

という点でした。

 

「頭を悩ませずに、淡々と処理を行うためのリストアップ」

そもそも、なぜタスクをリストアップして重要度順に処理するというらいふはっくが有効なのでしょうか?

まず、リストにメモすることでやるべきことを忘れないというのが1つ。

そして、重要度をつけることでその中でも大事なものを確実に処理するというのがあります。

そして、今回の気付きで理解したもう一つの機能が、「次にすべき作業で頭を悩ませずに、機械的に処理に没頭する」です。そして、この点が私のToDoリストには足りなかったようです。

 

実際の具体例を見てもらったほうがいいと思います。

以下は、今私が取り組んでいる執筆作業に関するToDoリストの一部です。

 

以前

 
イントロ
(略)
スペクトラルクラスタリング
 | - 関係データクラスタリング
 | - まずは自分の直観で説明
 | - 具体的なアルゴリズム
 | - 導出など
 | - 適用例

イントロ

(略)

スペクトラルクラスタリング

 | - 関係データクラスタリングとは

       | - クリーク、コミュニティ
       | - 外に疎、中で密。中で疎、外で密。
 | - 関係データクラスタリングの難しさ。
       | - わかりにくさ難しさの絵をつくるために、2次元関係データの行列を沢山作成
       | - 構造がある例とない例。見分けがつかない
 | - スペクトラルクラスタリングとは。
       | - 適用可能なデータ
       | - 実際の適用例。
       | - 3種類を全て実装
       | - 番良いとされるアルゴを実際に人工データに適用してデータと結果の図を生成
 | - 具体的なアルゴリズム。1番良いとされているアルゴ
 | - なぜ動くのか直観的な説明
       | - 完全排他的クラスタの例。行列図とグラフ図
 | - 導出
・・・・・・

 

以前のリストも、リストアップとしては間違っていません。やるべきことを全て書き出しています。しかし、リスト中の各要素の粒度が大きい、あるいは抽象度が高いです。こうなると、リストの各要素をこなすために、何からやらなければならないか、そこでまたリソースの再配分を考えないといけません。この再配分が明確に記載されていないので、

ここで手戻りが発生したり効率が落ちる-->嫌になる-->やる気が減る-->仕事が遅くなる

というのが失敗の王道パターンでした。

 

一方、今のリストですと、さらに細かく分解されていきます。分解の粒度は、私にとっては具体的な作業が明確な、ある意味で最小単位の作業です。ここまでやると、各要素をこなすためにその内部でのリソース配分は必要ありません。集中してリストの要素を一つずつ淡々と潰すだけになります。

書いてみれば当たり前も当たり前、なんてことはないポイントでしたが、これが大きく効率の改善につながりました。

  1. 次にやるべき事が非常に明確になり、リソース再配分に頭を悩ますことがなくなったのは述べたとおりです。このリソース再配分フェーズに入るとこれまでの経験から「あ、これアカン奴や・・・いやだー」という気分が発生するので、それを避けられるのは精神衛生上良いです(個人的には)。
  2. 個々のリスト要素はかなり労力が小さく、また終了条件が明確になります。したがって、少数ではあっても毎日確実にリストを潰していけます。これは日々進捗が発生することになるので、「進捗どうですか」という攻撃に対して有効な対処法です。

 

研究の実験などでは、さらに内部的にToDoを細かく詰めるようにします

Evernoteなどで実験用のテンプレートを作成して、

  • 実験の目的
  • 仮説
  • 検証する要素
  • 予想される結果
  • 使用するデータ
  • 手続き
  • 検証要素に必要なパラメータセットのリスト
  • 使用するプログラムと場所
  • 実験結果の保存先

などを実験作業の前に集中して考え抜いて記録します。

あとは書いてある通りに作業して、実験結果をまとめて予想との食い違いなどを検証します。ここでも、とにかく自分自身で何も悩まず淡々と実験を進めることができるまで細かく書いていくことが必要です。

 

研究職を何年もやってきた私が、今さらこんなエントリを書くのは今更感が高くて我ながら情けないのですが・・・*1

 

ブレイクダウンに至るやりかた

ですが、初めからこんなに細かく書き下すことは難しいです。というか初めからそこまで見えているなら苦労しません。

では、どうするかというと、実際に作業を手がける、これが一番良いっぽいです。

 

まずは昔のレベルの粗いレベルで良いので、リストアップと順序づけをします。そして、重要と思われるタスクに手を着けて実際に作業します。

で、作業していくと、「あ、あれもやらなきゃ」「これ言うならこの実験も必要だよなぁ・・・」というのがどんどん出てきます。それをすぐにリストに反映していきます。つまり、作業すればするほどどんどんリストが細かく長くなっていきます。

それと同時に、リスト内容の精査と圧縮・取捨選択も常につづけます。そのうちリストの更新が止まれば、後は本当に潰していくだけです。

 

 

以上、拙いながらようやくToDoリストの使い方が分かってきたのでまとめてみました。もうしばらく上記のやり方をやってみて、ダメならまた報告するかもしれません。

*1: (;_;)