It's now phase 2 of the CR mentioned in Some Updates. As usual, it fits the description of a disaster to a T. And much worse.
September
G has written the specs for this part 2. Unfortunately, he had decided to leave, so we had to finish the development before his last day. I was assigned a portion which read (to-the-like-of) "All the above mentioned actions will be logged". Not wanting history to repeat itself, I read through the specs (kept falling asleep while doing so), looked through the existing code to get an idea of what to expect, before approaching G for a discussion. My work would be on screen A. He demonstrated the events that would be logged. Explained the new table structure. Ok, I can do this.
In less than 2 weeks, we finished the development phase. Checked through my part to ensure it was ok. G showed the PM that the program was working before saying farewell and I went on to do my other CRs on hand.
October
SIT time. In what seems to be the rite of passage, there has to be things left out during development. First discovered was something in G's part, which somehow became I who left it out, and also despite the fact that G's part has been handed over to the TL. At first, I refused to fix it as it looks rather complex (it still looks complex to me even now), but I had to, because TL wasn't free. Burnt a weekend doing this at home.
Next, major issues were discovered with my portion. I didn't discover it during development because I had coded according to my discussion with G, hence to me, those weren't bugs. But when the QC (L, again) and PM both agreed that it's wrong, and G wasn't around anymore, and nothing specific in the specs to back me up, not bug also become bug already right? Anyway, the L and PM also made sense. Whatever.
Then, L thought that it's wrong to always display a particular username "CCC" in the Updated By field in my screens. I reasoned that G instructed me to do so as he wanted to "use it as an indicator", but I didn't know exactly what. I had to write extra code to give what G wanted, so surely I would not go through so much trouble to create a bug deliberately? I agreed it was unnatural, but couldn't give a reason why G wanted it this way. Moreover, it's a bad idea to use a username as an indicator in code. Ok lor, remove my special logic in my portion, G's portion, TL's portion, so so so many places zzz. Removing is easy, testing through is the headache.
Then, it was discovered that my portion wasn't implemented on screen B. In my discussion with G, it was never mentioned that I had to do so, but on the other hand, if I had read the specs really carefully and digested like a cow, I would have understood that it's implied. The table structure couldn't quite cater for this scenario too, so TL suggested adding a new column. 1 new column is no joke. I had to give my code a good revamp and make changes in many places that the ripples spread to. Easy to write the behavior on paper, but hard to translate to code. I don't know why, but it's hard to get it right.
It's already nearly UAT and we were still encountering major issues. Very worrisome.
It didn't help that L and TL don't quite like each other. TL merely told L to get off my back and let me code in peace, albeit not in a very nice tone. L got offended and quarrelled with him. Then later they came separately to ask me if I felt the other party was rude -_-;;
Then L discovered bugs from phase 1, done by G, and said that I broke the code. WHAT LOR! Cannot be her venerable idol, must be me right? No point setting the record straight here, because I can imagine L saying "You should have checked through everything first!".
L (and the PM too) once lamented that they wished G were still here. Nice guy, very few bugs, not forgetting the ultra smooth UAT in phase 1. True that he's nice, I like him too, but I cannot thank him for what's happening now.
I was still very 不甘愿 over the username thing. Searched through the phase 1 specs and found a page that describes the special username "CCC" and some special behavior of the screen that I was accused of "breaking". I also had a guess for why G wanted it this way. But I didn't bring this to the PM's attention.
1) I stayed late in office to fix those "bugs". I don't want to stay late again to put them back.
2) Now everybody is happy about the amended behavior. Users also didn't seem to remember what they had signed off in the specs.
3) Sometimes we do not follow the specs 100%. Make changes ourselves that we feel are better. This could be one of them.
4) I don't want to be scolded for "How come you don't know the specs well?", as if I'm the only one who doesn't know the specs well.
So there, I know can already. If the users ever discover it later, it would be a production bug. Can fix later. Not now. No time.
In the middle of UAT, it was discovered that my portion wasn't implemented on screen C. Same thing as screen B, not discussed, but I should have realized it's implied if I had read the specs really carefully and digested like a cow. But this time, it's more complicated because the table structure didn't cater to screen C at all. Jialat lor.
I think this is why I had so much trouble with my portion. Bad design! Or rather, I suspect that G never designed it for screens B and C at all. So now, they got a 神 to redesign that table and code. I'm now playing adviser to 神 for the business logic, haven't felt so free for so long!
Now my memory of October 2008 is work, work, weekends also work... sigh.
Sneaky sotong hiding behind her machine. No photos of sotongs and related beings here. Stop trying.
Wednesday, October 29, 2008
Thursday, October 02, 2008
Earthquake!
Was walking to the toilet at work when I heard a very loud bang coming from somewhere near me, like somebody using a hammer to hit violently on tiles. Being a kaypoh, I stopped to look where it could have come from, although I wasn't wearing my specs and couldn't see details clearly beyond 3m.
And I was glad that I did. The floor tiles were cracking and popping up right in front of me! If I had not been a kaypoh, they would have been exploding right under my feet!

The next day, the building management cordoned the area off. But that's all they have done so far. It's been 3 weeks already. Is it so hard to find a few tiles of the same color and texture and stick them back? Anyway, on my floor alone, there were a few other areas with tiles on the verge of popping out. They should just stockpile tiles now, unless they want to renovate the whole place.
And I was glad that I did. The floor tiles were cracking and popping up right in front of me! If I had not been a kaypoh, they would have been exploding right under my feet!
The next day, the building management cordoned the area off. But that's all they have done so far. It's been 3 weeks already. Is it so hard to find a few tiles of the same color and texture and stick them back? Anyway, on my floor alone, there were a few other areas with tiles on the verge of popping out. They should just stockpile tiles now, unless they want to renovate the whole place.
Subscribe to:
Posts (Atom)