10年SEやってみたけど転職しておけば良かったと後悔している。SE辞めたい!異業種・異業界に転職したい!新人・若手に伝えたいこと

SEを10年続けてみた結果!転職したくてもできなくなった…

またバグ出してしまった…

SE悩みあるある

ソフトウェア開発において仕様・考慮漏れでバグが出た時に『SE向いてないな』と思った話

投稿日:

SEをやっていると『仕事、向いてないなぁ…』と思う場面はたくさん出てきます。

SEの仕事はむずかしい仕事ですので、どうしても間違いが起こってしまうものです。また、ソフトウェアは便利な半面、0か1かしかないためちょっとしたミスでも致命的な不具合・バグになることもあります。

バグと一言で言っても原因にはいろいろあります。

  • 設計ミス
  • プログラミングミス
  • テストミス

この中でも一番厄介なのが設計ミスによるもの。設計を間違えただけなら良いのですが、そもそも考慮することすら漏れていたパターン。

テストをしている時に、

…あ、これじゃダメじゃん…

…時すでに遅し。恐る恐る調査をしてみると…がっつり考え漏れてたという。納期まで1週間しかないのにどう見ても作業規模が1ヶ月ぐらいになりそうとか。

考慮漏れは一番やらかしてはいけないものなのです。

ソフトウェア開発で考慮漏れがあると、SE向いてないと思ってしまう話

考慮漏れによる問題

SEのソフトウェア開発において考慮漏れというのは一番やってはいけないパターンです。

その理由は、

  • 修正規模が大きい可能性が高い。
  • 修正規模が大きいと納期に間に合わない可能性が出てくるためリスクが高い。
  • インタフェースに関わることもあり、他モジュールも巻き込む可能性がある。

ちなみにわたしも考慮漏れというのはよくやらかしてきました。

開発規模が大きければ大きいほど、考慮漏れの件数は多くなるし規模も大きくなります

なぜ考慮漏れは起こる?

考慮漏れが起こる原因は主に、

  • 調査不足
  • 規格・仕様の解釈不足
  • 規格・仕様の解釈ミス

一言でまとめると、『知識不足』と言えるでしょう。

わたしの経験上、考慮漏れが起きた時は『改造が必要であるということを知らなかった・気づかなかった』というケースが多かったです。

開発対象のものをよく理解していれば考慮漏れが起こる可能性は低くすることができる傾向にあります。ただし、それでもゼロにすることはできないでしょう。

たとえば、わたしは1人で500万行程度のソースコードを管理しています。…普通だったらそんな状況はないと思うのですが…。

とてもじゃありませんが、1人ですべてを完璧に把握するなんていうことは不可能に近いのです。

  • 担当しているモジュールの規模が大きい。
  • プロジェクト異動したてで担当モジュールをまだよく理解できていない。

SEのリアルな現場では、そんな理解が不足している状況で開発を進めていくケースが多いです。

考慮漏れが起きてしまうのはもはや必然であると言えるでしょう。

考慮漏れを防ぐためには?

考慮漏れを起こさないためにはとにかく担当するモジュールのことをよく理解することです。

  • 勉強する。
  • 調査に時間をかける。
  • 調査の次の工程、設計に入る段階では『不明点が1つもない』状態にする。

調査 = 設計ぐらいの気持ちで、がっつり調査に時間をかけます。

この調査という作業を軽んじているSEは多いのですが、10年以上SEをやっているわたしから言わせてもらうと、SEのメイン作業は調査であると考えています。

現役SEであるわたしの実体験ではありますが、

調査 50%
設計 30%
プログラミング 10%
テスト 20%

これぐらいの割合のつもりで作業して良いと考えています。

若手SEから、たまにこんな意見を聞きます。

先輩の指示で調査の仕事しかさせてもらえない!

調査を軽んじているような声ですが、本当の本当に調査は大切なんです。むしろわたしだったら怖くて調査を若手には任せられないです。調査をやらせてもらえているということは、それだけ成長して欲しい、期待されていると言えます。

完全に回避することは不可能

ただし、どれだけ調査に時間をかけても考慮漏れは発生します。あくまでも調査に時間をかけることで考慮漏れを少なくできるだけです。

なぜ考慮漏れはゼロにできないのか?その理由は、

自分の意識の外にある問題には気づくことができない。

ソフトウェア開発ではできるかぎり物事を俯瞰して見る(全体を見通す)ことが大切ですが、どうしても気づけないこともあります。そのため、調査をして結果報告を第三者にレビューしてもらうことをします。

しかし、それでも気づけないこともあります。ソフトウェア開発において考慮漏れはある程度は仕方がない。それが大規模になるか、小規模になるか…蓋を開けてみなければ(テストしてみなければ)わかりません…。

まとめ

  • 考慮漏れによる問題とは、後工程において致命的な規模のバグになるリスクがあること。
  • 考慮漏れの原因は主に『理解不足』である。
  • 考慮漏れを防ぐにはとにかく理解を深めるしかない。調査に時間をかけること。
  • 考慮漏れを完全に回避することは不可能。

つまり、最終的な答えとしては、『考慮漏れは少なくできるけど完全回避は不可能』ということです。

漏れた部分はバグとなって現れます。それがテストで出ればまだ良いほう。納期間近に見つかって規模が大きければアンラッキー、残業と休日出勤でがんばって修正しましょう。リリース後、お客さんにバグが発見されるのが最悪パターン。会社とあなたの信用失墜です…。

何度も言いますが…SEをやっている以上はバグとは付き合っていかなければなりません。納品後にバグが見つかることなんてしょっちゅうあります。

当然、お客さんや上司、仲間からも責められます。SEはそういったバグを少なくする技術を身につけるとともに、バグを埋め込んだ時のストレスに耐えるというスキルも必要なんです。バグ一つで会社の経営を傾けることがありますので、日々そういったプレッシャーとの戦いです。

どんな一級SEでもバグは出します。一級SEでもうつ病になって辞めていく人がいます。SEとして生き抜くためにはメンタルの強さも必要なんです。

結局、メンタルが弱いという人はSEには向いていない人なのだと言えます。

-SE悩みあるある

Copyright© SEを10年続けてみた結果!転職したくてもできなくなった… , 2023 AllRights Reserved Powered by AFFINGER4.