終わらないエンジニアの考えるスケジュール

エンジニアに限らず、他の部門でも成人済みの社会人のかなりの割合の人が納期に間に合わないような仕事をしています。

「ほんと?」と思うでしょ。ほんとです。20%くらいの割合でいますね。去年度の体感ではそのくらいの人が締め切り直前のリマンダーをみて慌てて対応していましたから。忙しいだろうと余裕をもたせたスケジュールが災いしたのかもしれませんが締め切りを厳しくすると納期に間に合わせてくれる大多数の方がしんどくなるのでねぇ。

アラートがないと始めないなら間に合うわけがない

作業を終わらない人のスケジュール感ってはたから見ているとこんな感じです。進捗を黙って見ていると、途中まで何をやっているのかさっぱりわかりません。

だって、アウトプットがないのです。作業期間の途中になってそろそろ期限が近いと警告を受けてやっと動き出す。もともと作業プロセスが決まっているなら、全てのステップは通過しなければならない(からチームとして標準プロセスを決めているわけです)のですから、慌てて初めても間に合わないのは確定事項です。

ではどうしたら納期に間に合わせることができるでしょうか。

f:id:fumisan:20170403074305p:plain

何をしなければならないのかを知る

必ず納期に間に合わせるためには、まず、納期までに経なければならないレギュレーションや標準プロセスを押さえておく必要があります。

例えば、資料作成や設計書の執筆、コーディングでプログラムを書くというような作業のいずれも共通項としての項目は下図のようなプロセスを経るものです。

f:id:fumisan:20170403075042p:plain

作業の中で行う小さなボックスは図では一列に並んでいますが作業プロセスとして定義する業務やプロジェクトで決める作業プロセスでは繰り返す場合もあります。そのようなケースでは、ループが前提で基準を満たすとブレークするプロセスの設計になっています。

作業を見切る

決められている作業プロセスが明確であればそれをベースに、その作業を自分のスキルでやったらそれぞれ何時間かかるか「時間単位」で作業の工数を腹づもりする必要があります。

上記の図の5つの小さな作業が今の自分のスキルレベルなら1つずつ何時間あればできるかを見積もるのです。

ただ、作業を見切るためにはもう一つ情報が必要です。

ゴールを設定する

作業はチームやプロジェクトとしての1つの作業を切り出しているのであって、自分が勝手にやっていいものではありません。

つまり、自分でやった作業の完了形を次の人に渡さなければならないということです。その人が(例え後続を自分でやることになっていても)受け入れられる水準があるのです。それを満たさなければ後続の(自分かもしれない)方に前行程の不十分な作業のツケを回すことになります。

今日終わらせると決めたことを終わらせる

納期に間に合わせるためには、今日終わらせると予定したことを終わらせることです。これ、当たり前ですが、計画した通りに進まない(のは周りと一緒に働いているからと自分のスキルレベルと見積もりの甘さなどの原因があるので)のです。

でも他責にしては何も産みませんし、進捗が進むわけでもないので、いかに進められるかを考え行動する必要があるのです。