旧システムから新システムに移行する時、もし旧システムにバグがあって、新システムで直ってると、新システムにバグをわざわざ実装するという話。→「寝た子は起こすな」

これを機に…というのもある
60
ナオツ@駆け出し仮想通貨botter @naotsu_log

SIer時代にCOBOL→Javaのリプレイスやったんだけど、必ず登場するテストが「現新比較」。 旧システムと新システムで同じデータ食わせて、同じ結果が返ってくればOK。 もし旧システムにバグがあって、新システムで直ってると、テストはNG。 どうするか? 新システムでバグを実装します(実話)

2022-02-12 19:05:57

感想

StarQ5002 @SQ5002

@NaotsuguSomeya 僕もシステムリプレイス時に、やった経験あります。

2022-02-12 22:04:15
mania3bb @mania3bb2007

@NaotsuguSomeya うっかりバグを直すと、他の全然関係ないところに影響が出る可能性もあるし、実は政治的な理由や、当時のなんらかの事情の結果として、そうなっている可能性も考えられます。 直したところでお金がもらえるわけではないのに、面倒なことになる可能性だけはあって、デメリットしかないんですよね・・・

2022-02-13 12:27:34
すっすー|S 𝕏 S 𝕏(3/31 エデン蒲田) @eieio81810

@NaotsuguSomeya すごく笑顔になりました。 あ、これバグだ!って思いながら実装するときの心の荒廃感が思い浮かぶようです。

2022-02-13 12:44:00
HISA @hisaeagle

@NaotsuguSomeya まぁ元請けやPMのスタンスにもよると思いますよ 自分も現新突合しましたが 新側で差異が出る レポート書いて比較結果と合わせて提出して 新は旧の変なロジック組み込まずそのままでしたよ

2022-02-13 12:52:17
avocado🇺🇦 @avocado_tw

@NaotsuguSomeya @ATM_09_TD 現新比較中にバグに遭遇する事はあるあるデスね😊。 システムリプレイスは保守とスコープが違うので、システムリプレイスチー厶ではそのままにしておいて、保守チームでfixしているはずですよ。

2022-02-13 13:13:22
AKG@2月は逃げる3月は猿🐒 @akgamgakg

@NaotsuguSomeya 同じく、経験あり大手食品業 四捨五入の丸誤差のバグ 右と左が合わないはずだよ、、仕様書も正しいとはいえないからCOBOLのソースが正 なんだかなぁーと思いながらJava側を合わせたました。

2022-02-13 13:30:30
hideki@鉄分多め @yossy52

@NaotsuguSomeya 同じようにバグを実装したことあります。 例外発生するところまで同じように。。。

2022-02-13 13:44:56
luke yuzo @togoshicom

@NaotsuguSomeya そうなるとバグというよりも仕様と言った方が近い。 真面目な話で。

2022-02-13 13:54:26
MURAKAMI Ken@レガシー園児ニア @kizetubutter

@NaotsuguSomeya 連携先がバグ前提で動いてるから直せなかったりする。シンプルなものだと単純にフラグの0/1が逆転してるとか。他だと素直に考えてバグと判断できるけどホントにバグかどうかは誰にも確定できないとか。よって現新比較のみが判断基準になる。

2022-02-13 14:06:25
カピバラ社畜 @SyatikuCapibara

@NaotsuguSomeya ただ現行互換を考えればこうなるしかなくて、正しい仕様がわからない以上、逆に結果を変えることはできない。下手に変えてどこかで処理結果異常や差分が出て業務止まったらこっちの全責任になるからこうなるしかない。

2022-02-13 14:18:32
げんさん@流しのアジャイルサムライ @GHEN_HANDYMEN

@NaotsuguSomeya 現新比較でそんなの見つけたら絶好の機会と喜ぶのに… その背景に興味があります。 推測ですが、「バブル時代に、建物建てる時に遺跡見つけたら黙って埋めてた」のと同じ心理な気がする

2022-02-13 14:32:30
コム=タン @comtang_7

@NaotsuguSomeya それはモヤモヤしますね、そこは臨機応変に気づいた点として記録に残して修正したいですね笑

2022-02-13 15:43:16
横田洋人 @attoi

@NaotsuguSomeya テスト範囲の外側のシステムに、バクをひっくり返す処理が入っている可能性も否定できないので、判断が難しいところですね。

2022-02-13 17:01:56
rero @rero_carnelian

@GHEN_HANDYMEN @NaotsuguSomeya そのバグ直して終わりならいいけど、バグ直した結果生じた非互換性で他のシステムとの結合で不具合が出るかもしれんし、出ないことを保証するための検証もやりきれんからじゃね?

2022-02-13 15:01:23
T.Sax@ES @T_SaX_From_Tp

現行と同じにするためのバグの実装やったことありますよ。 ぇ?これ普通ですよね?🤔 twitter.com/NaotsuguSomeya…

2022-02-13 17:09:31

中でどう繋がってるかわからないから

Youma @UiMS_

あるあるなんだけど、 新システムにバグを搭載させるのが吉。 よかれと思ってもダメ。 リプレイスはリプレイスで区切って、 改善改修は改善改修で行う。 切り分けなきゃダメ。 twitter.com/NaotsuguSomeya…

2022-02-13 17:02:06
ほえほえ@スプシマン @hoehoe1234

その時点ではそのようにすると思います。そしてリプレイス後の次期開発で影響範囲を調査してから直すような問題なんだと思います。これは業務に限らず、MSの製品などでもそうなっています。リプレイス時とその後の開発を分けて考えるのが定石かと。 twitter.com/NaotsuguSomeya…

2022-02-13 16:57:50
火星人 @dispelmagic

出来るところなら一旦、バグありで仕上げて承認貰って改善で追加発注かな。 マイグレーション中に修正しちゃうと検証に時間がかかるんだよなあ。 一辺に出来るもんじゃあ無いのよね。 twitter.com/NaotsuguSomeya…

2022-02-13 16:51:42
すみ@エンジニア迷走中 @sumi35_s

この手のリプレースはよくやりました😅 バグ直すとなると設計から始めないといけないからスケジュール収まらないんですよね... 「俺が設計書だ!」みたいな人がいないと絶対納品間に合わない twitter.com/NaotsuguSomeya…

2022-02-13 16:47:56