【エンジニア】エンジニア時代は納期というラスボスがいた【納期】

エンジニアは何かと戦っている

エンジニアやプログラマって、やたらと忙しいイメージがあると思います。

僕も、エンジニア時代は忙しかったです。日付が変わるまで作業したことも、何回かありました。

ぎょぎょぎょ

あの時の辛かった経験があったから、今の自分に成長させてくれた!

なんて、前向きな考え方ができれば心配不要!あなたは最強のエンジニアです!!

僕は残念ながら、いつも見えない何かと戦いながら、体も心もボロボロになっていました。

納期はエンジニアに立ちはだかるラスボス

ぎょぎょぎょ

なんでこんなに忙しいんだ!誰がこんなに苦しめるんだ!!

エンジニアは悪戦苦闘の日々です。倒しても倒しても、新しい敵(問題・課題)が襲ってきます。

敵と戦えば戦う程、HP(スケジュールのバッファ)が減り、あと一歩でゲームオーバー(残業地獄)です。

エンジニアには、多くの敵を生み出す強大なラスボスが立ちはだかります。

「納期」と呼ばれる、あまりにも強いラスボスが。

なぜ納期はあまりにも強いのか

納期は簡単に変えられません。どんなに強い攻撃を加えてもビクともしません。

エンジニア一同は、長い旅(スケジュール)を経て納期にたどり着くのですが、スタート時期や攻略ルートを間違えがちです。

納期に苦しめられる原因
  • スケジュールの見積が甘かった
    (一部の作業が漏れていた・想定より時間がかかってしまった)
  • 想定外の仕様変更を依頼された
  • 作業品質が悪く、後戻り作業が発生した
  • 前工程の作業が完了していない

原因はさまざまですが、共通して言えるのは、見積の段階で想定していたスケジュールから外れてしまっています。

道中に知らない敵がいて思わぬ足止めを喰らったり、前の街でイベントを攻略し忘れて後戻りしたり…エンジニアは、納期に対するスケジュール管理で苦労することが多いです。

残業は納期を倒すためのレベル上げ(苦行)

納期が迫ってくると、エンジニアも余裕がなくなります。特にスケジュールに余力が無くなったり、遅れが発生してしまったりすると困ったもんです。

困っていても、納期が待ってくれることはありません。エンジニアは、何とかして対策を立てます

助っ人を増員する

エンジニア一同は、不足しているリソースを補うため、パーティに助っ人を加えようとします

しかし、一刻を争う状況です。都合よく、賢者やバトルマスターは現れません。単純作業を分担できる仲間を見つけるのが精一杯です。

残業する

まだエンジニアは、納期に立ち向かうレベルに達していません。地道に残業して、納期と戦えるレベルまで作業を続けます。

しかし、残業はストレスをためる大きな要因です。百害あって一利なしだと思います。サービス残業となり、経験値(残業代)をもらえないこともあるとか。

「遅れた原因はお前らだろ!?なんで残業代を払う必要があるんだ!!」って言われるとね。立場が弱いと言い返せないよ・・・

納期はスケジュールを混乱させる

過去に携わってきたプロジェクトで、余裕のあるスケジュールで納期を迎えた経験は少ないです

特に下請けの会社は、クライアントから案件を受注するため、多少無理な条件でも引き受けることがあります。前の会社では、そんなことを度々していました。

スケジュールは「問題なく無事に進捗する前提」で作成されます。まぁ当然です。問題が起きる前提でスケジュールを見せたら、「ここに任せて大丈夫か?」って不安にさせてしまいます。

一番苦労させられた問題は、システムの仕様を検討する打合せ(要件定義)が、いつまで経っても終わらない状況です。

当たり前のことですが、エンドユーザはシステムの仕様変更が、どれだけの時間を奪うのか分かっていません。

お客様

あの時はAって言ったけど、よく考えてみたらBの方が良かったから、変えてくれない?

なんて言われることもあります。

ここで、エンドユーザーとクライアントがどのように対応しているかによって、下請けエンジニアへのダメージ量が変わります。

100点

Aという仕様が決まった時点で「今後、仕様変更が発生する場合は、別期間かつ別予算での対応となる」のような条件を付け、同意を得ている。

仕様変更により、エンジニアの作業は増えます。ですが、納期を圧迫するような状況は発生しません。しかも追加の予算ももらえます。

50点

「ユーザーさんから頼まれちゃった。申し訳ないが、なんとかできないか。」とエンジニアに頼む。

下請けエンジニアが死ぬパターンです。下請けも必死に抵抗しますが、恐らく追加の予算を多少もらって頑張ることでしょう。

0点

「この間、Aという仕様に決めたじゃないですか!今さら変更できませんよ!」と断る。

下請けのエンジニアからすれば、「えっ、やらなくていいの?ラッキー!」と思う結果です。

ですが、よく考えてください。何のため、誰のためにシステムを作っているの?って話です。

これでは、苦労して作ったシステムを納品しても、ユーザーは喜んでくれません。もったいないです。

僕の関わってきたクライアントには、0点の対応をする方もたくさんいました。

共通して言えることは、エンドユーザともめることが多く、スケジュールに余裕がなくなります。後ろめたさがあるのか、なぜか下請けには腰が低いです。笑

納期を倒す方法は?

僕の個人的な考えですが、エンジニアは必ず納期に悩まされます。下請けのエンジニアは特に。

納期を倒す唯一の方法は「納品」です。納品すれば、すべてが終わります。

エンジニアは長い道のりを経て、システムという武器を作り上げ、納品という「とどめの一撃」を放つのです。

ここまで書いてきた通り、スケジュールの遅延は大きなストレスを感じさせます。それは、納期を倒せる唯一の武器の完成が遠のくからです。

自分自身のミスが原因であれば、手間は増えるけど気は楽です。だって自分が悪いから。時間をかけてでも、頑張れます。

ですが、他責が原因になると、これほどストレスがたまることはありません。

ストレスは、内にため込むとキツイですし、外に吐き出すと周りの空気も悪くなるし・・・

では、スケジュールの遅延を防ぐ方法はあるのでしょうか?

大した内容ではないですが、どうすれば良いのか考えてみました。

本当に大した内容ではありません。でも、できることってこれくらいじゃないかな?

初歩的なミスを減らす(なくす)

誤字脱字はないか、仕様とのズレはないか、バグは漏れなくチェックできてるか・・・

自分で自分の首を絞めてしまうことだけは避けたいです。

こまめにコミュニケーションをとる

完成してから「ドヤッ」じゃなくて、作成途中で「どうですか?」って確認するタイミングを作った方が良いです。

時間をかけて頑張った結果「違う」と言われるより、ちょっと頑張った段階で言われた方が、ダメージは少なく済むと思います。

しつこいくらいに聞いてしまえば良いです。結果的に良いシステムが出来上がるはずなので。

できないことはできないと言う

下請けのエンジニアは、クライアントから難しい対応を依頼されることもあります。そんな時は、無理なものは無理と言ってしまいましょう。やる必要もありません。

ですが、「それヤダ!しんどい!無理!!」と駄々をこねる訳ではないです。

まずは、自分自身の状況をしっかりと把握して、説明できるようになる必要があります。

「追加対応を行うにあたり、現在着手している作業に○○な影響があります。追加対応を優先し、現在着手している作業を…」のように交渉できると良いですね。

少しだけ相手の要求を受け入れつつ、こちらの要望も取り入れてもらうだけでも、負担が大きく変わりますよ。

最後に

最後まで、ご覧いただきありがとうございました。

エンジニアに限らず、納期は社会人にとって「迫りくる恐怖」のようなものだと思っています。

記事を書いている途中で気が付きましたが、納期を倒すには目の前の仕事を頑張るしかありません。

この記事を読んで、少しでも楽しんでもらえたら、また明日から仕事を頑張ってください!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です