COBOL脳の恐怖

あるSIerの下請けをしていたときの事でした。

RDBMSをつかったよくあるWebシステムの開発だったのですが、休日などのマスターテーブルのを編集する画面の設計書に「レコード番号」という項目があるのを見つけて唖然としました。

RDBMSを使ったシステムでいまどきレコード番号はねぇだろ!!とおもいつつ、このレコード番号を削除してもいいか相談しにいったら、「いや、客が言ってるからレコード番号は必要なんだ」とか、「レコード番号で管理するとデメリットがどうだ」とかで、1時間くらい時間が無駄になりました。
結局レコード番号は無しになったけど。


もし、客からの指示だったとしても、マスタテーブルのレコード番号での管理はやめるべきです。
特にレコードが重複して存在したら困るようなマスタテーブルでならなおさらです。
素直に主キーを使って管理していれば、余計なコーディングをする手間も、バグを作り込むリスクもないのです。


そのプロジェクトでは設計書の担当はSIerで、実装・テストがウチの会社の担当だったのですが、設計書には細かい部分の振る舞いはほとんど書かれおらず、仕方なく行間を読んで実装するしかなかったのでした。

しかも、最後まで仕様変更が続いていました。
まるでウォーターフォールアジャイルの悪いところだけ抽出して濃縮還元したようなプロジェクトでした。


たまたまあたったSIerが悪かっただけと思いたい。ちゃんと設計してくれるSIerもあるでしょう。
ただ、RDBMSを使ったシステムで、マスタテーブルをレコード番号で管理するなんて設計をしているようなSIerに言っておきたい。
仕様書の作成から、実装、テストまで外部の人間に頼っていて、設計力があるって言えるの?