単位時間あたりの作業量を把握しよう

駆け出しのエンジニアにとって、何時から何時までナニナニの作業を行った、といった作業記録を具体的にテキストファイルなどに残しておくことは、後々の開発のために非常に有意義だと思っています。

それは、自身の時間管理にもなるし、なにより作業記録を一定期間続けることによって、自分の単位時間当たりの作業量が判明するからです。そして、自分の作業に対するパフォーマンスがはっきりすれば、以降の開発案件にて工数の見積りを正確に作ることができ、根拠のある自信を持って作業スケジュールを先方に出すことができるわけです。

およそ、プロジェクトが炎上してデスマーチになるのは、作業スケジュール通りに作業が進まず、納期間近になってもまともに動くモジュールがリリースできないからです。もちろんその原因は、度重なる先方からの仕様変更要求や、想定外のバグをなかなか除去できないといったこともあると思いますが、それに加えてプロジェクトメンバーの開発における力量がはっきりしていないため、実現不可能なスケジューリングをしてしまうということもその一因だと思います。

もしメンバー全員が、これこれの作業における自身の単位時間当たりの作業量は云々、ということを把握できていれば、リーダーも明確な根拠をもってメンバー編成をして作業スケジュールを組むことができるし、ひいてはより高確率で納期通りにモジュールをリリースすることができます。

ただ、作業のたびに逐一メモ帳に記録するのは面倒でもあるので、メンバー各人が単位時間当たりの作業量を把握するために「作業ログ」なるもののツールを導入すれば効果的かもしれませんね。

また、自分の単位時間あたりの作業量を把握しておくという習慣は、開発時だけではなく、エンジニアの転職時にも有益になるのではと思います。例えば、エンジニアの職務経歴書にも、プロジェクト経験や言語経験だけでなく、単位時間当たりの作業量も並記しておく。そうすることによって、その人の開発におけるパフォーマンスも明確になり採用する側にもメリットがあるのではないでしょうか。要は作業パフォーマンスの可視化です。

一方で、自分はどれくらいの力量があるか分かってないのに、面接では身の丈に合わない大言壮語のアピールをして、運よく(本当は運悪く)採用されたとしても、採用先のプロジェクトの怒濤のように流れていく状況について行けず、その結果、採用した側も採用された側も双方が不幸になってしまうことも考えられます。

もちろん、作業記録をテキストファイルに録ることはそれ自体が負担になりかねないので、全てのエンジニアにオススメできるものではありませんが、何らかの形で作業パフォーマンスを可視化しておくことは、開発におけるあらゆる局面で後々活かされるのではないかなと思います。