わたしはかれこれ10年以上SEを続けていますが、いまだにSEを辞めたいと思うことはあります。
ではSEを辞めたくなるなると思わせるほどの辛いことって何があるでしょうか?わたしの中ではそのひとつに日程遅延による辛さというものがあると考えています。
SEの仕事において一番大切なのは納期を守るということです。納期を守れないSEはどんなに技術力があってもダメなSEです。
SEは日程を死んでも守れなければならない…これがすべての諸悪の根源であるとも言えます。

SEを辞めたくなるほど辛いと感じる日程遵守
SEとって一番大切なものは日程遵守
SEの仕事というのは品質や利益など大切な要素となるものがいくつかありますが、その中で一番大切なものは何かと聞かれれば納期であるとわたしは答えます。これはどんなSEでもきっと同じ意見でしょう。
日程が遅れるとお客様の日程も狂う
なぜ納期は大切なのか?納期を守らないとどうなるのか?
納期を守れなければ、お客様の日程も狂っていくことになります。なぜなら、お客様はわたしが開発する製品を使って仕事を進めていくからです。
わたしが開発する製品の納品が遅れれば、その分だけお客様の仕事が送れます。お客様の仕事が遅れれば、お客様のお客様に対しても迷惑がかかっていくことになります。

と答えているのにそれを守ることができない。できないことをできると言ってしまうのはSEとしてだけではなく、人としても最悪のことです。
つまり、日程が遅れるということは信頼を失ってしまうということであり、信頼を失えば今後、仕事は回ってこないこともあります。
仕事が回ってこなければあなたとあなたの会社はお金を稼ぐことができない。会社も潰れるかもしれないし、あなたも明日のご飯が食べられなくなります。
製品が必要な時期を逃す。『賞味期限切れ』の製品を納品するようなもの。
食品に限らず、製品には賞味期限のようなものがあります。

というお客様の要望があります。この時期をすぎた途端、必要のないものになってしまうことがあります。
たとえば競合他社の存在です。
お客様はどうしても機能Aをテストしたいと考えます。それには製品Bというものが必要になります。
この時、わたしと競合他社が製品Bの開発を進めたとします。どちらも同じタイミングで製品Bをリリースします。
もし、わたしの作業が送れて製品Bのリリースが一ヶ月延期したとしましょう。こうなったらお客様は確実に競合他社の製品Bを使うはずです。
一ヶ月遅れてわたしが製品Bをリリースしたところで、お客様はすでに製品Bを持っているので買ってくれるはずがありません。
つまり、製品Bに費やしたコストがすべて水の泡となるわけです。
日程を守るためなら残業・休日出勤しホーダイ
日程が遅れるということは、費やしたコストがすべて水の泡となって消えてしまうリスクがあるということです。
なので、日程を守るためならば、会社は多少コストが増えてしまった押しても残業・休日出勤をしたほうが資金回収の確率が上がることになります。安全な対策となるわけです。
ですが、働く社員側としてはたまらないですよね。
- 毎日22時に退社。
- 土日も出勤。
36協定というもので守れているとはいえ、限界までは作業負荷を高めることでしょう。
高い作業負荷が仕事の質に歪みを生み出す。さらにバグってまた日程遅延…
作業負荷が高くなるとさらなる悪循環を生み出します。
気持ち的にはどんなにがんばれたとしても、身体は正直です。毎日22時に退社したり、土日も休まずに働いていれば確実に疲労は溜まっていきます。
溜まった疲労はどういった形で問題が出てくるか?それは開発するソフトウェアの中にバグという形で現れてきます。
疲れていた、眠かった、集中力が落ちていた…そんな理由からバグが埋め込まれます。
埋め込まれたバグはまたどこかで問題が現れてきます。
ある日テストをしていて、

重要度によもりますが、たいていバグが出ればまた優先して修正することになり、日程が狂っていきます。
負のスパイラルから抜け出せない
- バグが出る。
- バグ修正を優先して割り込ませる。
- 本来の日程が遅延する。
- 遅延回収のため残業・休日出勤する。
- 高い作業負荷のせいで仕事が雑になりバグが埋め込まれる。
- 以降、1~5の無限ループ。
一度でもこの負のスパイラルにハマってしまうと抜け出すのがむずかしいです。
わたしも今までのSE人生において何度もハマっています。そしてこれから先も何度だってハマるでしょう。
こうなってしまってはどうしようもなく、ただひたすら目の前野作業をできるだけミスのないように片付け、ひたすらいつかきっとやってくるであろう終点に向かって進むだけです。
SEの仕事というのは天気に例えると、常に曇りか雨の状態です。ごくまれに、短期間だけ太陽が顔を出すこともあるのですが、すぐにまた曇り・雨になります。

まとめ
- SEにとって納期は命ぐらい大切なもの。
- 納期に遅れるということは開発製品が買ってもらえないかもしれないということ。
- 納期に遅れれば信頼を失い、今後の仕事もなくなる可能性がある。
- 仕事がなくなれば会社も自分も存続できない。だから納期は大切。
- 納期を守るために作業負荷を上げるが、その分だけ仕事の質が落ち新たなバグ・問題を生む。
- バグって納期遅れて慌てて仕事してバグって…の無限ループ。
SEの仕事がブラックだと言われますが、その理由は残業・休日出勤が多いということが挙げられます。
なぜ残業・休日出勤をするのかと言えば、それは日程遅延回収のためであり、日程が遅延するのはバグといった割り込み作業が原因です。
ソフトウェア開発はまだまだ歴史も浅く、確度の高い開発手法というものが研究段階の状態です。
SEは上述したような負のスパイラルに何度もハマりながら仕事をしているのですが、今後もまだまだ続く見込みです。こういうのを体験すると、SEなんてやらなきゃよかったなぁ…なんて思います。