大ピンチ!エンジニアの私が仕事でやらかした3つの大失敗

当ページのリンクには広告が含まれています。
  • URLをコピーしました!

突然ですが、仕事でやらかした大失敗はありますか?

失敗は成功の元と言われたりしてますが、私は無能でできないITエンジニアをやっていますので、今まで数々の失敗をやってきました。

この記事では、過去に私がITエンジニアの仕事でやらかした3つの大失敗について紹介します。

目次

仕事でやらかした3つの大失敗

最初からやり直し

ITにおいてシステム開発にはウォーターフォール開発、アジャイル開発といった様々な手法が存在しています。

その中でも私がやらかしてしまったのは、ウォーターフォール開発をしていたときに話です。

ウォーターフォール開発とは、その名の通り、上流から下流へと流れる水の意味で一般的には、要件定義、基本設計、詳細設計、プログラム開発、テストといった工程の順序で開発を進める手法であり、各工程ごとに完了させていく手法のことです。ウォーターフォール開発において肝要なポイントは、前工程には戻らないのが基本という点です。

しかし、私はウォーターフォール開発で何度かやらかしてしまって、要件定義・設計工程において仕様の考慮漏れやプログラミング開発の工程で重篤なバグを出して気づかずに最後のテスト工程で発覚して、前工程、最悪の場合は要件定義からやり直しになってしまうことを起こしたことがあります。

それが本当に最悪な失敗で、過去に要件定義を担当したときに考慮不足で最終的な操作が絶対にできないことを設計、プログラミング開発してしまい、テストの工程まで進んだときに、単体テストでも発見できなくて、結合・システムテストの最後の工程で発覚したときは地獄でした。

何が地獄だったかというと、やり直しになってしまった要件定義から単体テストまでの工程は2~3日で終わるものではありませんでした。なんと1か月かけて1人月かかっていたのです。しかも要件定義で発覚した考慮漏れは少し直せば可能になるようなものではなく、システムの根幹にかかわる部分で大幅な改修が必要になってしまったので、要件定義も設計もプログラミング開発もテストも全ての工程が完全にやり直しになってしまったのです。

それでどうなったかというと案の定、炎上プロジェクトになってしまいました。

緊急で招集をかけてもらって他のプロジェクトから人材をかき集めて毎日終電まで残業してプロジェクトは完遂することができなのですが、予算オーバーで赤字のプロジェクトになったと言いますし、クライアントに謝罪してリリースを遅らせて頂いたりしたので、広範囲にわたって迷惑をかけてしまいました。

その際、製造工程で作成したプログラミング開発したソースコードのほとんどもシステムの作り直しで無駄になってしまったので、プログラマーのモチベーションもだだ下がりでチームの雰囲気は地獄絵図でした。

各工程でレビューもあったので私だけの責任ではないのですが、私がミスしなければこのような事態にはならなかったことなので、ウォーターフォール開発の原則である基本は前工程に戻らないというのが崩れてしまうと大変なことになってしまうということを肝に銘じておいてください。

毎日落ちるシステム

私が担当していたとあるシステムでTomcatというミドルウェアのアップデート作業がありました。TomcatはWebコンテナの1つでWebアプリケーションを動かすために必要となるソフトウェアになります。

バージョンアップには大きく分けて2つあって、一つ目はメジャーバージョンアップでもう世代が終わったよ、ガッツリ機能が変わったり追加されたり完全に新しい世代へのバージョンアップだよ、というもので、二つ目はマイナーバージョンアップで基本的には似たようなものだけど少しだけ機能変わったよ、という2種類があります。

私が担当した案件で大幅に機能が変わるTomcatのメジャーバージョンアップの方が必要になったので、対応することになりました。

マイナーバージョンはセキュリティの脆弱性によるもので行うことが多いのですが、作業自体は軽微で済みます。しかし、メジャーバージョンアップは機能が大幅に変わるということで、Tomcat本体のファイルを入れ替えたり、それに伴い設定ファイルに記載されている内容を移行したりする必要があって作業が大変でリスクを伴います。

しかし、私は無能であるのであまりそのあたりは意識せずにいつものマイナーバージョンの勢いで、えいや!とメジャーバージョンをしてしまいました。

メジャーバージョンアップ後には正常性の動作確認を行って問題なくシステムが動いたことを確認できたので、安心していたのですが、次の日からそのシステムが必ず1日1回以上はシステム障害で落ちるようになりました。

最初の頃はたまたまだと思っていたのですが、それにしても今までは滅多に落ちることがなかったシステムがなかったシステムが落ちるようになってしまったのでクレームが多発して原因調査を依頼されました。

そして、原因調査を行って発覚したことは、メジャーバージョンアップした際にTomcatのメモリの割り当てがデフォルトのままになっていたのです。Tomcatは大規模システムでも使われることも珍しいことではありませんが、その際にシステムの利用人数やかかる負荷によってTomcatの設定ファイルにメモリの容量を設定から運用します。

でも私はTomcatのメジャーバージョンをすっかり忘れていて、インストールされたときにデフォルトで設定される最小のメモリの値が設定されてしまっていたのです。

だから毎日システムの利用者が増えてシステム負荷でデフォルト値を超えたタイミングでメモリ不足によるエラーが発生してシステムが落ちてしまっていたのです。

原因が発覚してからすぐにメモリをバージョンアップ前の正しい値に設定してシステムを起動することでシステムが落ちなくなって解消されました。

原因は完全に私のミスでシステムが毎日起きて損害が出てしまったので、後日問題になって始末書とまではいきませんが、再発防止策等を求められて大変でした…。

ミドルウェアのバージョンアップには気を付けるようにしましょう。

うっかりしてました

私は新入社員だった頃のことです。

OJTで先輩社員の元で教育を受けていたのですが、必ず2人1組で実施しなければならないシステムの移行作業があって、とある駅で待ち合わせをすることになりました。

私は自他ともに認める無能ですが、集合時間にだけは遅れないようにする性格で、待ち合わせの5分、心配なときは30分前から待っていることもあるぐらいなので、必ず2人1組で実施しなけれならないような、しかも仕事での待ち合わせですから30分前から集合場所で待つことにしました。

電車は遅延なく、集合場所の駅に30分前について携帯をいじっていたのですが、集合時間になっても先輩社員は来ません。

遅れているのかな?程度に思っていたのですが、集合時間から5分、10分……経過しても現れないです。

おかしいと思って電話をしようと思っていたと同時に先輩からかかってきました。

もしもし、お前いまどこにいんの?

ダメ系

〇〇駅の改札前にいますけど

は????〇〇駅?△△駅って言っただろ?

ダメ系

えーーーー!!!

なんと集合場所の駅を間違えてしまっていたのです。

私が聞き間違えた?それとも先輩が伝え間違えた?と思って、メールにも書いてあった集合場所の駅を見ると〇〇駅と書いてあったのです。

ダメ系

やっちまったーーーー

なんと完全に私のミスというか、勘違いでうっかりしていて集合場所の駅を間違えていたのです。

間違えた駅と集合場所の駅は同じ路線だったので、距離がかなりあって30分ぐらいかかる距離でした。せっかく30分前に集合したのに、せめて30分前に気づいていれば、と後悔しつつも時間がなかったので急いで集合場所の駅に向かったのですが、大幅に遅刻することになってしまいました。

銀行系のシステム移行だったので時間にも厳しい現場だったので、先輩と一緒にクライアントに謝罪してなんとか移行作業はできることになったのですが、後にも先にもうっかりして駅名を間違えて大遅刻したのはあれが初めての出来事でした。

私が間違えた駅名は名前も似ていたので、うっかり間違えてしまったのかもしれません。

こんなミスをすることはないと思いますが、集合場所はきちんと確認して間違えないようにしましょう。

まとめ

この記事では、エンジニアの私が仕事でやらかした3つの大失敗について紹介しました。

ITエンジニアの開発者として一番怖いのは、ウォーターフォール開発の最初からやり直しになってしまうことですね。ウォーターフォール開発の案件に参画してしまったときはまたやるんじゃないか?とトラウマになって、いつもテストの工程のときはいつもひやひやしています。

だからこそ、要件定義や設計に見誤りがないように他のメンバーの協力も仰いでレビューを強化したり、工夫はするようにしていますが、正直またやらかすじゃないかと思っています。アジャイル開発では、設計からテストまでを短いスパイラルの中で行うのでこういったやり直しが発生しても早い段階で気づくことができて軌道修正できる点では良いと個人的には思っています。

また、この記事では過去にやらかした失敗のエピソードでしたが、過去に私が起こしたヒヤリハットな出来事を執筆しています。こちらの記事の方がインパクトのある記事になりますので、ぜひご愛読くださいませ。

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

この記事を書いた人

無能なダメ系ITエンジニアです/❌勉強せずサボってたので仕事ができないSE/❌プログラミング苦手/❌設計できない/できることはコピペとスクショ/IT業界歴10年以上の経歴で無能なエンジニアの末路/ブラック企業に在籍していた時の裏話/SES派遣やIT業界の闇などの話を中心にダメ系ITエンジニアのブログを執筆中。

目次