あるプロジェクトのヘルプに入った。リリースはまだ先ではあるが、工程的に遅れているからだ。現在は結合テストに入ろうとする段階である。

ヘルプで入ってテストをたんとしたのだが、その中でいくらか「あらあら」と思うネタがあるので少しアップしていこうと思う。

 

担当はバッチ処理。まず、テスト仕様書がまともにできていなかったので(応援に来た新人に作らせて、レビューなし状態だった・・)設計書を見てテストケースを起こしなおしていた。

その時に、「ん?これは何をしたいのかな?」と疑問を感じる仕様があった。実装はどうなっているのだろう?とどういう実装をしたかを確認させていただいた。

40才も過ぎているだろうエンジニアに確認したところ「仕様にある通りに実装した」とのこと。え?私が時代遅れなのかな?と思ってへこみつつ、設計書から読み取れる「このケースのときはどういう結果が期待値か」を丁寧に聞いていった。すると、結局設計者に尋ねるのが面倒でとりあえず書いてあるらしきことをそのまま実装した、ということだった。

 

設計者に確認したら非を認めてもう少しわかりやすく設計書を書き換えてくれた。

 

しかし、そういう確認は実装者が確認することではなかったのか?上流工程の担当によって差異はあるものの、仕様書がものすごくわかりやすくて設計ミスがない、なんてことは通常ない。

仕様ってそういうものなのだ。間違いもあれば不十分なこともある。あいまいな部分が実装時に明らかになることも結構ある。

 

その仕様をそのまま実装する、という感覚が、日本のソフトウェアの品質を下げているのではないか、という気がしてならない。