はじめに
まず、風呂敷を広げた題目ですが、私自身小規模なプロジェクトしか取り扱いません。
人の管理もし易いですし、納期も比較的穏やかな中、発生しそうになった時間外に対しての対応をどのようにしたか?について記事にします。
大プロジェクト・超短納期などの方には「綺麗事だ!」と思われてしまうかもしれませんが、何かしらの解決のエッセンスにでもなれば幸いです。
また、プロジェクトには開発経験が豊富なプレイヤーはいません。
開発経験豊富なプレイヤーには下記は当てはまらないだろうとも思いますので、ご承知の上御覧ください
そもそもなぜ時間外が発生するのだろうか?
簡単な理由は「遅れているから」、「突発的なトラブルが発生し解消を試みないと遅延が発生しうるから」、「外的要因にて待たなければ行けないから」というところなのかなと思っています。
最後はある程度致し方ないでしょうが、調整はできないものか?というところは一考してもらう必要があります。
では前2つについてはどうでしょう?これら2つは私のプロジェクトにおいても部下から言われました。
一見すると仕方ない理由に見えますが、深ぼっていくとそうでもない場合があります。
一体どのような経緯で上記2つを報告されたのでしょうか?
そもそも遅延していなかった
「遅れているので残業したいです。」
私のプロジェクトでは相手のスキルレベルに合わせて工程の粒度を変えて指示しますが、その単位で終了日・進捗率を入れさせています。管理のため、毎日進捗率をいれるよう指示するのですがなかなか0%から進みません。これでは確かに「遅れています」が、そもそも本当に0%なんてあるのでしょうか?
よくよく聞いてみると、工程内での進捗がそもそも把握できていない模様でした。
一番細かい粒度はXX取得APIの設計書を作成する、XX画面の設計書を作成する。程度の内容ですが、その中で今自分がどの程度の進捗があって、それが遅れているのか?進んでいるのか?というのがわからない模様です。
ここから更に細かくすると、パラメータの条件の設計を行う。エラーパターンの設計を行う。などというところになりますが、できれば将来的にはもっと荒い粒度で指示を出せる人員になってほしい(PLになるために自分で工程を分析できるようになってほしい)というところもあります。
この状況を踏まえ改めて内容を確認し、進捗率を確認してみるとそもそも遅滞していないことがわかりました。
全体でどのくらいの作業が発生する予定で、そのうちどのくらいが完了したか?というのは経験を積めば感覚的にわかったりするものですが、経験が浅いうちは書き出しして消し込んでいくことで自分の正確な進捗率を把握させるといのは良さそうです。
私は作業に飽きるとだいたいこんなことをやっています。で、自分の立ち位置を見てなんだ楽勝じゃんと思えばなんなら他の仕事をして憂さ晴らししたりしています笑
リカバリ手段が時間外のみである
私にも原因があるのですが、タスクをふる際良くも悪くも機械的です。
過去のプロジェクトの実績から設計・実装・テストにかかる割合と規模感の割合・個人の力量から計算式を作って割り当てていきます。これは感覚的なブレを作りたくないことからやっていることです。
規模感と言ってもそこまで粒度を細かくしておらず、中には最小単位が大きすぎて振り過ぎなタスクも存在します。また、テストもこんな時間かかるものじゃないだろうと思っているタスクもあるため実装で遅れても内容によってはテストや皇族のタスクで十分リカバリ可能な場合があります。
また、よほど無理がある場合は私が余力のある人に振りなおすことも可能です。
https://qiita.com/jun2/items/496b492d3bbc95ceaf4c
にも書きましたが、真面目な子が多いので、自分ですべてなんとかしようという意識が強いのでしょう。
他にリカバリ手段はないか?そもそも残業で賄えるものなのか?など一旦考えさせてみると意外と時間外は不要だったりします。
終わりに
別に時間外が悪とはいいません。なんなら給与の面からしたら私は適度にやりたいと思っているほどです。
が、プロジェクトとして時間外0で予定見積もり通り完了させました。というのはこれほどの成果はないと信じてやってきた次第です。
一方教育面ではある程度苦労は必要だと思います。技術者として思い悩みときには夜までやったタスクを達成した経験は絶対に糧になります。
2〜3年目のほぼ新人であればあえてそのまま時間外させたかもしれません。
今回はそうでなかったので、もう少し難しいことを求めたというところでしょうか。
プロジェクトではときには私も「余力のある人員」として開発していたりします(ここで本当の遅延は埋めたので、ちょっとずるに近いですが)皆様のプロジェクトの規模や条件は異なるかもしれませんが、少しでも役に立つ記事であればと思います。