プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

時間内に仕事を終わらせられるかどうかは、「優先順位の高いタスクを先に終わらせること」と「(やらなければならないタスクの中で)終わる条件が明確なタスクを先に終わらせる」のバランスを取ることにある

今回は久しぶりにノウハウ系の内容のエントリにでもしようかと思います。前回の記事で20分間耐久日記を行ったおかげで文章を書くことの敷居が結構下がりましたし、思わぬところでネタを見つけたので。

先日大学時代の先輩の結婚式の二次会に出席し、久しぶりに夜遅くまで遊んで24時過ぎに帰宅し、翌日8時から仕事(某スーパーの店員)をするという、ここ最近の私にしては過度に詰まったスケジュールを過ごしたせいなのか、今日仕事をしたら全く時間内に仕事が終わらなくて「ムキーッ!!!」という状態になりました(笑)

とまあ、上では「過密スケジュールのせいで仕事終わんなかったよ!」というような書き方をしていますが、振り返ってみると過密スケジュールのせいでもなく、体調が悪かったせいでもなく、ただ単に私の仕事のやり方がマズかったということに気づいたので、その備忘録として「どうしたら時間内に仕事を終えられる(=定時に帰れる)か?」ということをテーマに私なりに気づいたことでもつらつらと書いていこうと思います。

まあ、単なる備忘録ですし、「もう他の人が役に立つことたくさん書いている((GTD(Getting Things Done)とか有名ですよね、仕事の進め方のノウハウとして。)))から今更自分が書くことなんて無い」なんてスタンスでいたらアウトプットなんて全く出来なくなりますからね。いいんですよ、下らなくても←と自分に言い聞かせて書いていきます。

仕事をするときは戦略を持って望むべし。次々に襲いかかってくる割り込みの仕事を来た順に順次片付けていくと必ず破綻する。

まず大前提として、時間内に仕事を終えるためには「どういう方針で仕事を行うか」という戦略が絶対に必要です。
戦略の無い仕事のやり方では仕事の量が多くなった時、"1. 湯水のごとく時間を使う" "2. 人手を多数投入する" という方法でしか終わらせることが出来ません。「どうしたら時間内に仕事を終えられる(=定時に帰れる)か?」ということを解決すべき命題に据えるならば1.の方法は論外ですし、2.の方法は人手を割ける環境ならばいいですが、そう恵まれた環境も多くはないだろうし、割り込みの仕事が来て人手が割けなくなったときにフォローが出来なくなります。
これを読んでいる人にとっては「そんなこと当たり前だろ」と思われるでしょうが、こういった基本的なことも出来ない人がいるんですよ。ちなみにソースは私です。

机上の空論だけだと分かり辛いので、私の一日の仕事の流れを例にして具体的に説明!

これは業種や職種によって大きく変わるので一般化し辛いところでしょうが、一日の仕事の流れはだいたい同じ流れになっていくことが多いと思います。なので、まずは自分の一日の仕事の流れをしっかりと把握しましょう。具体的に私の一日の仕事の流れは以下のようになっています。

  1. 職場到着〜開店まで
    • 在庫の整理
    • 届いてきた商品・在庫の商品の品出し
    • 売り場の掃除
  2. 開店〜昼休みまで
    • 売り場での呼び込み
    • 翌日の商品の発注
    • 値下げする商品への値下げシール貼り
    • 商品の補充
  3. 昼休み終了〜仕事完了まで
    • 開店〜昼休みまでの仕事と同一(「翌日の商品の発注」は無い)。

これに加え、当番制で回ってくる仕事として

    • 営業時間内の売り場清掃
    • 廃棄商品のデータ登録
    • 自分が担当している以外の部署の鮮度チェック

があります。

こんな感じで一日が過ぎるわけですが、赤で色分けされている項目(以降この"項目"のことを"タスク"と呼称します)は「優先順位の高いもの」青で色分けされているタスク「終わる条件が明確なもの」という私なりの分類です。紫のタスク赤と青両方の要素があることを意味します。

このように自分の仕事の項目を洗い出し、一つ一つを自分なりのカテゴリ・フレームワークで分類することで取るべき戦略が見えてくるはずです。

私の場合、「終わる条件が明確なタスク」というのは、終わる条件がはっきりしていて且つ絶対やらないと行けない仕事なのですが、それほど優先順位が高い仕事ではありません。逆に「優先順位の高いタスク」というのは、品切れ回避や売り場の充実のために必要なため優先順位が高い仕事になるわけですが、仕事の性質上、厳密に「ここで終わり!」という線が無いという特徴があります

で、一応上では便宜的に3つの時間帯にタスクを割り振っていますが、時間内に終わらなかったタスクは当たり前のごとく後でやらなくてはいけません。ですが、その時間帯には本来やるべきタスクがあるので当たり前ですがやるべきタスクは増えていきます。で、「どうしたら時間内に仕事を終えられる(=定時に帰れる)か?」ということを考えた場合、以下のような戦略が一例として出てくるわけです。

  1. 「優先順位の高いタスク」を全てこなした後、「終わる条件が明確なタスク」をこなす。
  2. 「終わる条件が明確なタスク」を全てこなした後、「優先順位の高いタスク」をこなす。
  3. 「優先順位の高いタスク」を優先的に行いつつ、「終わる条件が明確なタスク」を平行して行う。
  4. 「優先順位の高いタスク」を優先的に行いつつ、「終わる条件が明確なタスク」を平行して行う。

論理的(?)に考えると上のような2×2の戦略が考えられるわけです。まあ、1番目の戦略は「優先順位の高いタスク」の特徴を考えると無理なわけですが。

それではこのなかのどれが最適な戦略として考えられるか?

…ぶっちゃけてしまうと、「これが最適な戦略だ!」という形で一つには決められないと思います。

仕事をする上では割り込みの作業も多いし、一つの戦略に固執して仕事をしていると状況が一変したときに対応できなくなり、無駄な時間を使ってしまうので、自分の中で「ここからまでいったら方針を変えよう」という基準を何となく設けてその都度戦略を変更していくのが望ましいかなと個人的には思います。

今の私の場合、「昼休みまでは3番の戦略を中心にして動き」、「昼休み終了後は4番の戦略を中心にして行動する」というようにある程度バランスを取るようにしています。一応理由があって、「開店直後は「優先順位の高いタスク」をこなしていないと売り場がグチャグチャになってしまい、話しにならなくなるから」というのと「「優先順位の高いタスク」は終わりが無いので、昼休み終了後くらいから「終わる条件が明確なタスク」をやらないと課された仕事が終わらないから」というものです。

><なんで、結論を一言でまとめると

  1. 自分の仕事の流れを把握し、内容を一つ一つに分けて分類する。
  2. 分類した後、分類したタスクの特徴を押さえて、有効な戦略を複数立てておく。
  3. 自分なりに戦略を変更するときの基準を設けて、状況に応じて戦略を変えながら作業をする。

というところになるでしょうか。
><

というわけで、備忘録としての「どうしたら時間内に仕事を終えられる(=定時に帰れる)か?」というテーマのエントリでした。

終わってみると、最後の方は全然「どうしたら時間内に仕事を終えられる(=定時に帰れる)か?」というテーマに沿っていない気がしますが、もうそんなのは気にしない。このブログ更新予定時間を30分以上過ぎているという「おまえ言っていることが出来ていないぞ!」状態なのも気にしない。

だって、文章書いている途中にSafariがクラッシュして途中までの文章がパーっと散って、やる気が急激に下がったからしょうがないと自分に言い訳して締めます。