システムエンジニアは「納期」というラスボスと戦っている

システムエンジニアやプログラマーって、やたらと忙しいイメージがありますよね。

僕自身もシステムエンジニアだった頃は、思い出したくないほど忙しかったです。

日付が変わるまで残業したことなんて、数えきれないほどあります。

takuya

あのときのシンドイ経験が自分を成長させてくれた!

なんて、前向きな考え方なら心配不要!

あなたは最強のシステムエンジニアです!!

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

目次

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

takuya

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

システムエンジニアは、悪戦苦闘の日々を過ごします。

自分を苦しめる何かを倒しても、また新しい敵(問題・課題)が襲ってきます。

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

システムエンジニアには、多くの敵を生み出す強大なラスボスが立ちはだかっているのです。

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

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

納期は簡単に変えられません。

どんなに強い攻撃を加えてもビクともしません。

システムエンジニア一同は、長い旅(スケジュール)を経て納期にたどり着きます。

しかし、スタート時期や攻略ルートを間違えがちです。

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

あれやこれやと、さまざまな原因で苦しめられます。

共通しているのは、いずれも想定していなかったことです。

道中に知らない敵がいて、思わぬ足止めを喰らったり、
前の街でイベントを攻略していなくて後戻りしたり…

システムエンジニアは、納期に対するスケジュール管理で苦労しがちです。

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

納期が迫ってくると、システムエンジニアは余裕がなくなります。

スケジュールに余力が無くなったり、遅れが発生してしまったりすると困ったもんです。

しかし、どれだけ困っていても、納期が待ってくれることはありません

そこでシステムエンジニアは、何とかして対策を立てます。

助っ人を増員する

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

しかし、事態は一刻を争う状況です。

都合よく、勇者や賢者、バトルマスターなんて現れません。

「単純作業を分担できる仲間」を見つけるのが精一杯です。

残業する

まだシステムエンジニアは、納期に立ち向かうレベルに達していません。

地道に残業して、納期と戦えるレベルまで作業を続けます。

しかし、残業はストレスをためる大きな要因です。

百害あって一利なし。サービス残業となり、経験値(残業代)をもらえないこともあるとか。

「遅れた原因はお前らだろ!?なんで残業代を払う必要があるんだ!」

takuya

立場が弱いと言い返せないよね。

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

過去に携わってきたプロジェクトでは、余裕のあるスケジュールで納期を迎えた経験がほとんどありません。

とくに下請けの会社は、クライアントから多少無理な条件でも受注することがあります。

takuya

以前勤めていた会社では、そんなことをばかりでした。

スケジュールは「問題なく無事に進捗する前提」で作成します。

それは当然ですよね。

問題が起きる前提でスケジュールを見せたら、クライアントが「依頼しても大丈夫か?」って不安になります。

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

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

ユーザー

あのときはAって言ったけど、
よく考えてみたらBのほうが良かった…変えてくれない?

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

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

100点

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

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

しかも、追加の予算をもらえます。

50点

「ユーザーさんから頼まれちゃった。申し訳ないけど…なんとかできない?」と下請け企業に頼む。

下請けエンジニアが死ぬパターンです。

システムエンジニアも必死に抵抗しますが、おそらく追加の予算を多少もらって頑張ることでしょう。

0点

「以前、Aという仕様に決めたじゃないですか!今さら変更できませんよ!」とクライアントが断る。

クライアントがエンドユーザーに怒っちゃいました。

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

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

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

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

共通して言えることは、エンドユーザーとケンカすることが多く、いつもスケジュールに余裕がありません。

takuya

後ろめたさがあるのか、なぜか下請け企業には腰が低いです(笑)

納期を倒す方法は?

正直なことを言うと、システムエンジニアは必ず納期に悩まされます。

とくに下請けのシステムエンジニアが。

納期を倒す唯一の方法は「納品」です。

納品すれば、すべてが終わります。

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

ここまで書いてきたように、スケジュールの遅延は大きなストレスを感じさせます。

それは、納期を倒せる唯一の武器の完成が遠ざかるからです。

自分自身のミスが原因であれば、手間は増えるけど気は楽です。

だって自分が悪いから。時間をかけてでも頑張れます。

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

takuya

ストレスは内に溜めこむとキツイし、
外に吐き出すと周りの空気が悪くなるし…

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

過去の経験から、どうすれば良いのか考えてみました。

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

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

  • 誤字脱字はないか
  • 仕様とのズレはないか
  • バグは漏れなくチェックしたか

初歩的なミスは、想像以上にあっさりと発生します。

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

1つのタスクが完了するたびに、数分でも数十秒でも良いので見直しましょう。

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

確認や相談は、こまめにやり取りすべきです。

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

時間をかけて頑張ったあとに「違う」と言われるより、ちょっと頑張った段階で言われたほうがダメージが少なく済みます。

しつこいくらいに聞いてしまえば良いです。

結果的に良いシステムが出来上がるはずなので。

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

下請け企業は、クライアントから難しい対応を依頼されることもあります。

そんなときは「無理なものは無理」と言ってしまいましょう。無理なことをやる必要なんてありません。

ただし「それヤダ!しんどい!無理!!」と駄々をこねるわけではありません。

まずは自分自身の状況をしっかりと把握して、説明(交渉)できるように準備します。

「追加対応するにあたり、現在着手している作業に○○な影響があります。」
「追加対応を優先し、現在着手している作業を…」

こんな風に交渉できると良いですね。

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

システムエンジニアの仕事は仲間を連れて納期を倒すクエスト

システムエンジニアに限らず、納期は社会人にとって「迫りくる恐怖」のようなものです。

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

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

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトは reCAPTCHA によって保護されており、Google のプライバシーポリシー および 利用規約 に適用されます。

reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

目次