プロジェクト管理に便利な、A4サイズ通年週次カレンダー

ここ1年ほど、A4横サイズの自作カレンダーを壁にかけて使っていたのですが、ふと思い立って作成を半自動化しましたので、プログラムを紹介します。

(2012/11/26 追記)
1年分をまとめたPDFファイルを、自社カレンダーとしてダウンロード配布しています。実際に使う方はこちらをどうぞ。
http://www.ontarget.co.jp/download/#calendar

なお、ここに載せたプログラムは、自分の学習と利用のために作成したので、ユーザフレンドリーとは言いにくいものになっています。このカレンダーを使い続ける人が多ければ、Web上で使えるようにすることなども考えますので、興味のある方はコメントやTwitterなどでお知らせください。

まずは画像で紹介


カレンダーのコンセプトの説明

見ればだいたい分かると思いますが、月の境目に無関係に、ひたすら4週間ずつ日付を並べたカレンダーです。通常のカレンダーでは分かりにくい、月をまたいだ日数が把握しやすくなっています。

通常のカレンダーを見ながら、たとえば、締め切りが11月10日のタスクがあったとして、現在(10月20日)から何日で終わらせる必要があるか、すぐに分かるでしょうか。ついつい「まだ来月のこと」と思ってしまいますが、実は、ちょうど3週間先です。「来月」と思うと、「1ヶ月よりちょっと少ない」という程度のあいまいな認識になりますが、「3週間先」というともうちょっと具体的にアクションを考えようと思えてきませんか?

最近の仕事では、2,3ヶ月程度のプロジェクトが多いと思うのですが、この通年週次カレンダーをプロジェクトルームに貼っておけば、月の境目にだまされずに正確な日数を把握することができるようになります(私はPCの前に2枚(8週間分)貼っています)。

週のはじめに「週番号」が書いてありますが、これはヨーロッパでよく使われるISOの週番号(ISO8601)です。モレスキンの手帳にもこの週番号が書かれています。このISO週番号は、月曜はじまりで、毎年1月4日を含む週を第1週とします(第1週以前の日付は、前年の最終週に属するものとします)。ExcelのWEEKNUM関数はずっと対応していませんでしたが、2007以降では第2引数に21を与えると、この週番号を計算することができます。

プログラムの説明

このカレンダーを、1年ほどの間ほぼ毎月、Dynamic Drawというフリーのドロー系ツールで手作業で作っていたのですが、さすがに億劫になってきたのと、関数型プログラム言語を使ってみることで、コーディングの発想を広げたいと思ってきたことから、GaucheというScheme(LISP)処理系で実装しました。

以前、GoogleのMap-Reduceが話題になったときに、「これは関数型プログラミング(LISP)を理解していないと出てこない発想だ」という話をちらほら見かけて「プログラミングGauche」という本を買ってあったので(読んでなかった…)、それを読みながら作成しました。

プログラミングGauche

プログラミングGauche

LISPをまともに書いたのは初めてなので、名前付けや、コードの考え方などにLISPっぽくない点があるかと思いますが、それでも普段使っているPerlやPHPとは違った発想に慣れてきた気がします。なお、下記のコードはGithub(Gist)に置いてあるので、改善提案などは歓迎です。


おわりに

今回は、自分の学習を兼ねて、自分で使うためにプログラムを作成したので、ユーザフレンドリーとは言えないものになっています。このカレンダーを使い続ける人が多ければ、Web上で使えるようにすることなども考えますので、興味のある方はコメントやTwitterなどでお知らせください。

…と冒頭にも書いたのですが、実際にやるとしたら全面的にPHPで書き直すか、GaucheのWebアプリケーションサーバであるKahuaを使ってみるか、どちらにしてもちょっと大変そうだ…。コードはMITライセンスにしてあるので、勝手にやってくれる方歓迎です。

このカレンダーに慣れてきたら、すべてのマイルストーンの日付を「仕様のFixは2011年45週の水曜で、ベータ版リリースは2011年50週の月曜」のように完全に週番号表記にしてもいいとまで思っていたのですが、習慣を変えるのは想像以上に難しいもので、なかなかそこまで到達しません。

プログラムがほぼ完成したところで知ったのですが、企業会計(特に外資系)では、「4-4-5カレンダー」「4-5-4カレンダー」などという名前で、同じように月の境目を無視したカレンダーを使うこともあるようです。参考: 外資系経理の生活(その4)-外資系経理の決算の締め切り

PDF版が必要な方へ

1年分をまとめたPDFファイルを、自社カレンダーとしてダウンロード配布することにしました。必要な方は、下記ページへ。
http://www.ontarget.co.jp/download/#calendar