
属人化されたソフトウェア品質と第三者によるテストの重要性
受託システム開発会社で起こった品質問題
その会社では当時、ある中小企業から業務システムのスクラッチ開発を一括受注しました。開発体制は5名程度、期間6か月ほどのウォーターフォール型の開発でした。結論から先に言ってしまうと、まともに動作しない不良システムが出来上がってしまったのです。顧客からは、「要望と違う」「動作が遅い」「使いものにならない」、など大量のクレームが発生している状況でした。
なぜ途中で問題が発覚しなかったのでしょうか。調査してみると、開発チームでは単体、結合テストは実施していましたが、システムテストを実施していませんでした。後の受入れテストで大量の仕様ミスやバグが発見され、改修しきれないほどの状態だと後の調査で判明しました。
丸投げ体質
なぜ、このようなことが起こったのでしょうか。一つは、プロジェクトリーダーに全責任を一任し、第3者がチェックする仕組みがなかったことがあります。このプロジェクトリーダーは以前にも品質トラブルを起こしていましたが、会社は彼にプロジェクトを一任していました。この会社はきちんと品質基準やルールを設けていましたが、実態は形骸化していました。
そして問題発覚後、そのプロジェクトリーダーは逃げるように会社を退職していきました。
まとめ
極端な例ですが本当にあった話です。そんなこと起きるはずがないと言い切れるのなら大丈夫もしれませんが、特定の人に権限や責任が集中していないか、第3者によるテストや品質チェック体制の重要性を改めて考えさせられます。