タスク管理まとめ (2009年版)

仕事のタスクを管理する方法をちょこちょこ変えていたが、だいぶ落ち着いてきたので一度まとめておく。今の仕事では、基本的にPCの前にいるので、タスク管理はPC上で行っている。

ソフトウェア(Windows)

VirtuaWin

仮想デスクトップを4つ作って、それぞれ (1) win+A (左上), (2) win+S (右上), (3) win+Z (左下), (4) win+X (右下)でアクティブなデスクトップが切り替わるようにショートカットキー設定する。その他に、win+Vで「選択中のウィンドウをすべての仮想デスクトップで表示する」「現在アクティブなデスクトップのみで表示する」という切り替えを行えるようにする。

Outlook

Outlookは次のように設定しておく。

  • メールを受信した時に、ポップアップを表示しない
  • メールをプレビューした時に、自動的に既読にしない
  • ツールバーに、選択したメールを未読にするボタンを表示

仮想デスクトップ

4つの仮想デスクトップを次のように割り当てる。

  1. 左上: メイン。ドキュメントを書いたり、調べものをしたりする作業スペース
  2. 右上: タスク管理。Outlookのメモ(付箋)で管理
  3. 左下: スケジュール。Outlookのカレンダー
  4. 右下: メール。Outlook

1. メイン (左上のデスクトップ)

Webブラウザ、エクスプローラ、IMクライアントが常に立ち上がっている。必要に応じてテキストエディタやWord, Excelなどを使う。

2. タスク管理 (右上のデスクトップ)

いろいろ試してみたが、結局タスク管理はOutlookのメモに落ち着いた。

デスクトップを縦に3分割し、(左) その週に終わったタスク(Weekly Status)、(中) 次にやること(Next Action)、いつかやることなどのリスト(Someday)など、(右) プロジェクトごとのタスクリスト。真ん中は上下にも3分割し、上がカテゴリ分けできないちょっとしたタスク(Adhoc)やミーティングなどで確認する項目(Agenda)など。真ん中が次にやることリスト(Next Action)、下がいつかやることリスト(Someday)。右側は、プロジェクトごとに1つのメモ。

処理の仕方は次の通り。

  • 次にやることリスト(Next Action)の一番上のタスクを処理
  • 終わったタスクは左(Weekly Status)に移動
  • プロジェクトのタスク等から、次にやることリスト(Next Action)へ優先順に応じてタスクを移動
  • 次にやることリスト(Next Action)を並べ替え(優先順を見直す)

終わったタスクは、プロジェクトごとなどにカテゴリ分けして記載している。その日に行ったタスクが分かるようにしてある(各カテゴリ内で、その日最初に処理したタスクだけ先頭のマークを変えている)。これは、一日の終わりにタイムシートをつける時に、どのプロジェクトにどのくらい掛かったかをざっと把握するため。

次にやることリスト(Next Action)からなかなか消えないタスクは、だいたい曖昧なものであることが多いので、さらに分割して細かいタスク(具体的なもの)に分ける。また、次にやることリスト(Next Action)に入れるタスクは、多くても7,8個程度にしておく。

3. スケジュール (左下のデスクトップ)

Outlookのカレンダーを別ウィンドウで開き、月刊表示にして最大化。

4. メール (右下のデスクトップ)

Outlookのメールを最大化。メールの自動振り分けは、定期的に自配信されてくるメルマガのようなもの意外は行わない(すべて受信トレイに溜まる)。受信トレイのメールはざっと目を通したら各フォルダに手で振り分ける。フォルダはおおまかに次のように分けている。

+- 受信トレイ
    +- @Action
    +- @Reference
    |    +- Info
    |    |   +- General
    |    |   +- Personal
    |    | 
    |    +- Project
    |        +- Archive
    |        +- On going project A
    |        +- On going project B
    |
    +- @Someday
    |    +- Pending project C
    |
    +- @Trash
    |   +- System Message
    |   +- Noise
    |
    +- Weekly Status   

処理の仕方は次の通り。

  • 関連のあるメールが複数来ていたら、一番新しいものを残して振り分ける
  • 読んで終わりのものは捨てる
  • 後で参照しそうなものは、Ctrl+Wで既読にして、@Referenceのどこかへ
  • 対応が必要なものは、未読のまま@Actionへ
  • 誰かの対応待ちのものは、Ctrl+Wで既読にして@Actionへ
  • いらないと思うけど一応取っておいた方が良さそうなものは、Noiseへ(3ヶ月以上古いものは適当に削除)

作業フロー

だいたいこういうルーチンで処理していく。

  1. Outlookを立ち上げる。
  2. Win+VでOutlookをすべての仮想デスクトップで表示するように切り替える
  3. Win+Zでスケジュール用のデスクトップへ。カレンダーを別ウィンドウで開いて、最大化。スケジュールの確認
  4. Win+Sでタスク管理用のデスクトップへ。タスク管理のメモをすべて選択してEnterで一気に開く。タスクの確認
  5. Win+Xでメール用のデスクトップへ。Win+Vでメール用のウィンドウをこのデスクトップだけで表示

月曜の朝だけ、先週完了のタスクリストをメールにコピペして自分に送信し、終わったタスクのリストをクリアする。

仕事中

  1. Win+X。メールの整理
  2. Win+S。タスクの整理と次のタスクを確認
  3. Win+A。次のタスクを処理(終わったら1へ)

作業中に何か思いついたら(新しいタスクなど)、新しいことには手をつけずにタスクリストに追加だけして、作業に戻るようにする。

帰り

  1. Win+Sでその日完了したタスクを確認
  2. タイムシートに記入。メモを全部閉じる(Escでアクティブなメモが閉じられるので、Esc連打)
  3. Win+Zでデスクトップを切り替えて、カレンダーを閉じる
  4. その他、起動しているソフトを終了し、シャットダウン

その他

  • ファイルもほぼメールと同じような振り分け方をしている。メールと違うのは、@Actionの下には稼働中のプロジェクト用のフォルダがあることと、@Trash, Weekly Statusがないこと
  • ちなみに、作業用のフォルダは、iColor Folderで色分けしている
  • VDTタイマーを使ってアラートを出し、定期的に目を休めるようにしている
  • テキストエディタはサクラエディタを使用。正規表現を使って、会社で使っているwikiのシンタックスも色分け表示ができるようにした
  • CLCLに定型文(wikiとかhtmlとか)を登録している
  • ソフトの起動は、Launchyから行っている

ちなみにOutlookを使っているのは自分の好みではなくて、会社の都合。Outlookの「仕事」(To-Doリスト)ではなくて、メモ(付箋)を使っているのは、色分けして画面いっぱいに広げておけて、タスク全体が把握しやすかったから。

タスク管理まとめ (2009年版)

CocProxy

Last November, Hatena Bookmark that is one of the most favorite social bookmark service in Japan was upgraded. But some of their users mentined that performance was slower than before, and looked into how to solve the issue. One of the users tried to speed up the JavaScript performance and he wrote an article how he investigated. He used CocProxy which is a proxy server that written in Ruby. CocProxy can replace the http response to local file. I try to summarize the interesting article in English.

How to investigate performance issue of new Hatena Bookmark

Preparation

Setting up environtment to modify JavaScript of other website.

  1. Creating directory HatenaJS for working in home directory
    $ mkdir HatenaJS
    $ cd hatenaJS
    
  2. Downlaod CocProxy
    $ wget http://svn.coderepos.org/share/lang/ruby/cocproxy/proxy.rb
    
  3. Create directory for CocProxy to return local file
    $ mkdir files
    
  4. Download JavaScript files that you will test to files directory
    $ cd files
    $ wget http://s.hatena.ne.jp/js/HatenaStar.js
    $ wget http://b.hatena.ne.jp/js/DropDownSelector.js
    (snip)
    $ cd ..
    
  5. Run CocProxy and configure web browser to use the proxy
    $ ruby proxy.rb
    Use default configuration.
    Port : 5432
    Dir  : files/
    Cache: true
    Rules:
        1. #{File.basename(req.path_info)}
        2. #{req.host}#{req.path_info}
        3. #{req.host}/#{File.basename(req.path_info)}
        4. .#{req.path_info}
    

Now these JavaScript files in files dirctory return to the browser when it’s requested.

Profiling with Firebug

  1. Open Firebug console and press profile button, and then reload the page
  2. After the page reloaded, press profile button again
  3. Results will be displayed

Look at the own time to detect which functions are the cause of bad performance.

Other things (tuning summary)

I don’t translate all of the article (it’s hard for me to do..), but the followings are the points that I’m personally interested in.

JavaScript Tuning

  • Modified to user XPath if the browser supports
  • Firefox is slow when it sets img.src by JavaScript

Profile with Firebug

  • Use console.count() to get statistics in console. (He uses it to know how many, what argument is passed to a function.)
  • Use Error().stack in a function to know which funcion calls the function. (e.g., console.log(Error().stack);)
CocProxy

mockupkit.js update

Changes:

  • fixed bug so that it works on IE (windows)
  • fixed bug that include feature doesn’t work if parent node of <include> tag is not <body> tag

変更点:

  • (windowsの) IEで動かなかった問題を修正
  • <include>タグの親ノードが<body>ではない場合、include機能が上手く動かない問題を修正
mockupkit.js update

HTML Mock Up Kit

(English follows)

前回書いた tmpl.js と incl.js をくっつけ、ちょっとした機能を追加して HTML mock up kit とした。HTMLでモックアップやプロトタイプを作る時に便利だ (個人的に)。

機能としては、

  • 外部HTMLファイルの読み込み
  • シンプルなテンプレート機能
  • ナビゲーションメニューのスタイル制御

など。詳細はアーカイブ (下にあるzipファイル) 内の index.html を参照。Mac OSX (Tiger) の Firefox 3 と Safari 3.2 でしか動作確認できてない。Windows 環境での動作は、そのうち確認予定 (来週あたり)。

I merged code of tmpl.js and incl.js that I posted previous entries and added small feature to handle style. Now I call it HTML mock up kit which is useful for me to create HTML mock ups/prototypes.

Features are

  • External HTML file include
  • Simple template system
  • Navigation style handling

Refer to index.html in the archive for further details, pls. I just verified the behavior with Firefox 3 and Safari 3.2 on Mac OSX (Tiger). I think I could verified it on Windows later (maybe next week.)

  • mockupkit.zip (removed.)
HTML Mock Up Kit