On Monday, Colin was struggling to recreate a bug even though he had recreated it on Friday. I knew he had been struggling for a few hours, so I decided to go over and talk to him. I always love a challenge of recreating obscure bugs.
He gave me a quick demo of what he was doing, and gave me a quick glimpse of the code.
I went back to my desk, and within minutes, I had successfully recreated it. Then I asked him what the difference was between my version, the version he recreated on, and the version he was struggling to recreate on. I knew my version was a version or so behind. The test environment he had previously recreated it on could have been updated Monday morning. So it seemed the simplest explanation is that someone had already checked in a fix sometime on Friday.
Then I remembered part of the code he had showed me, and thought that one of the methods sounds like it takes this scenario into account. So I ask Colin to show me the code again. I read the code.
Timeinints: “That code should stop this issue from happening. “Who wrote it?”.
So Colin annotates it. The annotation states “Local”
Timeinints: “Colin, you wrote that code”
Colin: “Did I? I don’t remember.” He stares at it for a few seconds. “Oh actually, I did write that as a speculative fix, but then I couldn’t test it out at the time”.
So he had spent most of Monday trying to recreate an issue he had already fixed on the Friday. He just didn’t remember fixing it.