日々学習〜人の役に立てるITエンジニアを目指して〜

ITエンジニアが日々学んだ事を書き記します

デスマーチを経験して感じたこと

2月から3月にかけて一か月休みのない状態が続いた。

いわゆるデスマーチに陥ってしまった。

精神的にも肉体的にもつらい状況だが、ようやく

落ち着きつつあるので、振り返る意味でも感じたことを書こうと思う。

 

[プロジェクトの概要]

会員管理システムのリニューアル

既存システムのリニューアル。

機能数は約300。

リニューアルではあったが、半分ぐらいは新機能の追加だった。

期間は約1年半。

ベンダーが間に入った2次請。

 

[デスマーチ]

本稼働後に多くの不具合が発生し、

日中に対応できず、夜間の対応に追われ

泊まり込み、休日出勤が続いた。

 

[デスマーチが起こった原因]

・テストが不十分

 期間はそれほどきつくはなかったはずだったが、

 スケジュールが押してしまい、作るのがやっとで

 単体テストもままならなかった。

・業務を分かっているメンバーが少なかった。

 旧システムを知っているメンバーが少なく、

 業務自体を理解せずにプログラムを作成したため、

 運用に沿ったテストが行えなかった。

・受け入れテストの期間不足

 ベンダーの受け入れテストがほとんどなく、

 本格的に受け入れテストが行われたのは約1週間前。

・修正作業が夜間になった

 日中に発生した不具合の対応が翌日までに対応しなければ

 ならないことが多く、夜間作業になった。

 プログラムを修正後、ベンダーに確認を取ってもらうため

 そこでも時間がかかってしまった。

[反省点]

・スケジュールが遅れ気味になった時に対策を打てなかった。

 期間が長かったので途中で立て直すチャンスはあったと思う。

・業務を理解したテストを行えなかった。

 本稼働後に発生した不具合のほとんどが業務を理解して

 テストできていれば防げたものが多かった。

・優先度の切り分けができなかった。

 ベンダーがはいっているため、不具合の優先度が

 分かりにくかった。すべてが急ぎでやらなければならないような

 状況に陥った。

 

[今後に向けて]

一か月休みのない状態になったのは初めての経験だったし、

二度とこのような経験はしたくない。

そのためにも今後このようなことがないように

今回の反省を生かしたい。

・スケジュールの遅れが発生したら早めにチェックする

・業務を理解したテスト、テスト仕様書の作成を行う

・受け入れテストについてベンダーと話し合う

 →今回はあいまいになっていたが、受け入れテストなしには

  うまくいかない。一括でまとめて受け入れテストを行うのは

  労力がかかるが、機能のカテゴリごとに分割してやってもらうことを

  提案したい。

とにかく思ったのはテストの不十分さ。

単体レベルでテストできたとしても業務に即した

動きになっているかをテストしないとテストとしては不完全。