激務の要因。
やっぱり 「やるべきこと」 と 「時間」 のバランスです。
例えば・・・
100時間あれば出来る仕事があるとします。
1日8時間だから… 100時間÷8時間=12.5日、
「2週間半あれば出来ますよ」
条件が増えました。
それを来週までにやらないといけません。
納期は絶対です。
1人じゃなくて、2人でやれば出来そうな気がします。
土日は休みですから、1週間は5日で計算しないといけません。
100時間÷5日=20時間 (→10時間×2人!)。
「2人でやれば、それぞれ1日2時間の残業で出来ます」
制限が出ました。
人がいません。お金がありません。1人でやってください。
2人で毎日残業しないと出来ないところを1人では無理です。
でも、代替案も出さずに「出来ない、無理です」を連呼するのは
ビジネスマンとして失格です。
時間と要員が決定でも、機能を制限すればいけるかもしれません。
「時間的に厳しいです。機能を削る訳にはいきませんか?」
「とりあえず1週間後には50時間分の機能をリリースします。
段階的に2週間に渡ってリリースするのはどうですか?」
却下されました。仕様は絶対です。
泣く泣く以下の計算になります。
100時間÷7日=14.3時間
「1週間休みなしで1日6~7時間残業すればやれるかも・・・」
・・・採用されました。
極端に言えば激務の要因はこんな感じです。
ひどいですか?
でも、これだけだったらまだいいんです。
普通にやったら100時間かかるところを
作業を工夫して80時間で完成させることが出来れば
1日5~6時間の残業で、日曜日は休めます。
効率化への取組みはプロのエンジニアとしては当然のこと。
しかし、昨今コンプライアンス?やら ISO?やらに対して
積極的に取組む企業が増えてきている状況の中で、
やれチェックリストだ、第3者チェックだ、特別レビューだ、
コーディング以外に開発者のやることは増える一方なんです。
しかも、コンプライアンスやらへの取組みの歴史が浅い職場では
それらにかかる工数の多くが見積りの100時間に含まれていません。
十分なチェックやテストを実施したシステムを提供出来れば
開発者にとっても幸せなことです。
品質や法令に対しての取組みも素晴らしいと思います。
それらが当然やるべきこと、とされているのは構わないんです。
それにも当然時間とお金がかかることを分かった上で
見積り工数に加えてくれてさえいれば・・・
ひどいですか?
でも、これだけだったらまだいいんです。
泣く泣く引かされた無茶苦茶なこのスケジュールは
いったん開発者の手から離れると
「このスケジュールでやれると開発者は宣言しております」と、
何故か決意表明、承諾書みたいな扱いになってしまうんです。
しかもこのスケジュールにはリスク分が含まれていないので
何か問題が発生すれば、当然作業は遅れていきます。
進捗会議で「1日遅れ、2日遅れ・・・」と報告すると
管理者から「これで出来るって言ったよな」みたいに責められたり。
そして「この会議の時間がもったいないんじゃ!」と思いつつ
口だけは挟む管理者層の好き放題で非現実的な提案を聞きながら
「 簡単だ 言うならお前が やってみろ 」と
哀しいサラリーマン川柳を詠んでしまっていたり。
何か自分が可哀相になってきた。
あくまでこれは極端な例で、現実は、もうちょっとマシですよ。
どの程度マシかは・・・考えないようにします。
せめて気持ちのフォローは欲しいですね。
楽しくやれれば・・・無茶なスケジュールも・・・ねぇ。
気休めですけど。